aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-01 12:55:21 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-01 12:55:21 +0100
commitad75779025dd2fdae2eab851e1be1c6e5b8955ef (patch)
tree087f2c0d5db242347096c05808ece9f340f4f94a /lib
parentc9f133942a541fbcae95720b5b0480b94e36c00f (diff)
Generate HTML for bold elements
Diffstat (limited to 'lib')
-rw-r--r--lib/documents.js14
-rw-r--r--lib/html-generator.js14
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
};
}