diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-02 17:56:07 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-02 17:56:07 +0100 |
| commit | 3433c9bfcc62c095d96af81df9a742e98b582715 (patch) | |
| tree | e497febb6cd2859294d074be319a6890d9b3a835 /README.md | |
| parent | b0c2003c41431443412b451a679a4f1493feacc6 (diff) | |
Change document transforms to create copies of elements
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -461,16 +461,25 @@ You can use the `transformDocument` argument to modify the document appropriatel ```javascript function transformElement(element) { if (element.children) { - element.children.forEach(transformElement); + var children = _.map(element.children, transformElement); + element = extend(element, {children: children}); } + if (element.type === "paragraph") { - if (element.alignment === "center" && !element.styleId) { - element.styleId = "Heading2"; - } + element = transformParagraph(element); } + return element; } +function transformParagraph(element) { + if (element.alignment === "center" && !element.styleId) { + return extend(element, {styleId: "Heading2"}); + } else { + return element; + } +} + var options = { transformDocument: transformElement }; @@ -481,12 +490,12 @@ The return value of `transformDocument` is used during HTML generation. The above can be written more succinctly using the helper `mammoth.transforms.paragraph`: ```javascript - function transformParagraph(element) { if (element.alignment === "center" && !element.styleId) { - element.styleId = "Heading2"; + return extend(element, {styleId: "Heading2"}); + } else { + return element; } - return element; } var options = { |
