diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-04-01 12:55:21 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-04-01 12:55:21 +0100 |
| commit | ad75779025dd2fdae2eab851e1be1c6e5b8955ef (patch) | |
| tree | 087f2c0d5db242347096c05808ece9f340f4f94a /lib | |
| parent | c9f133942a541fbcae95720b5b0480b94e36c00f (diff) | |
Generate HTML for bold elements
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/documents.js | 14 | ||||
| -rw-r--r-- | lib/html-generator.js | 14 |
2 files changed, 24 insertions, 4 deletions
diff --git a/lib/documents.js b/lib/documents.js index eebd607..ba2e8ec 100644 --- a/lib/documents.js +++ b/lib/documents.js @@ -46,15 +46,23 @@ function DocumentConverter(options) { function styleForParagraph(element) { return paragraphStyleMap[element.properties.styleName] || defaultParagraphStyle; } + + function convertRun(run, html) { + var runHtml = new HtmlGenerator(); + if (run.properties.isBold) { + runHtml.style(styles.elements(["strong"])); + } + convertElements(run.children, runHtml); + runHtml.closeAll(); + html.append(runHtml); + } var elementConverters = { "document": function(document, html) { convertElements(document.children, html); }, "paragraph": convertParagraph, - "run": function(element, html) { - convertElements(element.children, html); - }, + "run": convertRun, "text": function(element, html) { html.text(element.value); } diff --git a/lib/html-generator.js b/lib/html-generator.js index af6cedc..38e3619 100644 --- a/lib/html-generator.js +++ b/lib/html-generator.js @@ -21,6 +21,15 @@ function HtmlGenerator() { return fragments.join(""); } + function append(otherHtmlGenerator) { + if (otherHtmlGenerator._fragments.length > 0) { + writeAll(); + } + otherHtmlGenerator._fragments.forEach(function(fragment) { + fragments.push(fragment); + }); + } + function style(style) { var firstFreshPartIndex = findIndex(style, function(part) { return part.fresh; @@ -82,7 +91,10 @@ function HtmlGenerator() { return { style: style, text: text, - asString: asString + closeAll: popAll, + asString: asString, + append: append, + _fragments: fragments }; } |
