@fiduswriter/document 0.1.0-alpha.4 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bibliography/common.d.ts +9 -91
- package/dist/bibliography/common.d.ts.map +1 -1
- package/dist/bibliography/common.js +3 -2
- package/dist/bibliography/common.js.map +1 -1
- package/dist/bibliography/csl_bib.d.ts +1 -1
- package/dist/bibliography/csl_bib.d.ts.map +1 -1
- package/dist/bibliography/csl_bib.js +7 -7
- package/dist/bibliography/csl_bib.js.map +1 -1
- package/dist/citations/citeproc_sys.d.ts +9 -10
- package/dist/citations/citeproc_sys.d.ts.map +1 -1
- package/dist/citations/citeproc_sys.js +6 -1
- package/dist/citations/citeproc_sys.js.map +1 -1
- package/dist/citations/format.d.ts +33 -16
- package/dist/citations/format.d.ts.map +1 -1
- package/dist/citations/format.js +29 -4
- package/dist/citations/format.js.map +1 -1
- package/dist/editor/e2ee/encryptor.d.ts +35 -35
- package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
- package/dist/editor/e2ee/encryptor.js +31 -31
- package/dist/editor/e2ee/encryptor.js.map +1 -1
- package/dist/exporter/docx/citations.d.ts +27 -17
- package/dist/exporter/docx/citations.d.ts.map +1 -1
- package/dist/exporter/docx/citations.js +24 -7
- package/dist/exporter/docx/citations.js.map +1 -1
- package/dist/exporter/docx/comments.d.ts +15 -11
- package/dist/exporter/docx/comments.d.ts.map +1 -1
- package/dist/exporter/docx/comments.js +47 -14
- package/dist/exporter/docx/comments.js.map +1 -1
- package/dist/exporter/docx/footnotes.d.ts +36 -31
- package/dist/exporter/docx/footnotes.d.ts.map +1 -1
- package/dist/exporter/docx/footnotes.js +46 -12
- package/dist/exporter/docx/footnotes.js.map +1 -1
- package/dist/exporter/docx/images.d.ts +23 -12
- package/dist/exporter/docx/images.d.ts.map +1 -1
- package/dist/exporter/docx/images.js +35 -20
- package/dist/exporter/docx/images.js.map +1 -1
- package/dist/exporter/docx/index.d.ts +11 -17
- package/dist/exporter/docx/index.d.ts.map +1 -1
- package/dist/exporter/docx/index.js +15 -7
- package/dist/exporter/docx/index.js.map +1 -1
- package/dist/exporter/docx/lists.d.ts +27 -22
- package/dist/exporter/docx/lists.d.ts.map +1 -1
- package/dist/exporter/docx/lists.js +77 -30
- package/dist/exporter/docx/lists.js.map +1 -1
- package/dist/exporter/docx/math.d.ts +9 -9
- package/dist/exporter/docx/math.d.ts.map +1 -1
- package/dist/exporter/docx/math.js +22 -5
- package/dist/exporter/docx/math.js.map +1 -1
- package/dist/exporter/docx/metadata.d.ts +12 -9
- package/dist/exporter/docx/metadata.d.ts.map +1 -1
- package/dist/exporter/docx/metadata.js +59 -26
- package/dist/exporter/docx/metadata.js.map +1 -1
- package/dist/exporter/docx/rels.d.ts +14 -12
- package/dist/exporter/docx/rels.d.ts.map +1 -1
- package/dist/exporter/docx/rels.js +37 -22
- package/dist/exporter/docx/rels.js.map +1 -1
- package/dist/exporter/docx/render.d.ts +17 -15
- package/dist/exporter/docx/render.d.ts.map +1 -1
- package/dist/exporter/docx/render.js +37 -31
- package/dist/exporter/docx/render.js.map +1 -1
- package/dist/exporter/docx/richtext.d.ts +8 -8
- package/dist/exporter/docx/richtext.d.ts.map +1 -1
- package/dist/exporter/docx/richtext.js +61 -43
- package/dist/exporter/docx/richtext.js.map +1 -1
- package/dist/exporter/docx/tables.d.ts +11 -9
- package/dist/exporter/docx/tables.d.ts.map +1 -1
- package/dist/exporter/docx/tables.js +16 -10
- package/dist/exporter/docx/tables.js.map +1 -1
- package/dist/exporter/docx/tools.d.ts +3 -2
- package/dist/exporter/docx/tools.d.ts.map +1 -1
- package/dist/exporter/docx/tools.js +3 -3
- package/dist/exporter/docx/tools.js.map +1 -1
- package/dist/exporter/epub/index.d.ts +11 -3
- package/dist/exporter/epub/index.d.ts.map +1 -1
- package/dist/exporter/epub/index.js +10 -3
- package/dist/exporter/epub/index.js.map +1 -1
- package/dist/exporter/epub/templates.d.ts +62 -31
- package/dist/exporter/epub/templates.d.ts.map +1 -1
- package/dist/exporter/epub/templates.js +1 -1
- package/dist/exporter/epub/templates.js.map +1 -1
- package/dist/exporter/epub/tools.d.ts +12 -4
- package/dist/exporter/epub/tools.d.ts.map +1 -1
- package/dist/exporter/epub/tools.js +14 -13
- package/dist/exporter/epub/tools.js.map +1 -1
- package/dist/exporter/html/citations.d.ts +17 -15
- package/dist/exporter/html/citations.d.ts.map +1 -1
- package/dist/exporter/html/citations.js +37 -18
- package/dist/exporter/html/citations.js.map +1 -1
- package/dist/exporter/html/convert.d.ts +20 -70
- package/dist/exporter/html/convert.d.ts.map +1 -1
- package/dist/exporter/html/convert.js +74 -42
- package/dist/exporter/html/convert.js.map +1 -1
- package/dist/exporter/html/index.d.ts +55 -52
- package/dist/exporter/html/index.d.ts.map +1 -1
- package/dist/exporter/html/index.js +23 -3
- package/dist/exporter/html/index.js.map +1 -1
- package/dist/exporter/html/templates.d.ts +23 -9
- package/dist/exporter/html/templates.d.ts.map +1 -1
- package/dist/exporter/html/templates.js +1 -1
- package/dist/exporter/html/templates.js.map +1 -1
- package/dist/exporter/html/tools.d.ts +1 -1
- package/dist/exporter/html/tools.d.ts.map +1 -1
- package/dist/exporter/html/tools.js +2 -2
- package/dist/exporter/html/tools.js.map +1 -1
- package/dist/exporter/jats/bibliography.d.ts +2 -1
- package/dist/exporter/jats/bibliography.d.ts.map +1 -1
- package/dist/exporter/jats/bibliography.js +57 -52
- package/dist/exporter/jats/bibliography.js.map +1 -1
- package/dist/exporter/jats/citations.d.ts +13 -11
- package/dist/exporter/jats/citations.d.ts.map +1 -1
- package/dist/exporter/jats/citations.js +28 -6
- package/dist/exporter/jats/citations.js.map +1 -1
- package/dist/exporter/jats/convert.d.ts +24 -28
- package/dist/exporter/jats/convert.d.ts.map +1 -1
- package/dist/exporter/jats/convert.js +53 -36
- package/dist/exporter/jats/convert.js.map +1 -1
- package/dist/exporter/jats/index.d.ts +21 -15
- package/dist/exporter/jats/index.d.ts.map +1 -1
- package/dist/exporter/jats/index.js +21 -5
- package/dist/exporter/jats/index.js.map +1 -1
- package/dist/exporter/jats/templates.d.ts +17 -15
- package/dist/exporter/jats/templates.d.ts.map +1 -1
- package/dist/exporter/jats/templates.js.map +1 -1
- package/dist/exporter/jats/text.d.ts +3 -2
- package/dist/exporter/jats/text.d.ts.map +1 -1
- package/dist/exporter/jats/text.js +4 -4
- package/dist/exporter/jats/text.js.map +1 -1
- package/dist/exporter/latex/convert.d.ts +12 -15
- package/dist/exporter/latex/convert.d.ts.map +1 -1
- package/dist/exporter/latex/convert.js +70 -54
- package/dist/exporter/latex/convert.js.map +1 -1
- package/dist/exporter/latex/escape_latex.d.ts +1 -1
- package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
- package/dist/exporter/latex/escape_latex.js +1 -1
- package/dist/exporter/latex/escape_latex.js.map +1 -1
- package/dist/exporter/latex/index.d.ts +20 -19
- package/dist/exporter/latex/index.d.ts.map +1 -1
- package/dist/exporter/latex/index.js +15 -5
- package/dist/exporter/latex/index.js.map +1 -1
- package/dist/exporter/latex/readme.d.ts +1 -1
- package/dist/exporter/latex/readme.d.ts.map +1 -1
- package/dist/exporter/latex/readme.js +2 -2
- package/dist/exporter/latex/readme.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +30 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +151 -0
- package/dist/exporter/native/copy.js.map +1 -0
- package/dist/exporter/native/file.d.ts +12 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +38 -0
- package/dist/exporter/native/file.js.map +1 -0
- package/dist/exporter/native/index.d.ts +5 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js +5 -0
- package/dist/exporter/native/index.js.map +1 -0
- package/dist/exporter/native/revision.d.ts +18 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +39 -0
- package/dist/exporter/native/revision.js.map +1 -0
- package/dist/exporter/native/shrink.d.ts +29 -14
- package/dist/exporter/native/shrink.d.ts.map +1 -1
- package/dist/exporter/native/shrink.js +27 -18
- package/dist/exporter/native/shrink.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +25 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js +56 -0
- package/dist/exporter/native/zip.js.map +1 -0
- package/dist/exporter/odt/citations.d.ts +18 -15
- package/dist/exporter/odt/citations.d.ts.map +1 -1
- package/dist/exporter/odt/citations.js +21 -4
- package/dist/exporter/odt/citations.js.map +1 -1
- package/dist/exporter/odt/footnotes.d.ts +25 -19
- package/dist/exporter/odt/footnotes.d.ts.map +1 -1
- package/dist/exporter/odt/footnotes.js +23 -6
- package/dist/exporter/odt/footnotes.js.map +1 -1
- package/dist/exporter/odt/images.d.ts +23 -11
- package/dist/exporter/odt/images.d.ts.map +1 -1
- package/dist/exporter/odt/images.js +34 -26
- package/dist/exporter/odt/images.js.map +1 -1
- package/dist/exporter/odt/index.d.ts +12 -18
- package/dist/exporter/odt/index.d.ts.map +1 -1
- package/dist/exporter/odt/index.js +16 -7
- package/dist/exporter/odt/index.js.map +1 -1
- package/dist/exporter/odt/math.d.ts +10 -8
- package/dist/exporter/odt/math.d.ts.map +1 -1
- package/dist/exporter/odt/math.js +27 -4
- package/dist/exporter/odt/math.js.map +1 -1
- package/dist/exporter/odt/metadata.d.ts +13 -9
- package/dist/exporter/odt/metadata.d.ts.map +1 -1
- package/dist/exporter/odt/metadata.js +36 -15
- package/dist/exporter/odt/metadata.js.map +1 -1
- package/dist/exporter/odt/render.d.ts +17 -15
- package/dist/exporter/odt/render.d.ts.map +1 -1
- package/dist/exporter/odt/render.js +25 -18
- package/dist/exporter/odt/render.js.map +1 -1
- package/dist/exporter/odt/richtext.d.ts +9 -9
- package/dist/exporter/odt/richtext.d.ts.map +1 -1
- package/dist/exporter/odt/richtext.js +55 -40
- package/dist/exporter/odt/richtext.js.map +1 -1
- package/dist/exporter/odt/styles.d.ts +29 -21
- package/dist/exporter/odt/styles.d.ts.map +1 -1
- package/dist/exporter/odt/styles.js +44 -22
- package/dist/exporter/odt/styles.js.map +1 -1
- package/dist/exporter/odt/track.d.ts +14 -7
- package/dist/exporter/odt/track.d.ts.map +1 -1
- package/dist/exporter/odt/track.js +7 -0
- package/dist/exporter/odt/track.js.map +1 -1
- package/dist/exporter/pandoc/citations.d.ts +20 -14
- package/dist/exporter/pandoc/citations.d.ts.map +1 -1
- package/dist/exporter/pandoc/citations.js +18 -4
- package/dist/exporter/pandoc/citations.js.map +1 -1
- package/dist/exporter/pandoc/convert.d.ts +10 -29
- package/dist/exporter/pandoc/convert.d.ts.map +1 -1
- package/dist/exporter/pandoc/convert.js +45 -40
- package/dist/exporter/pandoc/convert.js.map +1 -1
- package/dist/exporter/pandoc/index.d.ts +20 -33
- package/dist/exporter/pandoc/index.d.ts.map +1 -1
- package/dist/exporter/pandoc/index.js +20 -8
- package/dist/exporter/pandoc/index.js.map +1 -1
- package/dist/exporter/pandoc/readme.d.ts +1 -1
- package/dist/exporter/pandoc/readme.d.ts.map +1 -1
- package/dist/exporter/pandoc/readme.js +0 -1
- package/dist/exporter/pandoc/readme.js.map +1 -1
- package/dist/exporter/pandoc/tools.d.ts +21 -5
- package/dist/exporter/pandoc/tools.d.ts.map +1 -1
- package/dist/exporter/pandoc/tools.js +2 -2
- package/dist/exporter/pandoc/tools.js.map +1 -1
- package/dist/exporter/print/index.d.ts +18 -7
- package/dist/exporter/print/index.d.ts.map +1 -1
- package/dist/exporter/print/index.js +12 -10
- package/dist/exporter/print/index.js.map +1 -1
- package/dist/exporter/tools/doc_content.d.ts +5 -6
- package/dist/exporter/tools/doc_content.d.ts.map +1 -1
- package/dist/exporter/tools/doc_content.js +17 -16
- package/dist/exporter/tools/doc_content.js.map +1 -1
- package/dist/exporter/tools/svg.d.ts +7 -1
- package/dist/exporter/tools/svg.d.ts.map +1 -1
- package/dist/exporter/tools/svg.js.map +1 -1
- package/dist/exporter/tools/xml.d.ts +39 -38
- package/dist/exporter/tools/xml.d.ts.map +1 -1
- package/dist/exporter/tools/xml.js +82 -55
- package/dist/exporter/tools/xml.js.map +1 -1
- package/dist/exporter/tools/xml_zip.d.ts +15 -14
- package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
- package/dist/exporter/tools/xml_zip.js +8 -2
- package/dist/exporter/tools/xml_zip.js.map +1 -1
- package/dist/exporter/tools/zip.d.ts +28 -14
- package/dist/exporter/tools/zip.d.ts.map +1 -1
- package/dist/exporter/tools/zip.js +13 -6
- package/dist/exporter/tools/zip.js.map +1 -1
- package/dist/exporter/tools/zotero_csl.d.ts +19 -6
- package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
- package/dist/exporter/tools/zotero_csl.js +9 -9
- package/dist/exporter/tools/zotero_csl.js.map +1 -1
- package/dist/importer/citations.d.ts +25 -22
- package/dist/importer/citations.d.ts.map +1 -1
- package/dist/importer/citations.js +1 -49
- package/dist/importer/citations.js.map +1 -1
- package/dist/importer/docx/citations.d.ts +8 -30
- package/dist/importer/docx/citations.d.ts.map +1 -1
- package/dist/importer/docx/citations.js +1 -26
- package/dist/importer/docx/citations.js.map +1 -1
- package/dist/importer/docx/convert.d.ts +38 -116
- package/dist/importer/docx/convert.d.ts.map +1 -1
- package/dist/importer/docx/convert.js +99 -82
- package/dist/importer/docx/convert.js.map +1 -1
- package/dist/importer/docx/helpers.d.ts +1 -1
- package/dist/importer/docx/helpers.d.ts.map +1 -1
- package/dist/importer/docx/helpers.js +1 -1
- package/dist/importer/docx/helpers.js.map +1 -1
- package/dist/importer/docx/index.d.ts +27 -0
- package/dist/importer/docx/index.d.ts.map +1 -0
- package/dist/importer/docx/index.js +77 -0
- package/dist/importer/docx/index.js.map +1 -0
- package/dist/importer/docx/omml2mathml.d.ts +2 -3
- package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
- package/dist/importer/docx/omml2mathml.js +23 -116
- package/dist/importer/docx/omml2mathml.js.map +1 -1
- package/dist/importer/docx/parse.d.ts +22 -131
- package/dist/importer/docx/parse.d.ts.map +1 -1
- package/dist/importer/docx/parse.js +73 -55
- package/dist/importer/docx/parse.js.map +1 -1
- package/dist/importer/native/extract_template.d.ts +6 -0
- package/dist/importer/native/extract_template.d.ts.map +1 -0
- package/dist/importer/native/extract_template.js +80 -0
- package/dist/importer/native/extract_template.js.map +1 -0
- package/dist/importer/native/file.d.ts +37 -0
- package/dist/importer/native/file.d.ts.map +1 -0
- package/dist/importer/native/file.js +162 -0
- package/dist/importer/native/file.js.map +1 -0
- package/dist/importer/native/get_images.d.ts +18 -8
- package/dist/importer/native/get_images.d.ts.map +1 -1
- package/dist/importer/native/get_images.js +39 -45
- package/dist/importer/native/get_images.js.map +1 -1
- package/dist/importer/native/importer.d.ts +41 -0
- package/dist/importer/native/importer.d.ts.map +1 -0
- package/dist/importer/native/importer.js +170 -0
- package/dist/importer/native/importer.js.map +1 -0
- package/dist/importer/native/index.d.ts +7 -0
- package/dist/importer/native/index.d.ts.map +1 -0
- package/dist/importer/native/index.js +7 -0
- package/dist/importer/native/index.js.map +1 -0
- package/dist/importer/native/update.d.ts +5 -4
- package/dist/importer/native/update.d.ts.map +1 -1
- package/dist/importer/native/update.js +4 -3
- package/dist/importer/native/update.js.map +1 -1
- package/dist/importer/native/update_template.d.ts +12 -0
- package/dist/importer/native/update_template.d.ts.map +1 -0
- package/dist/importer/native/update_template.js +19 -0
- package/dist/importer/native/update_template.js.map +1 -0
- package/dist/importer/odt/citations.d.ts +7 -27
- package/dist/importer/odt/citations.d.ts.map +1 -1
- package/dist/importer/odt/citations.js +0 -22
- package/dist/importer/odt/citations.js.map +1 -1
- package/dist/importer/odt/convert.d.ts +53 -237
- package/dist/importer/odt/convert.d.ts.map +1 -1
- package/dist/importer/odt/convert.js +162 -138
- package/dist/importer/odt/convert.js.map +1 -1
- package/dist/importer/odt/index.d.ts +30 -0
- package/dist/importer/odt/index.d.ts.map +1 -0
- package/dist/importer/odt/index.js +124 -0
- package/dist/importer/odt/index.js.map +1 -0
- package/dist/importer/pandoc/convert.d.ts +25 -77
- package/dist/importer/pandoc/convert.d.ts.map +1 -1
- package/dist/importer/pandoc/convert.js +65 -52
- package/dist/importer/pandoc/convert.js.map +1 -1
- package/dist/importer/pandoc/helpers.d.ts +4 -3
- package/dist/importer/pandoc/helpers.d.ts.map +1 -1
- package/dist/importer/pandoc/helpers.js +24 -26
- package/dist/importer/pandoc/helpers.js.map +1 -1
- package/dist/importer/pandoc/index.d.ts +31 -0
- package/dist/importer/pandoc/index.d.ts.map +1 -0
- package/dist/importer/pandoc/index.js +114 -0
- package/dist/importer/pandoc/index.js.map +1 -0
- package/dist/importer/registry.d.ts +21 -0
- package/dist/importer/registry.d.ts.map +1 -0
- package/dist/importer/registry.js +41 -0
- package/dist/importer/registry.js.map +1 -0
- package/dist/importer/zip_analyzer.d.ts +27 -21
- package/dist/importer/zip_analyzer.d.ts.map +1 -1
- package/dist/importer/zip_analyzer.js +10 -5
- package/dist/importer/zip_analyzer.js.map +1 -1
- package/dist/mathlive/opf_includes.d.ts +1 -1
- package/dist/mathlive/opf_includes.d.ts.map +1 -1
- package/dist/mathlive/opf_includes.js.map +1 -1
- package/dist/schema/common/annotate.d.ts +37 -49
- package/dist/schema/common/annotate.d.ts.map +1 -1
- package/dist/schema/common/annotate.js +2 -2
- package/dist/schema/common/annotate.js.map +1 -1
- package/dist/schema/common/base.d.ts +63 -81
- package/dist/schema/common/base.d.ts.map +1 -1
- package/dist/schema/common/base.js.map +1 -1
- package/dist/schema/common/citation.d.ts +23 -22
- package/dist/schema/common/citation.d.ts.map +1 -1
- package/dist/schema/common/citation.js +4 -5
- package/dist/schema/common/citation.js.map +1 -1
- package/dist/schema/common/equation.d.ts +13 -14
- package/dist/schema/common/equation.d.ts.map +1 -1
- package/dist/schema/common/equation.js +1 -1
- package/dist/schema/common/equation.js.map +1 -1
- package/dist/schema/common/figure.d.ts +72 -93
- package/dist/schema/common/figure.d.ts.map +1 -1
- package/dist/schema/common/figure.js +11 -9
- package/dist/schema/common/figure.js.map +1 -1
- package/dist/schema/common/heading.d.ts +8 -32
- package/dist/schema/common/heading.d.ts.map +1 -1
- package/dist/schema/common/heading.js +2 -2
- package/dist/schema/common/heading.js.map +1 -1
- package/dist/schema/common/index.d.ts +2 -2
- package/dist/schema/common/index.d.ts.map +1 -1
- package/dist/schema/common/index.js.map +1 -1
- package/dist/schema/common/list.d.ts +52 -72
- package/dist/schema/common/list.d.ts.map +1 -1
- package/dist/schema/common/list.js +3 -3
- package/dist/schema/common/list.js.map +1 -1
- package/dist/schema/common/reference.d.ts +51 -59
- package/dist/schema/common/reference.d.ts.map +1 -1
- package/dist/schema/common/reference.js +5 -5
- package/dist/schema/common/reference.js.map +1 -1
- package/dist/schema/common/table.d.ts +59 -75
- package/dist/schema/common/table.d.ts.map +1 -1
- package/dist/schema/common/table.js +3 -2
- package/dist/schema/common/table.js.map +1 -1
- package/dist/schema/common/track.d.ts +83 -97
- package/dist/schema/common/track.d.ts.map +1 -1
- package/dist/schema/common/track.js +18 -17
- package/dist/schema/common/track.js.map +1 -1
- package/dist/schema/convert.d.ts +2 -2
- package/dist/schema/convert.d.ts.map +1 -1
- package/dist/schema/convert.js +2 -2
- package/dist/schema/convert.js.map +1 -1
- package/dist/schema/document/content.d.ts +95 -122
- package/dist/schema/document/content.d.ts.map +1 -1
- package/dist/schema/document/content.js +9 -9
- package/dist/schema/document/content.js.map +1 -1
- package/dist/schema/document/index.d.ts +173 -257
- package/dist/schema/document/index.d.ts.map +1 -1
- package/dist/schema/document/index.js.map +1 -1
- package/dist/schema/document/structure.d.ts +149 -258
- package/dist/schema/document/structure.d.ts.map +1 -1
- package/dist/schema/document/structure.js +2 -2
- package/dist/schema/document/structure.js.map +1 -1
- package/dist/schema/export.d.ts +4 -877
- package/dist/schema/export.d.ts.map +1 -1
- package/dist/schema/export.js +1 -0
- package/dist/schema/export.js.map +1 -1
- package/dist/schema/footnotes.d.ts +110 -155
- package/dist/schema/footnotes.d.ts.map +1 -1
- package/dist/schema/footnotes.js +4 -2
- package/dist/schema/footnotes.js.map +1 -1
- package/dist/schema/footnotes_convert.d.ts +3 -3
- package/dist/schema/footnotes_convert.d.ts.map +1 -1
- package/dist/schema/footnotes_convert.js +10 -6
- package/dist/schema/footnotes_convert.js.map +1 -1
- package/dist/schema/i18n.d.ts +3 -534
- package/dist/schema/i18n.d.ts.map +1 -1
- package/dist/schema/i18n.js +1 -0
- package/dist/schema/i18n.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/mini_json.d.ts +3 -4
- package/dist/schema/mini_json.d.ts.map +1 -1
- package/dist/schema/mini_json.js +2 -0
- package/dist/schema/mini_json.js.map +1 -1
- package/dist/schema/text.d.ts +2 -1
- package/dist/schema/text.d.ts.map +1 -1
- package/dist/schema/text.js +1 -1
- package/dist/schema/text.js.map +1 -1
- package/dist/types.d.ts +167 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -1
- package/src/bibliography/{common.js → common.ts} +15 -12
- package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
- package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
- package/src/citations/{format.js → format.ts} +80 -24
- package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
- package/src/exporter/docx/{citations.js → citations.ts} +51 -23
- package/src/exporter/docx/{comments.js → comments.ts} +69 -26
- package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
- package/src/exporter/docx/images.ts +128 -0
- package/src/exporter/docx/{index.js → index.ts} +48 -25
- package/src/exporter/docx/{lists.js → lists.ts} +89 -46
- package/src/exporter/docx/{math.js → math.ts} +29 -9
- package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
- package/src/exporter/docx/{rels.js → rels.ts} +71 -50
- package/src/exporter/docx/{render.js → render.ts} +124 -87
- package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
- package/src/exporter/docx/{tables.js → tables.ts} +33 -23
- package/src/exporter/docx/{tools.js → tools.ts} +4 -3
- package/src/exporter/epub/{index.js → index.ts} +44 -15
- package/src/exporter/epub/{templates.js → templates.ts} +71 -7
- package/src/exporter/epub/{tools.js → tools.ts} +31 -25
- package/src/exporter/html/{citations.js → citations.ts} +79 -31
- package/src/exporter/html/{convert.js → convert.ts} +118 -71
- package/src/exporter/html/{index.js → index.ts} +63 -29
- package/src/exporter/html/{templates.js → templates.ts} +22 -2
- package/src/exporter/html/{tools.js → tools.ts} +9 -6
- package/src/exporter/jats/bibliography.ts +199 -0
- package/src/exporter/jats/{citations.js → citations.ts} +56 -20
- package/src/exporter/jats/{convert.js → convert.ts} +72 -53
- package/src/exporter/jats/index.ts +132 -0
- package/src/exporter/jats/{templates.js → templates.ts} +19 -3
- package/src/exporter/jats/{text.js → text.ts} +8 -6
- package/src/exporter/latex/{convert.js → convert.ts} +160 -125
- package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
- package/src/exporter/latex/{index.js → index.ts} +27 -12
- package/src/exporter/latex/{readme.js → readme.ts} +2 -2
- package/src/exporter/native/copy.ts +231 -0
- package/src/exporter/native/file.ts +65 -0
- package/src/exporter/native/index.ts +4 -0
- package/src/exporter/native/revision.ts +76 -0
- package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
- package/src/exporter/native/zip.ts +85 -0
- package/src/exporter/odt/{citations.js → citations.ts} +35 -15
- package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
- package/src/exporter/odt/images.ts +135 -0
- package/src/exporter/odt/{index.js → index.ts} +49 -27
- package/src/exporter/odt/{math.js → math.ts} +38 -9
- package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
- package/src/exporter/odt/{render.js → render.ts} +89 -60
- package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
- package/src/exporter/odt/{styles.js → styles.ts} +98 -66
- package/src/exporter/odt/{track.js → track.ts} +22 -6
- package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
- package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
- package/src/exporter/pandoc/{index.js → index.ts} +36 -13
- package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
- package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
- package/src/exporter/print/{index.js → index.ts} +38 -19
- package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
- package/src/exporter/tools/{svg.js → svg.ts} +9 -3
- package/src/exporter/tools/{xml.js → xml.ts} +187 -138
- package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
- package/src/exporter/tools/{zip.js → zip.ts} +35 -11
- package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
- package/src/global.d.ts +2 -0
- package/src/importer/citations.ts +116 -0
- package/src/importer/docx/{citations.js → citations.ts} +22 -37
- package/src/importer/docx/{convert.js → convert.ts} +176 -141
- package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
- package/src/importer/docx/index.ts +124 -0
- package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
- package/src/importer/docx/{parse.js → parse.ts} +103 -81
- package/src/importer/native/extract_template.ts +83 -0
- package/src/importer/native/file.ts +282 -0
- package/src/importer/native/get_images.ts +82 -0
- package/src/importer/native/importer.ts +244 -0
- package/src/importer/native/index.ts +6 -0
- package/src/importer/native/{update.js → update.ts} +13 -5
- package/src/importer/native/update_template.ts +32 -0
- package/src/importer/odt/{citations.js → citations.ts} +17 -29
- package/src/importer/odt/{convert.js → convert.ts} +261 -237
- package/src/importer/odt/index.ts +202 -0
- package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
- package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
- package/src/importer/pandoc/index.ts +171 -0
- package/src/importer/registry.ts +69 -0
- package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
- package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
- package/src/modules.d.ts +40 -0
- package/src/schema/common/{annotate.js → annotate.ts} +10 -8
- package/src/schema/common/{base.js → base.ts} +12 -10
- package/src/schema/common/{citation.js → citation.ts} +17 -8
- package/src/schema/common/{equation.js → equation.ts} +6 -4
- package/src/schema/common/{figure.js → figure.ts} +43 -23
- package/src/schema/common/{heading.js → heading.ts} +7 -5
- package/src/schema/common/{list.js → list.ts} +15 -13
- package/src/schema/common/{reference.js → reference.ts} +14 -12
- package/src/schema/common/{table.js → table.ts} +16 -14
- package/src/schema/common/{track.js → track.ts} +42 -31
- package/src/schema/{convert.js → convert.ts} +6 -2
- package/src/schema/document/{content.js → content.ts} +22 -20
- package/src/schema/document/{structure.js → structure.ts} +15 -9
- package/src/schema/{export.js → export.ts} +4 -2
- package/src/schema/{footnotes.js → footnotes.ts} +11 -8
- package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
- package/src/schema/{i18n.js → i18n.ts} +7 -1
- package/src/schema/{mini_json.js → mini_json.ts} +11 -12
- package/src/schema/{text.js → text.ts} +6 -2
- package/src/types.ts +185 -7
- package/src/exporter/docx/images.js +0 -101
- package/src/exporter/jats/bibliography.js +0 -183
- package/src/exporter/jats/index.js +0 -92
- package/src/exporter/odt/images.js +0 -115
- package/src/importer/citations.js +0 -129
- package/src/importer/native/get_images.js +0 -76
- /package/src/schema/common/{index.js → index.ts} +0 -0
- /package/src/schema/document/{index.js → index.ts} +0 -0
- /package/src/schema/{index.js → index.ts} +0 -0
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import { MathMLToLaTeX } from "mathml-to-latex";
|
|
2
|
-
import {
|
|
3
|
-
import { randomCommentId, randomFigureId, randomHeadingId } from "../../schema/common/index.js";
|
|
2
|
+
import { randomFigureId, randomHeadingId } from "../../schema/common/index.js";
|
|
4
3
|
import { isDocxBibliographyField, isDocxCitationField, isDocxSdtBibliography, isDocxSdtCitation, parseDocxFieldCitation, parseDocxSdtCitation } from "./citations.js";
|
|
5
4
|
import { normalizeText } from "./helpers.js";
|
|
6
5
|
import { omml2mathml } from "./omml2mathml.js";
|
|
7
6
|
import { DocxParser } from "./parse.js";
|
|
7
|
+
import { gettext } from "fwtoolkit";
|
|
8
|
+
function attr(node, name) {
|
|
9
|
+
if (node && typeof node === "object" && "getAttribute" in node) {
|
|
10
|
+
return String(node.getAttribute(name) || "");
|
|
11
|
+
}
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
8
14
|
export class DocxConvert {
|
|
15
|
+
zip;
|
|
16
|
+
importId;
|
|
17
|
+
template;
|
|
18
|
+
bibliography;
|
|
19
|
+
images;
|
|
20
|
+
parser;
|
|
21
|
+
tracks;
|
|
22
|
+
currentTracks;
|
|
23
|
+
currentFields;
|
|
24
|
+
currentCommentIds;
|
|
25
|
+
sourcesXml;
|
|
26
|
+
referenceTargets;
|
|
9
27
|
constructor(zip, importId, template, bibliography) {
|
|
10
28
|
this.zip = zip;
|
|
11
29
|
this.importId = importId;
|
|
@@ -18,6 +36,7 @@ export class DocxConvert {
|
|
|
18
36
|
this.currentFields = [];
|
|
19
37
|
this.currentCommentIds = [];
|
|
20
38
|
this.sourcesXml = null;
|
|
39
|
+
this.referenceTargets = {};
|
|
21
40
|
}
|
|
22
41
|
async init() {
|
|
23
42
|
await this.parser.init();
|
|
@@ -73,21 +92,21 @@ export class DocxConvert {
|
|
|
73
92
|
{ type: "text", text: gettext("Untitled") }
|
|
74
93
|
]
|
|
75
94
|
});
|
|
76
|
-
title.containerNodes.forEach(node => {
|
|
95
|
+
title.containerNodes.forEach((node) => {
|
|
77
96
|
node.parentElement.removeChild(node);
|
|
78
97
|
});
|
|
79
98
|
document.attrs.title =
|
|
80
|
-
title.content.map(node => node.textContent).join("") ||
|
|
99
|
+
title.content.map((node) => node.textContent).join("") ||
|
|
81
100
|
gettext("Untitled");
|
|
82
101
|
// Extract metadata sections
|
|
83
102
|
const metadata = this.extractMetadata(body);
|
|
84
103
|
metadata.forEach(({ type, content }) => {
|
|
85
|
-
const templatePart = templateParts.find(part => part.attrs.metadata === type);
|
|
104
|
+
const templatePart = templateParts.find((part) => part.attrs.metadata === type);
|
|
86
105
|
const attrs = {};
|
|
87
|
-
if (templatePart.attrs.hidden) {
|
|
88
|
-
attrs.hidden = false;
|
|
89
|
-
}
|
|
90
106
|
if (templatePart) {
|
|
107
|
+
if (templatePart.attrs?.hidden) {
|
|
108
|
+
attrs.hidden = false;
|
|
109
|
+
}
|
|
91
110
|
document.content.push({
|
|
92
111
|
type: templatePart.type,
|
|
93
112
|
attrs: {
|
|
@@ -97,7 +116,7 @@ export class DocxConvert {
|
|
|
97
116
|
content: content.content
|
|
98
117
|
});
|
|
99
118
|
// Remove paragraphs from content so they are not added to body
|
|
100
|
-
content.containerNodes.forEach(node => {
|
|
119
|
+
content.containerNodes.forEach((node) => {
|
|
101
120
|
node.parentElement?.removeChild(node);
|
|
102
121
|
});
|
|
103
122
|
}
|
|
@@ -105,7 +124,7 @@ export class DocxConvert {
|
|
|
105
124
|
// Extract main content sections
|
|
106
125
|
const sections = this.groupContentIntoSections(body);
|
|
107
126
|
// Map sections to template parts
|
|
108
|
-
sections.forEach(section => {
|
|
127
|
+
sections.forEach((section) => {
|
|
109
128
|
const templatePart = this.findMatchingTemplatePart(section.title, templateParts);
|
|
110
129
|
if (templatePart) {
|
|
111
130
|
document.content.push({
|
|
@@ -126,17 +145,15 @@ export class DocxConvert {
|
|
|
126
145
|
});
|
|
127
146
|
// Add remaining content to body section
|
|
128
147
|
const unassignedContent = sections
|
|
129
|
-
.filter(section => !this.findMatchingTemplatePart(section.title, templateParts))
|
|
130
|
-
.flatMap(section => section.content);
|
|
148
|
+
.filter((section) => !this.findMatchingTemplatePart(section.title, templateParts))
|
|
149
|
+
.flatMap((section) => section.content);
|
|
131
150
|
if (unassignedContent.length) {
|
|
132
|
-
const bodyTemplatePart = templateParts.find(part => !part.attrs.metadata && part.type === "richtext_part");
|
|
151
|
+
const bodyTemplatePart = templateParts.find((part) => !part.attrs.metadata && part.type === "richtext_part");
|
|
133
152
|
document.content.push({
|
|
134
153
|
type: "richtext_part",
|
|
135
154
|
attrs: {
|
|
136
|
-
title: bodyTemplatePart
|
|
137
|
-
|
|
138
|
-
: "Body",
|
|
139
|
-
id: bodyTemplatePart ? bodyTemplatePart.attrs.id : "body",
|
|
155
|
+
title: bodyTemplatePart?.attrs?.title || "Body",
|
|
156
|
+
id: bodyTemplatePart?.attrs?.id || "body",
|
|
140
157
|
marks: ["strong", "em", "link"]
|
|
141
158
|
},
|
|
142
159
|
content: unassignedContent
|
|
@@ -190,8 +207,8 @@ export class DocxConvert {
|
|
|
190
207
|
}
|
|
191
208
|
const properties = this.parser.customDoc.queryAll("property");
|
|
192
209
|
const contributors = [];
|
|
193
|
-
properties.forEach(prop => {
|
|
194
|
-
const name = prop
|
|
210
|
+
properties.forEach((prop) => {
|
|
211
|
+
const name = attr(prop, "name");
|
|
195
212
|
if (!name || !name.startsWith("fidus_contributor_")) {
|
|
196
213
|
return;
|
|
197
214
|
}
|
|
@@ -232,7 +249,7 @@ export class DocxConvert {
|
|
|
232
249
|
}
|
|
233
250
|
});
|
|
234
251
|
const byRole = {};
|
|
235
|
-
contributors.forEach(contributor => {
|
|
252
|
+
contributors.forEach((contributor) => {
|
|
236
253
|
if (!contributor) {
|
|
237
254
|
return;
|
|
238
255
|
}
|
|
@@ -249,9 +266,9 @@ export class DocxConvert {
|
|
|
249
266
|
// Try to find author information in metadata
|
|
250
267
|
const authorNodes = body
|
|
251
268
|
.queryAll("w:pStyle", { "w:val": "Author" })
|
|
252
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
253
|
-
.filter(p => p);
|
|
254
|
-
authorNodes.forEach(authorNode => {
|
|
269
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
270
|
+
.filter((p) => p);
|
|
271
|
+
authorNodes.forEach((authorNode) => {
|
|
255
272
|
const authorText = this.getTextContent(authorNode);
|
|
256
273
|
const [firstname = "", lastname = ""] = authorText.split(" ", 2);
|
|
257
274
|
authors.push({
|
|
@@ -271,7 +288,7 @@ export class DocxConvert {
|
|
|
271
288
|
};
|
|
272
289
|
}
|
|
273
290
|
// Also check Creator in document properties
|
|
274
|
-
const creator = this.parser.coreDoc
|
|
291
|
+
const creator = this.parser.coreDoc?.query("dc:creator")?.textContent;
|
|
275
292
|
if (creator) {
|
|
276
293
|
const [firstname = "", lastname = ""] = creator.split(" ", 2);
|
|
277
294
|
return {
|
|
@@ -295,18 +312,18 @@ export class DocxConvert {
|
|
|
295
312
|
// Look for section with Abstract style or heading
|
|
296
313
|
const abstractNodes = body
|
|
297
314
|
.queryAll("w:pStyle", { "w:val": "Abstract" })
|
|
298
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
299
|
-
.filter(p => p);
|
|
315
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
316
|
+
.filter((p) => p);
|
|
300
317
|
if (abstractNodes.length) {
|
|
301
318
|
return {
|
|
302
|
-
content: abstractNodes.map(abstractNode => this.convertBlock(abstractNode)),
|
|
319
|
+
content: abstractNodes.map((abstractNode) => this.convertBlock(abstractNode)),
|
|
303
320
|
containerNodes: abstractNodes
|
|
304
321
|
};
|
|
305
322
|
}
|
|
306
323
|
const extractedPart = this.extractPartOnTitle(body, ["Abstract"]);
|
|
307
324
|
if (extractedPart.content.length) {
|
|
308
325
|
return {
|
|
309
|
-
content: extractedPart.content.map(abstractNode => this.convertBlock(abstractNode)),
|
|
326
|
+
content: extractedPart.content.map((abstractNode) => this.convertBlock(abstractNode)),
|
|
310
327
|
containerNodes: extractedPart.content.concat([
|
|
311
328
|
extractedPart.header
|
|
312
329
|
])
|
|
@@ -319,8 +336,8 @@ export class DocxConvert {
|
|
|
319
336
|
// Look for keywords section or metadata
|
|
320
337
|
let keywordNodes = body
|
|
321
338
|
.queryAll("w:pStyle", { "w:val": "Keywords" })
|
|
322
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
323
|
-
.filter(p => p);
|
|
339
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
340
|
+
.filter((p) => p);
|
|
324
341
|
if (!keywordNodes.length) {
|
|
325
342
|
// If no keywords section is found, look for a title called "Keywords"
|
|
326
343
|
const extractedPart = this.extractPartOnTitle(body, ["Keywords", "Keywords:", "Keyword"], 1);
|
|
@@ -332,11 +349,11 @@ export class DocxConvert {
|
|
|
332
349
|
if (keywordNodes) {
|
|
333
350
|
return {
|
|
334
351
|
content: keywordNodes
|
|
335
|
-
.map(keywordsNode => this.getTextContent(keywordsNode))
|
|
336
|
-
.flatMap(str => str.split(/[,;|:]+/)) // Split on multiple separators
|
|
337
|
-
.map(keyword => keyword.trim()) // Trim whitespace
|
|
338
|
-
.filter(keyword => keyword.length > 0)
|
|
339
|
-
.map(keyword => ({
|
|
352
|
+
.map((keywordsNode) => this.getTextContent(keywordsNode))
|
|
353
|
+
.flatMap((str) => str.split(/[,;|:]+/)) // Split on multiple separators
|
|
354
|
+
.map((keyword) => keyword.trim()) // Trim whitespace
|
|
355
|
+
.filter((keyword) => keyword.length > 0)
|
|
356
|
+
.map((keyword) => ({
|
|
340
357
|
type: "tag",
|
|
341
358
|
attrs: {
|
|
342
359
|
tag: keyword
|
|
@@ -366,9 +383,9 @@ export class DocxConvert {
|
|
|
366
383
|
"Heading9"
|
|
367
384
|
]
|
|
368
385
|
})
|
|
369
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
370
|
-
.filter(p => p);
|
|
371
|
-
const header = headingPars.find(p => titleWords.includes(this.getTextContent(p).trim()));
|
|
386
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
387
|
+
.filter((p) => p);
|
|
388
|
+
const header = headingPars.find((p) => titleWords.includes(this.getTextContent(p).trim()));
|
|
372
389
|
const content = [];
|
|
373
390
|
if (header && header.nextSibling) {
|
|
374
391
|
//const content = []
|
|
@@ -395,7 +412,7 @@ export class DocxConvert {
|
|
|
395
412
|
content: []
|
|
396
413
|
};
|
|
397
414
|
const skippedBlocks = [];
|
|
398
|
-
body.children.forEach(node => {
|
|
415
|
+
body.children.forEach((node) => {
|
|
399
416
|
if (skippedBlocks.includes(node)) {
|
|
400
417
|
return;
|
|
401
418
|
}
|
|
@@ -445,12 +462,12 @@ export class DocxConvert {
|
|
|
445
462
|
return null;
|
|
446
463
|
}
|
|
447
464
|
// Try exact match first
|
|
448
|
-
let matchingPart = templateParts.find(part => part.type === "richtext_part" &&
|
|
465
|
+
let matchingPart = templateParts.find((part) => part.type === "richtext_part" &&
|
|
449
466
|
!part.attrs.metadata &&
|
|
450
467
|
part.attrs.title.toLowerCase() === sectionTitle.toLowerCase());
|
|
451
468
|
if (!matchingPart) {
|
|
452
469
|
// Try fuzzy matching
|
|
453
|
-
matchingPart = templateParts.find(part => part.type === "richtext_part" &&
|
|
470
|
+
matchingPart = templateParts.find((part) => part.type === "richtext_part" &&
|
|
454
471
|
!part.attrs.metadata &&
|
|
455
472
|
this.isSimilarTitle(part.attrs.title, sectionTitle));
|
|
456
473
|
}
|
|
@@ -465,15 +482,15 @@ export class DocxConvert {
|
|
|
465
482
|
getTextContent(node) {
|
|
466
483
|
return node
|
|
467
484
|
.queryAll("w:t")
|
|
468
|
-
.map(t => t.textContent)
|
|
485
|
+
.map((t) => t.textContent)
|
|
469
486
|
.join("");
|
|
470
487
|
}
|
|
471
488
|
extractTitle(body) {
|
|
472
489
|
// First try to find paragraph with Title style
|
|
473
490
|
const titlePars = body
|
|
474
491
|
.queryAll("w:pStyle", { "w:val": "Title" })
|
|
475
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
476
|
-
.filter(p => p);
|
|
492
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
493
|
+
.filter((p) => p);
|
|
477
494
|
if (titlePars.length) {
|
|
478
495
|
return {
|
|
479
496
|
content: this.convertInline(titlePars[0]),
|
|
@@ -495,8 +512,8 @@ export class DocxConvert {
|
|
|
495
512
|
"Heading9"
|
|
496
513
|
]
|
|
497
514
|
})
|
|
498
|
-
.map(pStyle => pStyle.closest("w:p"))
|
|
499
|
-
.filter(p => p);
|
|
515
|
+
.map((pStyle) => pStyle.closest("w:p"))
|
|
516
|
+
.filter((p) => p);
|
|
500
517
|
if (headingPars.length) {
|
|
501
518
|
return {
|
|
502
519
|
content: this.convertInline(headingPars[0]),
|
|
@@ -589,22 +606,22 @@ export class DocxConvert {
|
|
|
589
606
|
const insertion = node.query("w:pPr")?.query("w:ins");
|
|
590
607
|
const tracks = [];
|
|
591
608
|
if (insertion) {
|
|
592
|
-
const date = new Date(insertion
|
|
609
|
+
const date = new Date(attr(insertion, "w:date"));
|
|
593
610
|
const date10 = Math.floor(date.getTime() / 60000) * 10;
|
|
594
611
|
tracks.push({
|
|
595
612
|
type: "insertion",
|
|
596
613
|
user: 0, // Default user ID
|
|
597
|
-
username: insertion
|
|
614
|
+
username: attr(insertion, "w:author"),
|
|
598
615
|
date: date10
|
|
599
616
|
});
|
|
600
617
|
}
|
|
601
618
|
if (deletion) {
|
|
602
|
-
const date = new Date(deletion
|
|
619
|
+
const date = new Date(attr(deletion, "w:date"));
|
|
603
620
|
const date10 = Math.floor(date.getTime() / 60000) * 10;
|
|
604
621
|
tracks.push({
|
|
605
622
|
type: "deletion",
|
|
606
623
|
user: 0, // Default user ID
|
|
607
|
-
username: deletion
|
|
624
|
+
username: attr(deletion, "w:author"),
|
|
608
625
|
date: date10
|
|
609
626
|
});
|
|
610
627
|
}
|
|
@@ -615,11 +632,11 @@ export class DocxConvert {
|
|
|
615
632
|
}
|
|
616
633
|
getParaStyle(node) {
|
|
617
634
|
const pStyle = node.query("w:pStyle");
|
|
618
|
-
const styleId = pStyle
|
|
635
|
+
const styleId = attr(pStyle, "w:val");
|
|
619
636
|
const style = this.parser.styles[styleId] || {};
|
|
620
637
|
const numPr = node.query("w:numPr");
|
|
621
|
-
const numId = numPr?.query("w:numId")
|
|
622
|
-
const ilvl = parseInt(numPr?.query("w:ilvl")
|
|
638
|
+
const numId = attr(numPr?.query("w:numId"), "w:val");
|
|
639
|
+
const ilvl = parseInt(attr(numPr?.query("w:ilvl"), "w:val") || "0");
|
|
623
640
|
return {
|
|
624
641
|
...style,
|
|
625
642
|
numbering: numId
|
|
@@ -633,7 +650,7 @@ export class DocxConvert {
|
|
|
633
650
|
}
|
|
634
651
|
convertParagraph(node) {
|
|
635
652
|
const pStyle = node.query("w:pStyle");
|
|
636
|
-
const styleId = pStyle
|
|
653
|
+
const styleId = attr(pStyle, "w:val");
|
|
637
654
|
// Check if this is a code block (Code style or inherited from one)
|
|
638
655
|
if (styleId &&
|
|
639
656
|
(this.parser.isCodeStyle?.(styleId) || styleId === "Code")) {
|
|
@@ -696,7 +713,7 @@ export class DocxConvert {
|
|
|
696
713
|
if (!blip) {
|
|
697
714
|
return null;
|
|
698
715
|
}
|
|
699
|
-
const rId = blip
|
|
716
|
+
const rId = attr(blip, "r:embed");
|
|
700
717
|
const rel = this.parser.relationships[rId];
|
|
701
718
|
if (!rel) {
|
|
702
719
|
return null;
|
|
@@ -709,8 +726,8 @@ export class DocxConvert {
|
|
|
709
726
|
// <a:ext cx="5753598" cy="4463556" />
|
|
710
727
|
//
|
|
711
728
|
const size = drawing.query("a:ext");
|
|
712
|
-
const width = parseInt(size
|
|
713
|
-
const height = parseInt(size
|
|
729
|
+
const width = parseInt(attr(size, "cx") || "0") / 9525; // In EMUs
|
|
730
|
+
const height = parseInt(attr(size, "cy") || "0") / 9525; // In EMUs
|
|
714
731
|
const imageId = Math.floor(Math.random() * 1000000);
|
|
715
732
|
this.images[imageId] = {
|
|
716
733
|
id: imageId,
|
|
@@ -752,7 +769,7 @@ export class DocxConvert {
|
|
|
752
769
|
convertInline(node) {
|
|
753
770
|
const content = [];
|
|
754
771
|
// We'll process all inline nodes in document order
|
|
755
|
-
node.children.forEach(child => {
|
|
772
|
+
node.children.forEach((child) => {
|
|
756
773
|
let contentReceiver = content;
|
|
757
774
|
const currentField = this.currentFields[this.currentFields.length - 1];
|
|
758
775
|
if (currentField) {
|
|
@@ -774,7 +791,7 @@ export class DocxConvert {
|
|
|
774
791
|
if (fieldChar) {
|
|
775
792
|
let currentField;
|
|
776
793
|
let rendercurrentField = false;
|
|
777
|
-
const type = fieldChar
|
|
794
|
+
const type = attr(fieldChar, "w:fldCharType");
|
|
778
795
|
if (type === "begin") {
|
|
779
796
|
currentField = {
|
|
780
797
|
status: "instruction",
|
|
@@ -807,14 +824,14 @@ export class DocxConvert {
|
|
|
807
824
|
currentField.data = fldDataNode.textContent || null;
|
|
808
825
|
}
|
|
809
826
|
if (rendercurrentField && currentField) {
|
|
810
|
-
this.renderField(currentField).forEach(node => contentReceiver.push(node));
|
|
827
|
+
this.renderField(currentField).forEach((node) => contentReceiver.push(node));
|
|
811
828
|
}
|
|
812
829
|
return;
|
|
813
830
|
}
|
|
814
831
|
// Process footnote references
|
|
815
832
|
const footnoteRef = child.query("w:footnoteReference");
|
|
816
833
|
if (footnoteRef) {
|
|
817
|
-
const footnoteId = footnoteRef
|
|
834
|
+
const footnoteId = attr(footnoteRef, "w:id");
|
|
818
835
|
if (this.parser.footnotes[footnoteId]) {
|
|
819
836
|
contentReceiver.push(this.convertFootnote(footnoteId));
|
|
820
837
|
}
|
|
@@ -823,7 +840,7 @@ export class DocxConvert {
|
|
|
823
840
|
// Process endnote references
|
|
824
841
|
const endnoteRef = child.query("w:endnoteReference");
|
|
825
842
|
if (endnoteRef) {
|
|
826
|
-
const endnoteId = endnoteRef
|
|
843
|
+
const endnoteId = attr(endnoteRef, "w:id");
|
|
827
844
|
if (this.parser.endnotes[endnoteId]) {
|
|
828
845
|
contentReceiver.push(this.convertFootnote(endnoteId, true));
|
|
829
846
|
}
|
|
@@ -852,14 +869,14 @@ export class DocxConvert {
|
|
|
852
869
|
});
|
|
853
870
|
}
|
|
854
871
|
else if (child.tagName === "w:commentRangeStart") {
|
|
855
|
-
const commentId = child
|
|
872
|
+
const commentId = attr(child, "w:id");
|
|
856
873
|
if (commentId && this.parser.comments[commentId]) {
|
|
857
874
|
this.currentCommentIds.push(commentId);
|
|
858
875
|
}
|
|
859
876
|
return;
|
|
860
877
|
}
|
|
861
878
|
else if (child.tagName === "w:commentRangeEnd") {
|
|
862
|
-
const commentId = child
|
|
879
|
+
const commentId = attr(child, "w:id");
|
|
863
880
|
if (commentId) {
|
|
864
881
|
const index = this.currentCommentIds.indexOf(commentId);
|
|
865
882
|
if (index !== -1) {
|
|
@@ -875,14 +892,14 @@ export class DocxConvert {
|
|
|
875
892
|
}
|
|
876
893
|
else if (child.tagName === "w:hyperlink") {
|
|
877
894
|
// Process hyperlink
|
|
878
|
-
const rId = child
|
|
879
|
-
const anchor = child
|
|
895
|
+
const rId = attr(child, "r:id");
|
|
896
|
+
const anchor = attr(child, "w:anchor");
|
|
880
897
|
const relationship = rId ? this.parser.relationships[rId] : null;
|
|
881
898
|
const href = relationship?.target || (anchor ? `#${anchor}` : null);
|
|
882
899
|
if (href) {
|
|
883
900
|
const runs = child.queryAll("w:r");
|
|
884
901
|
const text = runs
|
|
885
|
-
.map(run => run.query("w:t")?.textContent || "")
|
|
902
|
+
.map((run) => run.query("w:t")?.textContent || "")
|
|
886
903
|
.join("");
|
|
887
904
|
if (text) {
|
|
888
905
|
// Check if this is an internal link (bookmark reference) that should be a cross-reference
|
|
@@ -942,9 +959,9 @@ export class DocxConvert {
|
|
|
942
959
|
findReferenceTargets(document) {
|
|
943
960
|
const targets = {};
|
|
944
961
|
// Find bookmarks
|
|
945
|
-
document.queryAll("w:bookmarkStart").forEach(bookmark => {
|
|
946
|
-
const id = bookmark
|
|
947
|
-
const name = bookmark
|
|
962
|
+
document.queryAll("w:bookmarkStart").forEach((bookmark) => {
|
|
963
|
+
const id = attr(bookmark, "w:id");
|
|
964
|
+
const name = attr(bookmark, "w:name");
|
|
948
965
|
if (id && name) {
|
|
949
966
|
targets[name] = {
|
|
950
967
|
id: name,
|
|
@@ -953,8 +970,8 @@ export class DocxConvert {
|
|
|
953
970
|
}
|
|
954
971
|
});
|
|
955
972
|
// Find headings (with styles like Heading1, Heading2, etc.)
|
|
956
|
-
document.queryAll("w:pStyle").forEach(pStyle => {
|
|
957
|
-
const val = pStyle
|
|
973
|
+
document.queryAll("w:pStyle").forEach((pStyle) => {
|
|
974
|
+
const val = attr(pStyle, "w:val");
|
|
958
975
|
if (val && val.match(/^Heading\d+$/)) {
|
|
959
976
|
const paragraph = pStyle.closest("w:p");
|
|
960
977
|
if (paragraph) {
|
|
@@ -981,11 +998,11 @@ export class DocxConvert {
|
|
|
981
998
|
: this.parser.footnotes[id].content;
|
|
982
999
|
// Convert the footnote content to our document model
|
|
983
1000
|
const content = [];
|
|
984
|
-
footnoteContent.forEach(block => {
|
|
1001
|
+
footnoteContent.forEach((block) => {
|
|
985
1002
|
if (block.type === "paragraph") {
|
|
986
1003
|
content.push({
|
|
987
1004
|
type: "paragraph",
|
|
988
|
-
content: block.content.map(node => {
|
|
1005
|
+
content: block.content.map((node) => {
|
|
989
1006
|
if (node.type === "text") {
|
|
990
1007
|
return {
|
|
991
1008
|
type: "text",
|
|
@@ -1171,42 +1188,42 @@ export class DocxConvert {
|
|
|
1171
1188
|
/^ubuntu mono/i,
|
|
1172
1189
|
/^droid sans mono/i
|
|
1173
1190
|
];
|
|
1174
|
-
const isMonospace = monospacePatterns.some(pattern => pattern.test(formatting.fontFamily));
|
|
1191
|
+
const isMonospace = monospacePatterns.some((pattern) => pattern.test(formatting.fontFamily));
|
|
1175
1192
|
if (isMonospace) {
|
|
1176
1193
|
marks.push({ type: "code" });
|
|
1177
1194
|
}
|
|
1178
1195
|
}
|
|
1179
1196
|
if (insertion) {
|
|
1180
|
-
const date = new Date(insertion
|
|
1197
|
+
const date = new Date(attr(insertion, "w:date"));
|
|
1181
1198
|
const date10 = Math.floor(date.getTime() / 600000) * 10;
|
|
1182
1199
|
marks.push({
|
|
1183
1200
|
type: "insertion",
|
|
1184
1201
|
attrs: {
|
|
1185
1202
|
user: 0,
|
|
1186
|
-
username: insertion
|
|
1203
|
+
username: attr(insertion, "w:author"),
|
|
1187
1204
|
date: date10,
|
|
1188
1205
|
approved: false
|
|
1189
1206
|
}
|
|
1190
1207
|
});
|
|
1191
1208
|
}
|
|
1192
1209
|
if (deletion) {
|
|
1193
|
-
const date = new Date(deletion
|
|
1210
|
+
const date = new Date(attr(deletion, "w:date"));
|
|
1194
1211
|
const date10 = Math.floor(date.getTime() / 600000) * 10;
|
|
1195
1212
|
marks.push({
|
|
1196
1213
|
type: "deletion",
|
|
1197
1214
|
attrs: {
|
|
1198
1215
|
user: 0,
|
|
1199
|
-
username: deletion
|
|
1216
|
+
username: attr(deletion, "w:author"),
|
|
1200
1217
|
date: date10
|
|
1201
1218
|
}
|
|
1202
1219
|
});
|
|
1203
1220
|
}
|
|
1204
1221
|
return marks;
|
|
1205
1222
|
}
|
|
1206
|
-
getCurrentMarks(formatting, insertion, deletion) {
|
|
1223
|
+
getCurrentMarks(formatting, insertion = null, deletion = null) {
|
|
1207
1224
|
const marks = this.createMarksFromFormatting(formatting, insertion, deletion);
|
|
1208
1225
|
// Add comment marks for any active comment IDs
|
|
1209
|
-
this.currentCommentIds.forEach(commentId => {
|
|
1226
|
+
this.currentCommentIds.forEach((commentId) => {
|
|
1210
1227
|
marks.push({
|
|
1211
1228
|
type: "comment",
|
|
1212
1229
|
attrs: {
|
|
@@ -1220,7 +1237,7 @@ export class DocxConvert {
|
|
|
1220
1237
|
return Boolean(doc.query("w:ins") || doc.query("w:del"));
|
|
1221
1238
|
}
|
|
1222
1239
|
detectLanguage(doc) {
|
|
1223
|
-
return doc.query("w:lang")
|
|
1240
|
+
return attr(doc.query("w:lang"), "w:val") || "en-US";
|
|
1224
1241
|
}
|
|
1225
1242
|
}
|
|
1226
1243
|
//# sourceMappingURL=convert.js.map
|