aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2014-07-18 15:00:53 +0100
committerMichael Williamson <mike@zwobble.org>2014-07-18 15:00:53 +0100
commitfe8918642d9d95bbc099993b96e845bdc17215e1 (patch)
treee0b7be441a816beec94faaa2b51141ac40cc51f4
parentdc42c949f63688ebc953d0427d86c0771dd52f05 (diff)
Ignore underline by default
-rw-r--r--lib/document-to-html.js6
-rw-r--r--lib/index.js1
-rw-r--r--lib/underline.js10
-rw-r--r--tests/document-to-html.tests.js19
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>");
});
});