@fiduswriter/document 0.1.0-alpha.3 → 0.1.0-alpha.5
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/README.md +22 -1
- package/dist/bibliography/common.d.ts +10 -0
- package/dist/bibliography/common.d.ts.map +1 -0
- package/dist/bibliography/common.js +86 -0
- package/dist/bibliography/common.js.map +1 -0
- package/dist/bibliography/csl_bib.d.ts +3 -0
- package/dist/bibliography/csl_bib.d.ts.map +1 -0
- package/dist/bibliography/csl_bib.js +131 -0
- package/dist/bibliography/csl_bib.js.map +1 -0
- package/dist/citations/citeproc_sys.d.ts +12 -0
- package/dist/citations/citeproc_sys.d.ts.map +1 -0
- package/dist/citations/citeproc_sys.js +48 -0
- package/dist/citations/citeproc_sys.js.map +1 -0
- package/dist/citations/format.d.ts +40 -0
- package/dist/citations/format.d.ts.map +1 -0
- package/dist/citations/format.js +186 -0
- package/dist/citations/format.js.map +1 -0
- package/dist/editor/e2ee/encryptor.d.ts +123 -0
- package/dist/editor/e2ee/encryptor.d.ts.map +1 -0
- package/dist/editor/e2ee/encryptor.js +201 -0
- package/dist/editor/e2ee/encryptor.js.map +1 -0
- package/dist/exporter/docx/citations.d.ts +31 -0
- package/dist/exporter/docx/citations.d.ts.map +1 -0
- package/dist/exporter/docx/citations.js +171 -0
- package/dist/exporter/docx/citations.js.map +1 -0
- package/dist/exporter/docx/comments.d.ts +22 -0
- package/dist/exporter/docx/comments.d.ts.map +1 -0
- package/dist/exporter/docx/comments.js +170 -0
- package/dist/exporter/docx/comments.js.map +1 -0
- package/dist/exporter/docx/footnotes.d.ts +47 -0
- package/dist/exporter/docx/footnotes.d.ts.map +1 -0
- package/dist/exporter/docx/footnotes.js +216 -0
- package/dist/exporter/docx/footnotes.js.map +1 -0
- package/dist/exporter/docx/images.d.ts +25 -0
- package/dist/exporter/docx/images.d.ts.map +1 -0
- package/dist/exporter/docx/images.js +101 -0
- package/dist/exporter/docx/images.js.map +1 -0
- package/dist/exporter/docx/index.d.ts +16 -0
- package/dist/exporter/docx/index.d.ts.map +1 -0
- package/dist/exporter/docx/index.js +115 -0
- package/dist/exporter/docx/index.js.map +1 -0
- package/dist/exporter/docx/lists.d.ts +38 -0
- package/dist/exporter/docx/lists.d.ts.map +1 -0
- package/dist/exporter/docx/lists.js +276 -0
- package/dist/exporter/docx/lists.js.map +1 -0
- package/dist/exporter/docx/math.d.ts +13 -0
- package/dist/exporter/docx/math.d.ts.map +1 -0
- package/dist/exporter/docx/math.js +59 -0
- package/dist/exporter/docx/math.js.map +1 -0
- package/dist/exporter/docx/metadata.d.ts +17 -0
- package/dist/exporter/docx/metadata.d.ts.map +1 -0
- package/dist/exporter/docx/metadata.js +272 -0
- package/dist/exporter/docx/metadata.js.map +1 -0
- package/dist/exporter/docx/rels.d.ts +27 -0
- package/dist/exporter/docx/rels.d.ts.map +1 -0
- package/dist/exporter/docx/rels.js +183 -0
- package/dist/exporter/docx/rels.js.map +1 -0
- package/dist/exporter/docx/render.d.ts +22 -0
- package/dist/exporter/docx/render.d.ts.map +1 -0
- package/dist/exporter/docx/render.js +780 -0
- package/dist/exporter/docx/render.js.map +1 -0
- package/dist/exporter/docx/richtext.d.ts +25 -0
- package/dist/exporter/docx/richtext.d.ts.map +1 -0
- package/dist/exporter/docx/richtext.js +1070 -0
- package/dist/exporter/docx/richtext.js.map +1 -0
- package/dist/exporter/docx/tables.d.ts +16 -0
- package/dist/exporter/docx/tables.d.ts.map +1 -0
- package/dist/exporter/docx/tables.js +115 -0
- package/dist/exporter/docx/tables.js.map +1 -0
- package/dist/exporter/docx/tools.d.ts +4 -0
- package/dist/exporter/docx/tools.d.ts.map +1 -0
- package/dist/exporter/docx/tools.js +48 -0
- package/dist/exporter/docx/tools.js.map +1 -0
- package/dist/exporter/epub/index.d.ts +19 -0
- package/dist/exporter/epub/index.d.ts.map +1 -0
- package/dist/exporter/epub/index.js +109 -0
- package/dist/exporter/epub/index.js.map +1 -0
- package/dist/exporter/epub/templates.d.ts +63 -0
- package/dist/exporter/epub/templates.d.ts.map +1 -0
- package/dist/exporter/epub/templates.js +95 -0
- package/dist/exporter/epub/templates.js.map +1 -0
- package/dist/exporter/epub/tools.d.ts +13 -0
- package/dist/exporter/epub/tools.d.ts.map +1 -0
- package/{src → dist}/exporter/epub/tools.js +32 -46
- package/dist/exporter/epub/tools.js.map +1 -0
- package/dist/exporter/html/citations.d.ts +29 -0
- package/dist/exporter/html/citations.d.ts.map +1 -0
- package/dist/exporter/html/citations.js +110 -0
- package/dist/exporter/html/citations.js.map +1 -0
- package/dist/exporter/html/convert.d.ts +50 -0
- package/dist/exporter/html/convert.d.ts.map +1 -0
- package/dist/exporter/html/convert.js +750 -0
- package/dist/exporter/html/convert.js.map +1 -0
- package/dist/exporter/html/index.d.ts +64 -0
- package/dist/exporter/html/index.d.ts.map +1 -0
- package/dist/exporter/html/index.js +154 -0
- package/dist/exporter/html/index.js.map +1 -0
- package/dist/exporter/html/templates.d.ts +24 -0
- package/dist/exporter/html/templates.d.ts.map +1 -0
- package/dist/exporter/html/templates.js +21 -0
- package/dist/exporter/html/templates.js.map +1 -0
- package/dist/exporter/html/tools.d.ts +2 -0
- package/dist/exporter/html/tools.d.ts.map +1 -0
- package/dist/exporter/html/tools.js +49 -0
- package/dist/exporter/html/tools.js.map +1 -0
- package/dist/exporter/jats/bibliography.d.ts +3 -0
- package/dist/exporter/jats/bibliography.d.ts.map +1 -0
- package/dist/exporter/jats/bibliography.js +158 -0
- package/dist/exporter/jats/bibliography.js.map +1 -0
- package/dist/exporter/jats/citations.d.ts +16 -0
- package/dist/exporter/jats/citations.d.ts.map +1 -0
- package/dist/exporter/jats/citations.js +105 -0
- package/dist/exporter/jats/citations.js.map +1 -0
- package/dist/exporter/jats/convert.d.ts +41 -0
- package/dist/exporter/jats/convert.d.ts.map +1 -0
- package/dist/exporter/jats/convert.js +816 -0
- package/dist/exporter/jats/convert.js.map +1 -0
- package/dist/exporter/jats/index.d.ts +25 -0
- package/dist/exporter/jats/index.d.ts.map +1 -0
- package/dist/exporter/jats/index.js +82 -0
- package/dist/exporter/jats/index.js.map +1 -0
- package/dist/exporter/jats/templates.d.ts +18 -0
- package/dist/exporter/jats/templates.d.ts.map +1 -0
- package/dist/exporter/jats/templates.js +25 -0
- package/dist/exporter/jats/templates.js.map +1 -0
- package/dist/exporter/jats/text.d.ts +4 -0
- package/dist/exporter/jats/text.d.ts.map +1 -0
- package/dist/exporter/jats/text.js +72 -0
- package/dist/exporter/jats/text.js.map +1 -0
- package/dist/exporter/latex/convert.d.ts +24 -0
- package/dist/exporter/latex/convert.d.ts.map +1 -0
- package/dist/exporter/latex/convert.js +881 -0
- package/dist/exporter/latex/convert.js.map +1 -0
- package/dist/exporter/latex/escape_latex.d.ts +2 -0
- package/dist/exporter/latex/escape_latex.d.ts.map +1 -0
- package/dist/exporter/latex/escape_latex.js +20 -0
- package/dist/exporter/latex/escape_latex.js.map +1 -0
- package/dist/exporter/latex/index.d.ts +24 -0
- package/dist/exporter/latex/index.d.ts.map +1 -0
- package/dist/exporter/latex/index.js +67 -0
- package/dist/exporter/latex/index.js.map +1 -0
- package/dist/exporter/latex/readme.d.ts +2 -0
- package/dist/exporter/latex/readme.d.ts.map +1 -0
- package/dist/exporter/latex/readme.js +23 -0
- package/dist/exporter/latex/readme.js.map +1 -0
- 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 +36 -0
- package/dist/exporter/native/shrink.d.ts.map +1 -0
- package/dist/exporter/native/shrink.js +124 -0
- package/dist/exporter/native/shrink.js.map +1 -0
- 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 +21 -0
- package/dist/exporter/odt/citations.d.ts.map +1 -0
- package/dist/exporter/odt/citations.js +104 -0
- package/dist/exporter/odt/citations.js.map +1 -0
- package/dist/exporter/odt/footnotes.d.ts +31 -0
- package/dist/exporter/odt/footnotes.d.ts.map +1 -0
- package/dist/exporter/odt/footnotes.js +129 -0
- package/dist/exporter/odt/footnotes.js.map +1 -0
- package/dist/exporter/odt/images.d.ts +25 -0
- package/dist/exporter/odt/images.d.ts.map +1 -0
- package/dist/exporter/odt/images.js +106 -0
- package/dist/exporter/odt/images.js.map +1 -0
- package/dist/exporter/odt/index.d.ts +17 -0
- package/dist/exporter/odt/index.d.ts.map +1 -0
- package/dist/exporter/odt/index.js +108 -0
- package/dist/exporter/odt/index.js.map +1 -0
- package/dist/exporter/odt/math.d.ts +15 -0
- package/dist/exporter/odt/math.d.ts.map +1 -0
- package/dist/exporter/odt/math.js +71 -0
- package/dist/exporter/odt/math.js.map +1 -0
- package/dist/exporter/odt/metadata.d.ts +18 -0
- package/dist/exporter/odt/metadata.d.ts.map +1 -0
- package/dist/exporter/odt/metadata.js +224 -0
- package/dist/exporter/odt/metadata.js.map +1 -0
- package/dist/exporter/odt/render.d.ts +26 -0
- package/dist/exporter/odt/render.d.ts.map +1 -0
- package/dist/exporter/odt/render.js +651 -0
- package/dist/exporter/odt/render.js.map +1 -0
- package/dist/exporter/odt/richtext.d.ts +22 -0
- package/dist/exporter/odt/richtext.d.ts.map +1 -0
- package/dist/exporter/odt/richtext.js +743 -0
- package/dist/exporter/odt/richtext.js.map +1 -0
- package/dist/exporter/odt/styles.d.ts +41 -0
- package/dist/exporter/odt/styles.d.ts.map +1 -0
- package/dist/exporter/odt/styles.js +370 -0
- package/dist/exporter/odt/styles.js.map +1 -0
- package/dist/exporter/odt/track.d.ts +18 -0
- package/dist/exporter/odt/track.d.ts.map +1 -0
- package/dist/exporter/odt/track.js +66 -0
- package/dist/exporter/odt/track.js.map +1 -0
- package/dist/exporter/pandoc/citations.d.ts +23 -0
- package/dist/exporter/pandoc/citations.d.ts.map +1 -0
- package/dist/exporter/pandoc/citations.js +99 -0
- package/dist/exporter/pandoc/citations.js.map +1 -0
- package/dist/exporter/pandoc/convert.d.ts +19 -0
- package/dist/exporter/pandoc/convert.d.ts.map +1 -0
- package/dist/exporter/pandoc/convert.js +886 -0
- package/dist/exporter/pandoc/convert.js.map +1 -0
- package/dist/exporter/pandoc/index.d.ts +25 -0
- package/dist/exporter/pandoc/index.d.ts.map +1 -0
- package/dist/exporter/pandoc/index.js +79 -0
- package/dist/exporter/pandoc/index.js.map +1 -0
- package/dist/exporter/pandoc/readme.d.ts +2 -0
- package/dist/exporter/pandoc/readme.d.ts.map +1 -0
- package/dist/exporter/pandoc/readme.js +8 -0
- package/dist/exporter/pandoc/readme.js.map +1 -0
- package/dist/exporter/pandoc/tools.d.ts +22 -0
- package/dist/exporter/pandoc/tools.d.ts.map +1 -0
- package/dist/exporter/pandoc/tools.js +52 -0
- package/dist/exporter/pandoc/tools.js.map +1 -0
- package/dist/exporter/print/index.d.ts +20 -0
- package/dist/exporter/print/index.d.ts.map +1 -0
- package/dist/exporter/print/index.js +142 -0
- package/dist/exporter/print/index.js.map +1 -0
- package/dist/exporter/tools/doc_content.d.ts +6 -0
- package/dist/exporter/tools/doc_content.d.ts.map +1 -0
- package/dist/exporter/tools/doc_content.js +130 -0
- package/dist/exporter/tools/doc_content.js.map +1 -0
- package/dist/exporter/tools/file.d.ts +2 -0
- package/dist/exporter/tools/file.d.ts.map +1 -0
- package/dist/exporter/tools/file.js +10 -0
- package/dist/exporter/tools/file.js.map +1 -0
- package/dist/exporter/tools/json.d.ts +7 -0
- package/dist/exporter/tools/json.d.ts.map +1 -0
- package/dist/exporter/tools/json.js +82 -0
- package/dist/exporter/tools/json.js.map +1 -0
- package/dist/exporter/tools/svg.d.ts +8 -0
- package/dist/exporter/tools/svg.d.ts.map +1 -0
- package/dist/exporter/tools/svg.js +26 -0
- package/dist/exporter/tools/svg.js.map +1 -0
- package/dist/exporter/tools/xml.d.ts +42 -0
- package/dist/exporter/tools/xml.d.ts.map +1 -0
- package/dist/exporter/tools/xml.js +467 -0
- package/dist/exporter/tools/xml.js.map +1 -0
- package/dist/exporter/tools/xml_zip.d.ts +21 -0
- package/dist/exporter/tools/xml_zip.d.ts.map +1 -0
- package/dist/exporter/tools/xml_zip.js +92 -0
- package/dist/exporter/tools/xml_zip.js.map +1 -0
- package/dist/exporter/tools/zip.d.ts +35 -0
- package/dist/exporter/tools/zip.d.ts.map +1 -0
- package/dist/exporter/tools/zip.js +78 -0
- package/dist/exporter/tools/zip.js.map +1 -0
- package/dist/exporter/tools/zotero_csl.d.ts +23 -0
- package/dist/exporter/tools/zotero_csl.d.ts.map +1 -0
- package/dist/exporter/tools/zotero_csl.js +78 -0
- package/dist/exporter/tools/zotero_csl.js.map +1 -0
- package/dist/importer/citations.d.ts +28 -0
- package/dist/importer/citations.d.ts.map +1 -0
- package/dist/importer/citations.js +68 -0
- package/dist/importer/citations.js.map +1 -0
- package/dist/importer/docx/citations.d.ts +43 -0
- package/dist/importer/docx/citations.d.ts.map +1 -0
- package/dist/importer/docx/citations.js +81 -0
- package/dist/importer/docx/citations.js.map +1 -0
- package/dist/importer/docx/convert.d.ts +150 -0
- package/dist/importer/docx/convert.d.ts.map +1 -0
- package/dist/importer/docx/convert.js +1243 -0
- package/dist/importer/docx/convert.js.map +1 -0
- package/dist/importer/docx/helpers.d.ts +2 -0
- package/dist/importer/docx/helpers.d.ts.map +1 -0
- package/dist/importer/docx/helpers.js +10 -0
- package/dist/importer/docx/helpers.js.map +1 -0
- 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 +6 -0
- package/dist/importer/docx/omml2mathml.d.ts.map +1 -0
- package/dist/importer/docx/omml2mathml.js +1146 -0
- package/dist/importer/docx/omml2mathml.js.map +1 -0
- package/dist/importer/docx/parse.d.ts +96 -0
- package/dist/importer/docx/parse.d.ts.map +1 -0
- package/dist/importer/docx/parse.js +681 -0
- package/dist/importer/docx/parse.js.map +1 -0
- 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 +21 -0
- package/dist/importer/native/get_images.d.ts.map +1 -0
- package/dist/importer/native/get_images.js +58 -0
- package/dist/importer/native/get_images.js.map +1 -0
- 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 +7 -0
- package/dist/importer/native/update.d.ts.map +1 -0
- package/dist/importer/native/update.js +27 -0
- package/dist/importer/native/update.js.map +1 -0
- 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 +27 -0
- package/dist/importer/odt/citations.d.ts.map +1 -0
- package/dist/importer/odt/citations.js +57 -0
- package/dist/importer/odt/citations.js.map +1 -0
- package/dist/importer/odt/convert.d.ts +146 -0
- package/dist/importer/odt/convert.d.ts.map +1 -0
- package/dist/importer/odt/convert.js +1530 -0
- package/dist/importer/odt/convert.js.map +1 -0
- 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 +32 -0
- package/dist/importer/pandoc/convert.d.ts.map +1 -0
- package/dist/importer/pandoc/convert.js +790 -0
- package/dist/importer/pandoc/convert.js.map +1 -0
- package/dist/importer/pandoc/helpers.d.ts +5 -0
- package/dist/importer/pandoc/helpers.d.ts.map +1 -0
- package/dist/importer/pandoc/helpers.js +73 -0
- package/dist/importer/pandoc/helpers.js.map +1 -0
- 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 +31 -0
- package/dist/importer/zip_analyzer.d.ts.map +1 -0
- package/dist/importer/zip_analyzer.js +89 -0
- package/dist/importer/zip_analyzer.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/mathlive/opf_includes.d.ts +2 -0
- package/dist/mathlive/opf_includes.d.ts.map +1 -0
- package/dist/mathlive/opf_includes.js +25 -0
- package/dist/mathlive/opf_includes.js.map +1 -0
- package/dist/schema/common/annotate.d.ts +47 -0
- package/dist/schema/common/annotate.d.ts.map +1 -0
- package/dist/schema/common/annotate.js +75 -0
- package/dist/schema/common/annotate.js.map +1 -0
- package/dist/schema/common/base.d.ts +91 -0
- package/dist/schema/common/base.d.ts.map +1 -0
- package/dist/schema/common/base.js +109 -0
- package/dist/schema/common/base.js.map +1 -0
- package/dist/schema/common/citation.d.ts +30 -0
- package/dist/schema/common/citation.d.ts.map +1 -0
- package/dist/schema/common/citation.js +61 -0
- package/dist/schema/common/citation.js.map +1 -0
- package/dist/schema/common/equation.d.ts +17 -0
- package/dist/schema/common/equation.d.ts.map +1 -0
- package/dist/schema/common/equation.js +32 -0
- package/dist/schema/common/equation.js.map +1 -0
- package/dist/schema/common/figure.d.ts +87 -0
- package/dist/schema/common/figure.d.ts.map +1 -0
- package/dist/schema/common/figure.js +178 -0
- package/dist/schema/common/figure.js.map +1 -0
- package/dist/schema/common/heading.d.ts +9 -0
- package/dist/schema/common/heading.d.ts.map +1 -0
- package/dist/schema/common/heading.js +41 -0
- package/dist/schema/common/heading.js.map +1 -0
- package/dist/schema/common/index.d.ts +11 -0
- package/dist/schema/common/index.d.ts.map +1 -0
- package/dist/schema/common/index.js +11 -0
- package/dist/schema/common/index.js.map +1 -0
- package/dist/schema/common/list.d.ts +63 -0
- package/dist/schema/common/list.d.ts.map +1 -0
- package/dist/schema/common/list.js +92 -0
- package/dist/schema/common/list.js.map +1 -0
- package/dist/schema/common/reference.d.ts +70 -0
- package/dist/schema/common/reference.d.ts.map +1 -0
- package/dist/schema/common/reference.js +97 -0
- package/dist/schema/common/reference.js.map +1 -0
- package/dist/schema/common/table.d.ts +76 -0
- package/dist/schema/common/table.d.ts.map +1 -0
- package/dist/schema/common/table.js +86 -0
- package/dist/schema/common/table.js.map +1 -0
- package/dist/schema/common/track.d.ts +117 -0
- package/dist/schema/common/track.d.ts.map +1 -0
- package/{src → dist}/schema/common/track.js +44 -49
- package/dist/schema/common/track.js.map +1 -0
- package/dist/schema/const.d.ts +3 -0
- package/dist/schema/const.d.ts.map +1 -0
- package/{src → dist}/schema/const.js +3 -3
- package/dist/schema/const.js.map +1 -0
- package/dist/schema/convert.d.ts +3 -0
- package/dist/schema/convert.d.ts.map +1 -0
- package/dist/schema/convert.js +1215 -0
- package/dist/schema/convert.js.map +1 -0
- package/dist/schema/document/content.d.ts +110 -0
- package/dist/schema/document/content.d.ts.map +1 -0
- package/dist/schema/document/content.js +177 -0
- package/dist/schema/document/content.js.map +1 -0
- package/dist/schema/document/index.d.ts +795 -0
- package/dist/schema/document/index.d.ts.map +1 -0
- package/dist/schema/document/index.js +68 -0
- package/dist/schema/document/index.js.map +1 -0
- package/dist/schema/document/structure.d.ts +164 -0
- package/dist/schema/document/structure.d.ts.map +1 -0
- package/dist/schema/document/structure.js +445 -0
- package/dist/schema/document/structure.js.map +1 -0
- package/dist/schema/export.d.ts +7 -0
- package/dist/schema/export.d.ts.map +1 -0
- package/dist/schema/export.js +17 -0
- package/dist/schema/export.js.map +1 -0
- package/dist/schema/footnotes.d.ts +454 -0
- package/dist/schema/footnotes.d.ts.map +1 -0
- package/dist/schema/footnotes.js +90 -0
- package/dist/schema/footnotes.js.map +1 -0
- package/dist/schema/footnotes_convert.d.ts +5 -0
- package/dist/schema/footnotes_convert.d.ts.map +1 -0
- package/dist/schema/footnotes_convert.js +30 -0
- package/dist/schema/footnotes_convert.js.map +1 -0
- package/dist/schema/i18n.d.ts +55 -0
- package/dist/schema/i18n.d.ts.map +1 -0
- package/{src → dist}/schema/i18n.js +14 -23
- package/dist/schema/i18n.js.map +1 -0
- package/dist/schema/index.d.ts +6 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +6 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/mini_json.d.ts +4 -0
- package/dist/schema/mini_json.d.ts.map +1 -0
- package/{src → dist}/schema/mini_json.js +19 -28
- package/dist/schema/mini_json.js.map +1 -0
- package/dist/schema/text.d.ts +3 -0
- package/dist/schema/text.d.ts.map +1 -0
- package/dist/schema/text.js +23 -0
- package/dist/schema/text.js.map +1 -0
- package/dist/types.d.ts +281 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +51 -16
- package/scripts/export-schema.js +1 -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.ts +102 -0
- 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/{file.js → file.ts} +1 -1
- package/src/exporter/tools/{json.js → json.ts} +30 -19
- 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 +13 -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.ts +201 -0
- package/src/schema/const.ts +58 -0
- 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.ts +601 -0
- package/src/schema/mini_json.ts +60 -0
- package/src/schema/{text.js → text.ts} +6 -2
- package/src/types.ts +314 -0
- package/jest.config.js +0 -24
- 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/{index.js → index.ts} +0 -0
- /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
|
@@ -17,11 +17,11 @@ export class E2EEEncryptor {
|
|
|
17
17
|
/**
|
|
18
18
|
* Encrypt a string with AES-GCM.
|
|
19
19
|
*
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
* @returns
|
|
20
|
+
* @param plaintext - The plaintext string to encrypt
|
|
21
|
+
* @param key - An AES-GCM key (from E2EEKeyManager.deriveKey)
|
|
22
|
+
* @returns Base64-encoded string (iv + ciphertext + auth tag)
|
|
23
23
|
*/
|
|
24
|
-
static async encrypt(plaintext, key) {
|
|
24
|
+
static async encrypt(plaintext: string, key: CryptoKey): Promise<string> {
|
|
25
25
|
const iv = crypto.getRandomValues(new Uint8Array(12))
|
|
26
26
|
const encoded = new TextEncoder().encode(plaintext)
|
|
27
27
|
const ciphertext = await crypto.subtle.encrypt(
|
|
@@ -39,11 +39,14 @@ export class E2EEEncryptor {
|
|
|
39
39
|
/**
|
|
40
40
|
* Decrypt a Base64-encoded AES-GCM ciphertext.
|
|
41
41
|
*
|
|
42
|
-
* @param
|
|
43
|
-
* @param
|
|
44
|
-
* @returns
|
|
42
|
+
* @param ciphertextBase64 - Base64-encoded (iv + ciphertext + auth tag)
|
|
43
|
+
* @param key - An AES-GCM key (from E2EEKeyManager.deriveKey)
|
|
44
|
+
* @returns The decrypted plaintext string
|
|
45
45
|
*/
|
|
46
|
-
static async decrypt(
|
|
46
|
+
static async decrypt(
|
|
47
|
+
ciphertextBase64: string,
|
|
48
|
+
key: CryptoKey
|
|
49
|
+
): Promise<string> {
|
|
47
50
|
const combined = E2EEEncryptor._base64ToUint8Array(ciphertextBase64)
|
|
48
51
|
const iv = combined.slice(0, 12)
|
|
49
52
|
const ciphertext = combined.slice(12)
|
|
@@ -60,11 +63,14 @@ export class E2EEEncryptor {
|
|
|
60
63
|
*
|
|
61
64
|
* Serializes the object to JSON, then encrypts the JSON string.
|
|
62
65
|
*
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
* @returns
|
|
66
|
+
* @param obj - A JSON-serializable object
|
|
67
|
+
* @param key - An AES-GCM key
|
|
68
|
+
* @returns Base64-encoded encrypted data
|
|
66
69
|
*/
|
|
67
|
-
static encryptObject(
|
|
70
|
+
static encryptObject(
|
|
71
|
+
obj: Record<string, unknown> | unknown[],
|
|
72
|
+
key: CryptoKey
|
|
73
|
+
): Promise<string> {
|
|
68
74
|
return E2EEEncryptor.encrypt(JSON.stringify(obj), key)
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -73,11 +79,14 @@ export class E2EEEncryptor {
|
|
|
73
79
|
*
|
|
74
80
|
* Decrypts the Base64-encoded ciphertext, then parses the result as JSON.
|
|
75
81
|
*
|
|
76
|
-
* @param
|
|
77
|
-
* @param
|
|
78
|
-
* @returns
|
|
82
|
+
* @param ciphertextBase64 - Base64-encoded encrypted data
|
|
83
|
+
* @param key - An AES-GCM key
|
|
84
|
+
* @returns The decrypted and parsed object
|
|
79
85
|
*/
|
|
80
|
-
static async decryptObject(
|
|
86
|
+
static async decryptObject(
|
|
87
|
+
ciphertextBase64: string,
|
|
88
|
+
key: CryptoKey
|
|
89
|
+
): Promise<unknown> {
|
|
81
90
|
const plaintext = await E2EEEncryptor.decrypt(ciphertextBase64, key)
|
|
82
91
|
return JSON.parse(plaintext)
|
|
83
92
|
}
|
|
@@ -85,11 +94,14 @@ export class E2EEEncryptor {
|
|
|
85
94
|
/**
|
|
86
95
|
* Encrypt an ArrayBuffer (for images and other binary data).
|
|
87
96
|
*
|
|
88
|
-
* @param
|
|
89
|
-
* @param
|
|
90
|
-
* @returns
|
|
97
|
+
* @param buffer - The binary data to encrypt
|
|
98
|
+
* @param key - An AES-GCM key
|
|
99
|
+
* @returns Base64-encoded encrypted data (iv + ciphertext)
|
|
91
100
|
*/
|
|
92
|
-
static async encryptBuffer(
|
|
101
|
+
static async encryptBuffer(
|
|
102
|
+
buffer: ArrayBuffer,
|
|
103
|
+
key: CryptoKey
|
|
104
|
+
): Promise<string> {
|
|
93
105
|
const iv = crypto.getRandomValues(new Uint8Array(12))
|
|
94
106
|
const ciphertext = await crypto.subtle.encrypt(
|
|
95
107
|
{name: "AES-GCM", iv: iv},
|
|
@@ -106,15 +118,22 @@ export class E2EEEncryptor {
|
|
|
106
118
|
/**
|
|
107
119
|
* Decrypt to an ArrayBuffer.
|
|
108
120
|
*
|
|
109
|
-
* @param
|
|
110
|
-
* @param
|
|
111
|
-
* @returns
|
|
121
|
+
* @param ciphertextBase64 - Base64-encoded encrypted data
|
|
122
|
+
* @param key - An AES-GCM key
|
|
123
|
+
* @returns The decrypted binary data
|
|
112
124
|
*/
|
|
113
|
-
static decryptBuffer(
|
|
125
|
+
static decryptBuffer(
|
|
126
|
+
ciphertextBase64: string,
|
|
127
|
+
key: CryptoKey
|
|
128
|
+
): Promise<ArrayBuffer> {
|
|
114
129
|
const combined = E2EEEncryptor._base64ToUint8Array(ciphertextBase64)
|
|
115
130
|
const iv = combined.slice(0, 12)
|
|
116
131
|
const ciphertext = combined.slice(12)
|
|
117
|
-
return crypto.subtle.decrypt(
|
|
132
|
+
return crypto.subtle.decrypt(
|
|
133
|
+
{name: "AES-GCM", iv: iv},
|
|
134
|
+
key,
|
|
135
|
+
ciphertext
|
|
136
|
+
)
|
|
118
137
|
}
|
|
119
138
|
|
|
120
139
|
/**
|
|
@@ -124,11 +143,14 @@ export class E2EEEncryptor {
|
|
|
124
143
|
* a Blob with application/octet-stream type (since the encrypted
|
|
125
144
|
* data is opaque binary).
|
|
126
145
|
*
|
|
127
|
-
* @param
|
|
128
|
-
* @param
|
|
129
|
-
* @returns
|
|
146
|
+
* @param file - The image file to encrypt
|
|
147
|
+
* @param key - An AES-GCM key
|
|
148
|
+
* @returns An encrypted Blob with type application/octet-stream
|
|
130
149
|
*/
|
|
131
|
-
static async encryptImage(
|
|
150
|
+
static async encryptImage(
|
|
151
|
+
file: Blob,
|
|
152
|
+
key: CryptoKey
|
|
153
|
+
): Promise<Blob> {
|
|
132
154
|
const buffer = await file.arrayBuffer()
|
|
133
155
|
const iv = crypto.getRandomValues(new Uint8Array(12))
|
|
134
156
|
const ciphertext = await crypto.subtle.encrypt(
|
|
@@ -146,11 +168,14 @@ export class E2EEEncryptor {
|
|
|
146
168
|
/**
|
|
147
169
|
* Decrypt an encrypted image back to an ArrayBuffer.
|
|
148
170
|
*
|
|
149
|
-
* @param
|
|
150
|
-
* @param
|
|
151
|
-
* @returns
|
|
171
|
+
* @param ciphertextBase64 - Base64-encoded encrypted image data
|
|
172
|
+
* @param key - An AES-GCM key
|
|
173
|
+
* @returns The decrypted image data
|
|
152
174
|
*/
|
|
153
|
-
static decryptImage(
|
|
175
|
+
static decryptImage(
|
|
176
|
+
ciphertextBase64: string,
|
|
177
|
+
key: CryptoKey
|
|
178
|
+
): Promise<ArrayBuffer> {
|
|
154
179
|
return E2EEEncryptor.decryptBuffer(ciphertextBase64, key)
|
|
155
180
|
}
|
|
156
181
|
|
|
@@ -160,11 +185,14 @@ export class E2EEEncryptor {
|
|
|
160
185
|
* Useful for decrypting encrypted images that need to be stored
|
|
161
186
|
* as Base64 data URLs or re-exported.
|
|
162
187
|
*
|
|
163
|
-
* @param
|
|
164
|
-
* @param
|
|
165
|
-
* @returns
|
|
188
|
+
* @param ciphertextBase64 - Base64-encoded encrypted data
|
|
189
|
+
* @param key - An AES-GCM key
|
|
190
|
+
* @returns Base64-encoded decrypted data
|
|
166
191
|
*/
|
|
167
|
-
static async decryptBufferToBase64(
|
|
192
|
+
static async decryptBufferToBase64(
|
|
193
|
+
ciphertextBase64: string,
|
|
194
|
+
key: CryptoKey
|
|
195
|
+
): Promise<string> {
|
|
168
196
|
const buffer = await E2EEEncryptor.decryptBuffer(ciphertextBase64, key)
|
|
169
197
|
const bytes = new Uint8Array(buffer)
|
|
170
198
|
let binary = ""
|
|
@@ -180,12 +208,16 @@ export class E2EEEncryptor {
|
|
|
180
208
|
* Fetches the encrypted image file from the given URL, decrypts it,
|
|
181
209
|
* and creates a temporary object URL that can be used as an img src.
|
|
182
210
|
*
|
|
183
|
-
* @param
|
|
184
|
-
* @param
|
|
185
|
-
* @param
|
|
186
|
-
* @returns
|
|
211
|
+
* @param imageUrl - The URL of the encrypted image file
|
|
212
|
+
* @param key - An AES-GCM key
|
|
213
|
+
* @param mimeType - The MIME type of the decrypted image
|
|
214
|
+
* @returns A blob URL for the decrypted image
|
|
187
215
|
*/
|
|
188
|
-
static async decryptImageToUrl(
|
|
216
|
+
static async decryptImageToUrl(
|
|
217
|
+
imageUrl: string,
|
|
218
|
+
key: CryptoKey,
|
|
219
|
+
mimeType = "image/png"
|
|
220
|
+
): Promise<string> {
|
|
189
221
|
const response = await fetch(imageUrl)
|
|
190
222
|
const arrayBuffer = await response.arrayBuffer()
|
|
191
223
|
const bytes = new Uint8Array(arrayBuffer)
|
|
@@ -205,7 +237,7 @@ export class E2EEEncryptor {
|
|
|
205
237
|
* Convert a Uint8Array to a Base64-encoded string.
|
|
206
238
|
* @private
|
|
207
239
|
*/
|
|
208
|
-
static _uint8ArrayToBase64(bytes) {
|
|
240
|
+
private static _uint8ArrayToBase64(bytes: Uint8Array): string {
|
|
209
241
|
let binary = ""
|
|
210
242
|
for (let i = 0; i < bytes.length; i++) {
|
|
211
243
|
binary += String.fromCharCode(bytes[i])
|
|
@@ -217,7 +249,7 @@ export class E2EEEncryptor {
|
|
|
217
249
|
* Convert a Base64-encoded string to a Uint8Array.
|
|
218
250
|
* @private
|
|
219
251
|
*/
|
|
220
|
-
static _base64ToUint8Array(base64) {
|
|
252
|
+
private static _base64ToUint8Array(base64: string): Uint8Array {
|
|
221
253
|
const binary = atob(base64)
|
|
222
254
|
const bytes = new Uint8Array(binary.length)
|
|
223
255
|
for (let i = 0; i < binary.length; i++) {
|
|
@@ -3,10 +3,28 @@ import {DOMParser, DOMSerializer} from "prosemirror-model"
|
|
|
3
3
|
import {cslBibSchema} from "../../bibliography/csl_bib.js"
|
|
4
4
|
import {FormatCitations} from "../../citations/format.js"
|
|
5
5
|
import {fnSchema} from "../../schema/footnotes.js"
|
|
6
|
+
import type {BibDB, CSL, DocSettings, FidusNode} from "../../types.js"
|
|
6
7
|
import {descendantNodes} from "../tools/doc_content.js"
|
|
8
|
+
import type {XMLElement} from "../tools/xml.js"
|
|
9
|
+
import type {XmlZip} from "../tools/xml_zip.js"
|
|
7
10
|
|
|
8
11
|
export class DOCXExporterCitations {
|
|
9
|
-
|
|
12
|
+
docContent: FidusNode
|
|
13
|
+
settings: DocSettings
|
|
14
|
+
bibDB: BibDB
|
|
15
|
+
csl: CSL
|
|
16
|
+
xml: XmlZip
|
|
17
|
+
origCitInfos: Record<string, unknown>[]
|
|
18
|
+
|
|
19
|
+
citInfos: Record<string, unknown>[]
|
|
20
|
+
citationTexts: string[]
|
|
21
|
+
pmCits: FidusNode[]
|
|
22
|
+
citFm: FormatCitations | false
|
|
23
|
+
pmBib: FidusNode | false
|
|
24
|
+
styleXML: XMLElement | null
|
|
25
|
+
styleFilePath: string
|
|
26
|
+
|
|
27
|
+
constructor(docContent: FidusNode, settings: DocSettings, bibDB: BibDB, csl: CSL, xml: XmlZip, origCitInfos: Record<string, unknown>[] = []) {
|
|
10
28
|
this.docContent = docContent
|
|
11
29
|
this.settings = settings
|
|
12
30
|
this.bibDB = bibDB
|
|
@@ -19,11 +37,11 @@ export class DOCXExporterCitations {
|
|
|
19
37
|
this.pmCits = []
|
|
20
38
|
this.citFm = false
|
|
21
39
|
this.pmBib = false
|
|
22
|
-
this.styleXML =
|
|
40
|
+
this.styleXML = null
|
|
23
41
|
this.styleFilePath = "word/styles.xml"
|
|
24
42
|
}
|
|
25
43
|
|
|
26
|
-
init() {
|
|
44
|
+
init(): Promise<void> {
|
|
27
45
|
return this.xml
|
|
28
46
|
.getXml(this.styleFilePath)
|
|
29
47
|
.then(styleXML => {
|
|
@@ -35,7 +53,7 @@ export class DOCXExporterCitations {
|
|
|
35
53
|
|
|
36
54
|
// Citations are highly interdependent -- so we need to format them all
|
|
37
55
|
// together before laying out the document.
|
|
38
|
-
formatCitations() {
|
|
56
|
+
formatCitations(): Promise<void> {
|
|
39
57
|
if (this.origCitInfos.length) {
|
|
40
58
|
// Initial citInfos are taken from a previous run to include in bibliography,
|
|
41
59
|
// and they are removed before spitting out the citation entries for the given document.
|
|
@@ -44,21 +62,22 @@ export class DOCXExporterCitations {
|
|
|
44
62
|
}
|
|
45
63
|
|
|
46
64
|
descendantNodes(this.docContent).forEach(node => {
|
|
47
|
-
if (node.type === "citation") {
|
|
65
|
+
if (node.type === "citation" && node.attrs) {
|
|
48
66
|
this.citInfos.push(JSON.parse(JSON.stringify(node.attrs)))
|
|
49
67
|
}
|
|
50
68
|
})
|
|
51
|
-
|
|
69
|
+
const citFm = new FormatCitations(
|
|
52
70
|
this.csl,
|
|
53
|
-
this.citInfos,
|
|
54
|
-
this.settings.citationstyle,
|
|
71
|
+
this.citInfos as any,
|
|
72
|
+
this.settings.citationstyle || "",
|
|
55
73
|
"",
|
|
56
74
|
this.bibDB,
|
|
57
75
|
false,
|
|
58
76
|
this.settings.language
|
|
59
77
|
)
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
this.citFm = citFm
|
|
79
|
+
return (citFm.init() as Promise<void>).then(() => {
|
|
80
|
+
this.citationTexts = citFm.citationTexts
|
|
62
81
|
if (this.origCitInfos.length) {
|
|
63
82
|
// Remove all citation texts originating from original starting citInfos
|
|
64
83
|
this.citationTexts.splice(0, this.origCitInfos.length)
|
|
@@ -68,7 +87,10 @@ export class DOCXExporterCitations {
|
|
|
68
87
|
})
|
|
69
88
|
}
|
|
70
89
|
|
|
71
|
-
convertCitations() {
|
|
90
|
+
convertCitations(): void {
|
|
91
|
+
if (!this.citFm) {
|
|
92
|
+
return
|
|
93
|
+
}
|
|
72
94
|
// There could be some formatting in the citations, so we parse them through the PM schema for final formatting.
|
|
73
95
|
// We need to put the citations each in a paragraph so that it works with
|
|
74
96
|
// the fiduswriter schema and so that the converter doesn't mash them together.
|
|
@@ -83,30 +105,36 @@ export class DOCXExporterCitations {
|
|
|
83
105
|
|
|
84
106
|
const serializer = DOMSerializer.fromSchema(fnSchema)
|
|
85
107
|
const dom = serializer.serializeNode(fnNode)
|
|
86
|
-
dom.innerHTML = citationsHTML
|
|
108
|
+
;(dom as HTMLElement).innerHTML = citationsHTML
|
|
87
109
|
this.pmCits = DOMParser.fromSchema(fnSchema)
|
|
88
110
|
.parse(dom, {topNode: fnNode})
|
|
89
|
-
.toJSON().content
|
|
111
|
+
.toJSON().content as FidusNode[]
|
|
90
112
|
}
|
|
91
113
|
|
|
92
114
|
// Now we do the same for the bibliography.
|
|
93
|
-
const cslBib = this.citFm
|
|
115
|
+
const cslBib = this.citFm!.bibliography
|
|
94
116
|
if (cslBib && cslBib[1].length > 0) {
|
|
95
117
|
this.addReferenceStyle(cslBib[0])
|
|
96
118
|
const bibNode = cslBibSchema.nodeFromJSON({type: "cslbib"})
|
|
97
119
|
const cslSerializer = DOMSerializer.fromSchema(cslBibSchema)
|
|
98
120
|
const dom = cslSerializer.serializeNode(bibNode)
|
|
99
|
-
dom.innerHTML = cslBib[1].join("")
|
|
121
|
+
;(dom as HTMLElement).innerHTML = cslBib[1].join("")
|
|
100
122
|
this.pmBib = DOMParser.fromSchema(cslBibSchema)
|
|
101
123
|
.parse(dom, {topNode: bibNode})
|
|
102
|
-
.toJSON()
|
|
124
|
+
.toJSON() as FidusNode
|
|
103
125
|
}
|
|
104
126
|
}
|
|
105
127
|
|
|
106
|
-
addReferenceStyle(bibInfo
|
|
107
|
-
|
|
128
|
+
addReferenceStyle(bibInfo: {
|
|
129
|
+
linespacing: number
|
|
130
|
+
entryspacing: number
|
|
131
|
+
hangingindent?: boolean
|
|
132
|
+
maxoffset: number
|
|
133
|
+
"second-field-align"?: "margin" | "flush"
|
|
134
|
+
}): void {
|
|
135
|
+
const stylesEl = this.styleXML!.query("w:styles")
|
|
108
136
|
if (
|
|
109
|
-
!this.styleXML
|
|
137
|
+
!this.styleXML!.query("w:style", {
|
|
110
138
|
"w:styleId": "BibliographyHeading"
|
|
111
139
|
})
|
|
112
140
|
) {
|
|
@@ -126,15 +154,15 @@ export class DOCXExporterCitations {
|
|
|
126
154
|
<w:szCs w:val="32"/>
|
|
127
155
|
</w:rPr>
|
|
128
156
|
</w:style>`
|
|
129
|
-
stylesEl
|
|
157
|
+
stylesEl?.appendXML(headingStyleDef)
|
|
130
158
|
}
|
|
131
159
|
// The style called "Bibliography" will override any previous style
|
|
132
160
|
// of the same name.
|
|
133
|
-
const stylesParStyle = this.styleXML
|
|
161
|
+
const stylesParStyle = this.styleXML!.query("w:style", {
|
|
134
162
|
"w:styleId": "Bibliography"
|
|
135
163
|
})
|
|
136
164
|
if (stylesParStyle) {
|
|
137
|
-
stylesParStyle.parentElement
|
|
165
|
+
stylesParStyle.parentElement!.removeChild(stylesParStyle)
|
|
138
166
|
}
|
|
139
167
|
|
|
140
168
|
const lineHeight = 240 * bibInfo.linespacing
|
|
@@ -172,6 +200,6 @@ export class DOCXExporterCitations {
|
|
|
172
200
|
<w:rPr></w:rPr>
|
|
173
201
|
</w:style>`
|
|
174
202
|
|
|
175
|
-
stylesEl
|
|
203
|
+
stylesEl?.appendXML(styleDef)
|
|
176
204
|
}
|
|
177
205
|
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import {escapeText} from "fwtoolkit"
|
|
2
|
+
|
|
3
|
+
import type {CommentData, FidusNode} from "../../types.js"
|
|
2
4
|
import {descendantNodes} from "../tools/doc_content.js"
|
|
5
|
+
import type {XMLElement} from "../tools/xml.js"
|
|
6
|
+
import type {XmlZip} from "../tools/xml_zip.js"
|
|
7
|
+
import type {DOCXExporterRels} from "./rels.js"
|
|
3
8
|
|
|
4
9
|
const DEFAULT_COMMENTS_XML = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
5
10
|
<w:comments xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" mc:Ignorable="w14 wp14 w15">
|
|
@@ -10,7 +15,26 @@ const DEFAULT_COMMENTS_EXTENDED_XML = `<?xml version="1.0" encoding="UTF-8" stan
|
|
|
10
15
|
</w15:commentsEx>`
|
|
11
16
|
|
|
12
17
|
export class DOCXExporterComments {
|
|
13
|
-
|
|
18
|
+
docContent: FidusNode
|
|
19
|
+
commentsDB: Record<string, CommentData>
|
|
20
|
+
xml: XmlZip
|
|
21
|
+
rels: DOCXExporterRels
|
|
22
|
+
richtext: any
|
|
23
|
+
|
|
24
|
+
usedComments: string[]
|
|
25
|
+
commentsXML: XMLElement | null
|
|
26
|
+
commentsExtendedXML: XMLElement | null
|
|
27
|
+
commentsFilePath: string
|
|
28
|
+
commentsExtendedFilePath: string
|
|
29
|
+
commentIdCounter: number
|
|
30
|
+
|
|
31
|
+
constructor(
|
|
32
|
+
docContent: FidusNode,
|
|
33
|
+
commentsDB: Record<string, CommentData>,
|
|
34
|
+
xml: XmlZip,
|
|
35
|
+
rels: DOCXExporterRels,
|
|
36
|
+
richtext: any
|
|
37
|
+
) {
|
|
14
38
|
this.docContent = docContent
|
|
15
39
|
this.commentsDB = commentsDB
|
|
16
40
|
this.xml = xml
|
|
@@ -18,14 +42,14 @@ export class DOCXExporterComments {
|
|
|
18
42
|
this.richtext = richtext
|
|
19
43
|
|
|
20
44
|
this.usedComments = []
|
|
21
|
-
this.commentsXML =
|
|
22
|
-
this.commentsExtendedXML =
|
|
45
|
+
this.commentsXML = null
|
|
46
|
+
this.commentsExtendedXML = null
|
|
23
47
|
this.commentsFilePath = "word/comments.xml"
|
|
24
48
|
this.commentsExtendedFilePath = "word/commentsExtended.xml"
|
|
25
49
|
this.commentIdCounter = -1
|
|
26
50
|
}
|
|
27
51
|
|
|
28
|
-
init() {
|
|
52
|
+
init(): Promise<void> | undefined {
|
|
29
53
|
let useExtended = false
|
|
30
54
|
descendantNodes(this.docContent).forEach(node => {
|
|
31
55
|
if (node.marks) {
|
|
@@ -33,14 +57,17 @@ export class DOCXExporterComments {
|
|
|
33
57
|
mark => mark.type === "comment"
|
|
34
58
|
)
|
|
35
59
|
comments.forEach(comment => {
|
|
60
|
+
const commentId = String(comment.attrs?.id)
|
|
36
61
|
if (
|
|
37
|
-
|
|
38
|
-
this.
|
|
62
|
+
commentId &&
|
|
63
|
+
!this.usedComments.includes(commentId) &&
|
|
64
|
+
this.commentsDB[commentId]
|
|
39
65
|
) {
|
|
40
|
-
this.usedComments.push(
|
|
66
|
+
this.usedComments.push(commentId)
|
|
67
|
+
const commentDBEntry = this.commentsDB[commentId]
|
|
41
68
|
if (
|
|
42
|
-
|
|
43
|
-
|
|
69
|
+
commentDBEntry.resolved ||
|
|
70
|
+
commentDBEntry.answers?.length
|
|
44
71
|
) {
|
|
45
72
|
useExtended = true
|
|
46
73
|
}
|
|
@@ -52,10 +79,13 @@ export class DOCXExporterComments {
|
|
|
52
79
|
return Promise.resolve()
|
|
53
80
|
}
|
|
54
81
|
this.rels.addCommentsRel()
|
|
55
|
-
const addCommentXMLs = [
|
|
82
|
+
const addCommentXMLs: Array<Promise<void>> = [
|
|
56
83
|
this.xml
|
|
57
84
|
.getXml(this.commentsFilePath, DEFAULT_COMMENTS_XML)
|
|
58
|
-
.then(commentsXML =>
|
|
85
|
+
.then(commentsXML => {
|
|
86
|
+
this.commentsXML = commentsXML
|
|
87
|
+
return undefined
|
|
88
|
+
})
|
|
59
89
|
]
|
|
60
90
|
if (useExtended) {
|
|
61
91
|
this.rels.addCommentsExtendedRel()
|
|
@@ -65,15 +95,18 @@ export class DOCXExporterComments {
|
|
|
65
95
|
this.commentsExtendedFilePath,
|
|
66
96
|
DEFAULT_COMMENTS_EXTENDED_XML
|
|
67
97
|
)
|
|
68
|
-
.then(
|
|
69
|
-
commentsExtendedXML
|
|
70
|
-
|
|
71
|
-
)
|
|
98
|
+
.then(commentsExtendedXML => {
|
|
99
|
+
this.commentsExtendedXML = commentsExtendedXML
|
|
100
|
+
return undefined
|
|
101
|
+
})
|
|
72
102
|
)
|
|
73
103
|
}
|
|
74
104
|
return Promise.all(addCommentXMLs).then(() => {
|
|
105
|
+
if (!this.commentsXML) {
|
|
106
|
+
return Promise.resolve()
|
|
107
|
+
}
|
|
75
108
|
this.commentsXML.queryAll("w:comment").forEach(el => {
|
|
76
|
-
const id = Number.parseInt(el.getAttribute("w:id"))
|
|
109
|
+
const id = Number.parseInt(String(el.getAttribute("w:id")))
|
|
77
110
|
if (id > this.commentIdCounter) {
|
|
78
111
|
this.commentIdCounter = id
|
|
79
112
|
}
|
|
@@ -82,11 +115,17 @@ export class DOCXExporterComments {
|
|
|
82
115
|
})
|
|
83
116
|
}
|
|
84
117
|
|
|
85
|
-
addComment(id) {
|
|
118
|
+
addComment(id: string): void {
|
|
86
119
|
const commentId = ++this.commentIdCounter
|
|
87
120
|
this.richtext.comments[id] = commentId
|
|
88
121
|
const commentDBEntry = this.commentsDB[id]
|
|
122
|
+
if (!this.commentsXML || !commentDBEntry) {
|
|
123
|
+
return
|
|
124
|
+
}
|
|
89
125
|
const comments = this.commentsXML.query("w:comments")
|
|
126
|
+
if (!comments) {
|
|
127
|
+
return
|
|
128
|
+
}
|
|
90
129
|
let string = `<w:comment w:id="${commentId}" w:author="${escapeText(commentDBEntry.username)}" w:date="${new Date(commentDBEntry.date).toISOString().split(".")[0]}Z" w:initials="${escapeText(
|
|
91
130
|
commentDBEntry.username
|
|
92
131
|
.split(" ")
|
|
@@ -97,7 +136,7 @@ export class DOCXExporterComments {
|
|
|
97
136
|
let parentParagraphId = ""
|
|
98
137
|
string += commentDBEntry.comment
|
|
99
138
|
.map((node, index) => {
|
|
100
|
-
const options = {section: "CommentText"}
|
|
139
|
+
const options: Record<string, unknown> = {section: "CommentText"}
|
|
101
140
|
if (
|
|
102
141
|
(commentDBEntry.resolved ||
|
|
103
142
|
commentDBEntry.answers?.length) &&
|
|
@@ -110,9 +149,11 @@ export class DOCXExporterComments {
|
|
|
110
149
|
.padStart(8, "0")
|
|
111
150
|
options.paragraphId = parentParagraphId
|
|
112
151
|
const extendedString = `<w15:commentEx w15:paraId="${parentParagraphId}" w15:done="${commentDBEntry.resolved ? "1" : "0"}"/>`
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
152
|
+
if (this.commentsExtendedXML) {
|
|
153
|
+
const extendedComments =
|
|
154
|
+
this.commentsExtendedXML.query("w15:commentsEx")
|
|
155
|
+
extendedComments?.appendXML(extendedString)
|
|
156
|
+
}
|
|
116
157
|
}
|
|
117
158
|
if (!index) {
|
|
118
159
|
options.commentReference = true
|
|
@@ -132,7 +173,7 @@ export class DOCXExporterComments {
|
|
|
132
173
|
)}">`
|
|
133
174
|
string += answer.answer
|
|
134
175
|
.map((node, index) => {
|
|
135
|
-
const options = {section: "CommentText"}
|
|
176
|
+
const options: Record<string, unknown> = {section: "CommentText"}
|
|
136
177
|
if (index === answer.answer.length - 1) {
|
|
137
178
|
// We need to add an id to the last paragraph of the comment and add an entry
|
|
138
179
|
// into commentsExtended.xml pointing to the last paragraph of the parent comment.
|
|
@@ -141,9 +182,11 @@ export class DOCXExporterComments {
|
|
|
141
182
|
.padStart(8, "0")
|
|
142
183
|
options.paragraphId = paragraphId
|
|
143
184
|
const extendedString = `<w15:commentEx w15:paraId="${paragraphId}" w15:done="${commentDBEntry.resolved ? "1" : "0"}" w15:paraIdParent="${parentParagraphId}"/>`
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
185
|
+
if (this.commentsExtendedXML) {
|
|
186
|
+
const extendedComments =
|
|
187
|
+
this.commentsExtendedXML.query("w15:commentsEx")
|
|
188
|
+
extendedComments?.appendXML(extendedString)
|
|
189
|
+
}
|
|
147
190
|
}
|
|
148
191
|
if (!index) {
|
|
149
192
|
options.commentReference = true
|
|
@@ -156,7 +199,7 @@ export class DOCXExporterComments {
|
|
|
156
199
|
comments.appendXML(string)
|
|
157
200
|
}
|
|
158
201
|
|
|
159
|
-
exportComments() {
|
|
202
|
+
exportComments(): Promise<void> {
|
|
160
203
|
this.usedComments.forEach(comment => {
|
|
161
204
|
this.addComment(comment)
|
|
162
205
|
})
|