diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/document-to-html.js | 14 | ||||
| -rw-r--r-- | lib/styles/document-matchers.js | 5 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/document-to-html.js b/lib/document-to-html.js index 0dac05e..8d1078b 100644 --- a/lib/document-to-html.js +++ b/lib/document-to-html.js @@ -219,7 +219,17 @@ function DocumentConversion(options, comments) { return idPrefix + suffix; } + var defaultTablePath = htmlPaths.elements([ + htmlPaths.element("table", {}, {fresh: true}) + ]); + function convertTable(element, messages, options) { + return findHtmlPath(element, defaultTablePath).wrap(function() { + return convertTableChildren(element, messages, options); + }); + } + + function convertTableChildren(element, messages, options) { var bodyIndex = _.findIndex(element.children, function(child) { return !child.type === documents.types.tableRow || !child.isHeader; }); @@ -249,9 +259,7 @@ function DocumentConversion(options, comments) { Html.freshElement("tbody", {}, bodyRows) ]; } - return [ - Html.freshElement("table", {}, [Html.forceWrite].concat(children)) - ]; + return [Html.forceWrite].concat(children); } function convertTableRow(element, messages, options) { diff --git a/lib/styles/document-matchers.js b/lib/styles/document-matchers.js index e3cae46..11b577f 100644 --- a/lib/styles/document-matchers.js +++ b/lib/styles/document-matchers.js @@ -1,5 +1,6 @@ exports.paragraph = paragraph; exports.run = run; +exports.table = table; exports.bold = new Matcher("bold"); exports.italic = new Matcher("italic"); exports.underline = new Matcher("underline"); @@ -21,6 +22,10 @@ function run(options) { return new Matcher("run", options); } +function table(options) { + return new Matcher("table", options); +} + function Matcher(elementType, options) { options = options || {}; this._elementType = elementType; |
