diff options
| author | Michael Williamson <mike@zwobble.org> | 2014-07-18 15:00:53 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2014-07-18 15:00:53 +0100 |
| commit | fe8918642d9d95bbc099993b96e845bdc17215e1 (patch) | |
| tree | e0b7be441a816beec94faaa2b51141ac40cc51f4 | |
| parent | dc42c949f63688ebc953d0427d86c0771dd52f05 (diff) | |
Ignore underline by default
| -rw-r--r-- | lib/document-to-html.js | 6 | ||||
| -rw-r--r-- | lib/index.js | 1 | ||||
| -rw-r--r-- | lib/underline.js | 10 | ||||
| -rw-r--r-- | tests/document-to-html.tests.js | 19 |
4 files changed, 24 insertions, 12 deletions
diff --git a/lib/document-to-html.js b/lib/document-to-html.js index 35fb3e6..d5be742 100644 --- a/lib/document-to-html.js +++ b/lib/document-to-html.js @@ -100,12 +100,12 @@ function DocumentConversion(options) { if (run.isBold) { runHtml.open(htmlPaths.element("strong")); } - if (run.isUnderline) { - runHtml.open(htmlPaths.element("u")); - } if (run.isItalic) { runHtml.open(htmlPaths.element("em")); } + if (run.isUnderline && options.convertUnderline) { + options.convertUnderline(runHtml); + } convertElements(run.children, runHtml, messages, function(err) { if (err) { callback(err); diff --git a/lib/index.js b/lib/index.js index a6962b3..42ce828 100644 --- a/lib/index.js +++ b/lib/index.js @@ -7,6 +7,7 @@ exports.convertToHtml = convertToHtml; exports.extractRawText = extractRawText; exports.images = require("./images"); exports.transforms = require("./transforms"); +exports.underline = require("./underline"); function convertToHtml(input, options) { var fullOptions = readOptions(options); diff --git a/lib/underline.js b/lib/underline.js new file mode 100644 index 0000000..17448e8 --- /dev/null +++ b/lib/underline.js @@ -0,0 +1,10 @@ +var htmlPaths = require("./html-paths"); + + +exports.element = element; + +function element(name) { + return function(html) { + html.open(htmlPaths.element(name)); + }; +} diff --git a/tests/document-to-html.tests.js b/tests/document-to-html.tests.js index e8d6d27..4bdc43c 100644 --- a/tests/document-to-html.tests.js +++ b/tests/document-to-html.tests.js @@ -1,6 +1,7 @@ var assert = require("assert"); var promises = require("../lib/promises"); +var mammoth = require("../lib"); var documents = require("../lib/documents"); var DocumentConverter = require("../lib/document-to-html").DocumentConverter; var test = require("./testing").test; @@ -139,21 +140,21 @@ describe('DocumentConverter', function() { }); }); - test('underline runs are wrapped in <u> tags', function() { + test('underline runs are ignored by default', function() { var run = runOfText("Hello.", {isUnderline: true}); var converter = new DocumentConverter(); return converter.convertToHtml(run).then(function(result) { - assert.equal(result.value, "<u>Hello.</u>"); + assert.equal(result.value, "Hello."); }); }); - - test('underline runs can exist inside other tags', function() { - var run = new documents.Paragraph([ - runOfText("Hello.", {isUnderline: true}) - ]); - var converter = new DocumentConverter(); + + test('underline runs can be wrapped in <u> tags', function() { + var run = runOfText("Hello.", {isUnderline: true}); + var converter = new DocumentConverter({ + convertUnderline: mammoth.underline.element("u") + }); return converter.convertToHtml(run).then(function(result) { - assert.equal(result.value, "<p><u>Hello.</u></p>"); + assert.equal(result.value, "<u>Hello.</u>"); }); }); |
