@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
|
@@ -1,21 +1,57 @@
|
|
|
1
1
|
import {convertLatexToMathMl} from "mathlive"
|
|
2
2
|
import pretty from "pretty"
|
|
3
3
|
|
|
4
|
-
import {escapeText} from "fwtoolkit"
|
|
5
|
-
import {
|
|
4
|
+
import {escapeText, staticUrl} from "fwtoolkit"
|
|
5
|
+
import {getCat} from "../../schema/i18n.js"
|
|
6
|
+
import type {BibDB, CSL, DocSettings, FidusNode} from "../../types.js"
|
|
7
|
+
import {descendantNodes} from "../tools/doc_content.js"
|
|
6
8
|
import {HTMLExporterCitations} from "./citations.js"
|
|
7
9
|
import {displayNumber} from "./tools.js"
|
|
8
10
|
|
|
9
11
|
export class HTMLExporterConvert {
|
|
12
|
+
docTitle: string
|
|
13
|
+
docSettings: DocSettings
|
|
14
|
+
docContent: FidusNode
|
|
15
|
+
htmlExportTemplate: any
|
|
16
|
+
imageDB: any
|
|
17
|
+
bibDB: BibDB
|
|
18
|
+
csl: CSL
|
|
19
|
+
styleSheets: any[]
|
|
20
|
+
xhtml: boolean
|
|
21
|
+
epub: boolean
|
|
22
|
+
relativeUrls: boolean
|
|
23
|
+
footnoteNumbering: string
|
|
24
|
+
affiliationNumbering: string
|
|
25
|
+
|
|
26
|
+
endSlash: string
|
|
27
|
+
imageIds: string[]
|
|
28
|
+
categoryCounter: Record<string, number>
|
|
29
|
+
affiliations: Record<string, number>
|
|
30
|
+
parCounter: number
|
|
31
|
+
headingCounter: number
|
|
32
|
+
currentSectionLevel: number
|
|
33
|
+
listCounter: number
|
|
34
|
+
orderedListLengths: number[]
|
|
35
|
+
footnotes: string[]
|
|
36
|
+
fnCounter: number
|
|
37
|
+
affCounter: number
|
|
38
|
+
metaData: any
|
|
39
|
+
features: {math: boolean; bibliography: boolean}
|
|
40
|
+
citations: any
|
|
41
|
+
citInfos: any[]
|
|
42
|
+
citationCount: number
|
|
43
|
+
extraStyleSheets: any[]
|
|
44
|
+
idPrefix: string
|
|
45
|
+
|
|
10
46
|
constructor(
|
|
11
|
-
docTitle,
|
|
12
|
-
docSettings,
|
|
13
|
-
docContent,
|
|
14
|
-
htmlExportTemplate,
|
|
15
|
-
imageDB,
|
|
16
|
-
bibDB,
|
|
17
|
-
csl,
|
|
18
|
-
styleSheets,
|
|
47
|
+
docTitle: string,
|
|
48
|
+
docSettings: DocSettings,
|
|
49
|
+
docContent: FidusNode,
|
|
50
|
+
htmlExportTemplate: any,
|
|
51
|
+
imageDB: any,
|
|
52
|
+
bibDB: BibDB,
|
|
53
|
+
csl: CSL,
|
|
54
|
+
styleSheets: any[],
|
|
19
55
|
{
|
|
20
56
|
xhtml = false,
|
|
21
57
|
epub = false,
|
|
@@ -26,7 +62,7 @@ export class HTMLExporterConvert {
|
|
|
26
62
|
footnoteOffset = 0,
|
|
27
63
|
affiliationOffset = 0,
|
|
28
64
|
figureOffset = {}
|
|
29
|
-
} = {}
|
|
65
|
+
}: any = {}
|
|
30
66
|
) {
|
|
31
67
|
this.docTitle = docTitle
|
|
32
68
|
this.docSettings = docSettings
|
|
@@ -81,12 +117,12 @@ export class HTMLExporterConvert {
|
|
|
81
117
|
this.categoryCounter = Object.assign({}, figureOffset)
|
|
82
118
|
}
|
|
83
119
|
|
|
84
|
-
init() {
|
|
120
|
+
init(): Promise<any> {
|
|
85
121
|
this.analyze(this.docContent)
|
|
86
122
|
return this.process()
|
|
87
123
|
}
|
|
88
124
|
|
|
89
|
-
async processCitInfos() {
|
|
125
|
+
async processCitInfos(): Promise<void> {
|
|
90
126
|
const citationProcessor = new HTMLExporterCitations(
|
|
91
127
|
this.docSettings,
|
|
92
128
|
this.bibDB,
|
|
@@ -96,7 +132,7 @@ export class HTMLExporterConvert {
|
|
|
96
132
|
this.citations = citations
|
|
97
133
|
}
|
|
98
134
|
|
|
99
|
-
async process() {
|
|
135
|
+
async process(): Promise<any> {
|
|
100
136
|
if (this.citInfos.length) {
|
|
101
137
|
await this.processCitInfos()
|
|
102
138
|
}
|
|
@@ -124,7 +160,7 @@ export class HTMLExporterConvert {
|
|
|
124
160
|
body,
|
|
125
161
|
back,
|
|
126
162
|
settings: this.docSettings,
|
|
127
|
-
lang: this.docSettings.language
|
|
163
|
+
lang: this.docSettings.language!.split("-")[0],
|
|
128
164
|
xhtml: this.xhtml,
|
|
129
165
|
epub: this.epub
|
|
130
166
|
})
|
|
@@ -137,14 +173,14 @@ export class HTMLExporterConvert {
|
|
|
137
173
|
}
|
|
138
174
|
|
|
139
175
|
// Find information for meta tags in header
|
|
140
|
-
analyze(node) {
|
|
176
|
+
analyze(node: any): void {
|
|
141
177
|
switch (node.type) {
|
|
142
178
|
case "citation":
|
|
143
179
|
this.citInfos.push(JSON.parse(JSON.stringify(node.attrs)))
|
|
144
180
|
break
|
|
145
181
|
case "contributors_part":
|
|
146
182
|
if (node.attrs.metadata === "authors" && node.content) {
|
|
147
|
-
node.content.forEach(author => {
|
|
183
|
+
node.content.forEach((author: any) => {
|
|
148
184
|
this.metaData.authors.push(author)
|
|
149
185
|
})
|
|
150
186
|
}
|
|
@@ -163,7 +199,7 @@ export class HTMLExporterConvert {
|
|
|
163
199
|
level,
|
|
164
200
|
id: node.attrs.id,
|
|
165
201
|
title: (node.content || [])
|
|
166
|
-
.map(subNode => this.walkJson(subNode))
|
|
202
|
+
.map((subNode: any) => this.walkJson(subNode))
|
|
167
203
|
.join("")
|
|
168
204
|
})
|
|
169
205
|
break
|
|
@@ -173,7 +209,7 @@ export class HTMLExporterConvert {
|
|
|
173
209
|
this.features.math = true
|
|
174
210
|
break
|
|
175
211
|
case "footnote":
|
|
176
|
-
node.attrs.footnote.forEach(child => this.analyze(child))
|
|
212
|
+
node.attrs.footnote.forEach((child: any) => this.analyze(child))
|
|
177
213
|
break
|
|
178
214
|
case "richtext_part":
|
|
179
215
|
if (
|
|
@@ -186,7 +222,7 @@ export class HTMLExporterConvert {
|
|
|
186
222
|
break
|
|
187
223
|
case "tags_part":
|
|
188
224
|
if (node.attrs.metadata === "keywords" && node.content) {
|
|
189
|
-
node.content.forEach(tag => {
|
|
225
|
+
node.content.forEach((tag: any) => {
|
|
190
226
|
this.metaData.keywords.push(tag.attrs.tag)
|
|
191
227
|
})
|
|
192
228
|
}
|
|
@@ -209,17 +245,17 @@ export class HTMLExporterConvert {
|
|
|
209
245
|
break
|
|
210
246
|
}
|
|
211
247
|
if (node.content) {
|
|
212
|
-
node.content.forEach(child => this.analyze(child))
|
|
248
|
+
node.content.forEach((child: any) => this.analyze(child))
|
|
213
249
|
}
|
|
214
250
|
}
|
|
215
251
|
|
|
216
|
-
assembleHead() {
|
|
252
|
+
assembleHead(): string {
|
|
217
253
|
let head = `<title>${escapeText(this.metaData.title)}</title>`
|
|
218
254
|
if (this.metaData.authors.length) {
|
|
219
255
|
const authorString = this.metaData.authors
|
|
220
|
-
.map(author => {
|
|
256
|
+
.map((author: any) => {
|
|
221
257
|
if (author.firstname || author.lastname) {
|
|
222
|
-
const nameParts = []
|
|
258
|
+
const nameParts: string[] = []
|
|
223
259
|
if (author.firstname) {
|
|
224
260
|
nameParts.push(author.firstname)
|
|
225
261
|
}
|
|
@@ -247,7 +283,7 @@ export class HTMLExporterConvert {
|
|
|
247
283
|
|
|
248
284
|
head += this.metaData.copyright.licenses
|
|
249
285
|
.map(
|
|
250
|
-
license =>
|
|
286
|
+
(license: any) =>
|
|
251
287
|
`<link rel="license" href="${escapeText(license.url)}"${this.endSlash}>` // TODO: Add this.metaData.copyright.license.start info if present
|
|
252
288
|
)
|
|
253
289
|
.join("")
|
|
@@ -265,7 +301,7 @@ export class HTMLExporterConvert {
|
|
|
265
301
|
}
|
|
266
302
|
head += this.styleSheets
|
|
267
303
|
.concat(this.extraStyleSheets)
|
|
268
|
-
.map(sheet => {
|
|
304
|
+
.map((sheet: any) => {
|
|
269
305
|
if (!sheet.filename && !sheet.contents) {
|
|
270
306
|
console.warn(
|
|
271
307
|
"No filename or contents for stylesheet.",
|
|
@@ -282,19 +318,19 @@ export class HTMLExporterConvert {
|
|
|
282
318
|
}
|
|
283
319
|
|
|
284
320
|
// Only allow for text output
|
|
285
|
-
textWalkJson(node) {
|
|
321
|
+
textWalkJson(node: any): string {
|
|
286
322
|
let content = ""
|
|
287
323
|
if (node.type === "text") {
|
|
288
324
|
content += escapeText(node.text).normalize("NFC")
|
|
289
325
|
} else if (node.content) {
|
|
290
|
-
node.content.forEach(child => {
|
|
326
|
+
node.content.forEach((child: any) => {
|
|
291
327
|
content += this.textWalkJson(child)
|
|
292
328
|
})
|
|
293
329
|
}
|
|
294
330
|
return content
|
|
295
331
|
}
|
|
296
332
|
|
|
297
|
-
walkJson(node, options = {}) {
|
|
333
|
+
walkJson(node: any, options: any = {}): string {
|
|
298
334
|
let start = "",
|
|
299
335
|
content = "",
|
|
300
336
|
end = ""
|
|
@@ -317,13 +353,13 @@ export class HTMLExporterConvert {
|
|
|
317
353
|
start += `<div class="doc-part doc-contributors doc-${node.attrs.id} ${node.attrs.metadata || "other"}" id="${this.idPrefix}${node.attrs.id}"${node.attrs.language ? ` lang="${node.attrs.language}"` : ""}>`
|
|
318
354
|
end = "</div>" + end
|
|
319
355
|
let counter = 0
|
|
320
|
-
const contributorOutputs = []
|
|
321
|
-
node.content.forEach(childNode => {
|
|
356
|
+
const contributorOutputs: string[] = []
|
|
357
|
+
node.content.forEach((childNode: any) => {
|
|
322
358
|
const contributor = childNode.attrs
|
|
323
359
|
let output = ""
|
|
324
360
|
if (contributor.firstname || contributor.lastname) {
|
|
325
361
|
output += `<span id="${this.idPrefix}${node.attrs.id}-${counter++}" class="person">`
|
|
326
|
-
const nameParts = []
|
|
362
|
+
const nameParts: string[] = []
|
|
327
363
|
if (contributor.firstname) {
|
|
328
364
|
nameParts.push(
|
|
329
365
|
`<span class="firstname">${escapeText(contributor.firstname)}</span>`
|
|
@@ -392,7 +428,7 @@ export class HTMLExporterConvert {
|
|
|
392
428
|
start += `<div class="doc-part table-of-contents"><h1>${escapeText(node.attrs.title)}</h1>`
|
|
393
429
|
content += this.metaData.toc
|
|
394
430
|
.map(
|
|
395
|
-
item =>
|
|
431
|
+
(item: any) =>
|
|
396
432
|
`<h${item.level}><a href="#${item.id}">${item.title}</a></h${item.level}>`
|
|
397
433
|
)
|
|
398
434
|
.join("")
|
|
@@ -423,7 +459,7 @@ export class HTMLExporterConvert {
|
|
|
423
459
|
break
|
|
424
460
|
}
|
|
425
461
|
case "code_block": {
|
|
426
|
-
const attrs = []
|
|
462
|
+
const attrs: string[] = []
|
|
427
463
|
if (node.attrs.language) {
|
|
428
464
|
attrs.push(
|
|
429
465
|
`data-language="${escapeText(node.attrs.language)}"`
|
|
@@ -442,29 +478,27 @@ export class HTMLExporterConvert {
|
|
|
442
478
|
|
|
443
479
|
// If there's a category, wrap in figure for proper numbering
|
|
444
480
|
if (node.attrs.category && node.attrs.id) {
|
|
445
|
-
const language = this.
|
|
446
|
-
const
|
|
447
|
-
const categoryLabel =
|
|
448
|
-
CATS[node.attrs.category]?.[language] ||
|
|
449
|
-
node.attrs.category
|
|
481
|
+
const language = this.docSettings.language || "en-US"
|
|
482
|
+
const categoryLabel = getCat(node.attrs.category, language)
|
|
450
483
|
|
|
451
484
|
// Count code blocks to get the number
|
|
452
|
-
const categories = {}
|
|
453
|
-
|
|
485
|
+
const categories: Record<string, number> = {}
|
|
486
|
+
for (const n of descendantNodes(this.docContent)) {
|
|
454
487
|
if (
|
|
455
488
|
n.type === "code_block" &&
|
|
456
|
-
n.attrs
|
|
489
|
+
n.attrs?.category &&
|
|
457
490
|
n.attrs.id
|
|
458
491
|
) {
|
|
459
|
-
|
|
460
|
-
|
|
492
|
+
const category = n.attrs.category as string
|
|
493
|
+
if (!categories[category]) {
|
|
494
|
+
categories[category] = 0
|
|
461
495
|
}
|
|
462
|
-
categories[
|
|
496
|
+
categories[category]++
|
|
463
497
|
if (n.attrs.id === node.attrs.id) {
|
|
464
|
-
|
|
498
|
+
break
|
|
465
499
|
}
|
|
466
500
|
}
|
|
467
|
-
}
|
|
501
|
+
}
|
|
468
502
|
const number = categories[node.attrs.category] || 1
|
|
469
503
|
const label = node.attrs.title
|
|
470
504
|
? `${categoryLabel} ${number}: ${escapeText(node.attrs.title)}`
|
|
@@ -528,19 +562,32 @@ export class HTMLExporterConvert {
|
|
|
528
562
|
end = "</aside>" + end
|
|
529
563
|
break
|
|
530
564
|
case "text": {
|
|
531
|
-
let strong
|
|
565
|
+
let strong: any,
|
|
566
|
+
em: any,
|
|
567
|
+
underline: any,
|
|
568
|
+
hyperlink: any,
|
|
569
|
+
anchor: any,
|
|
570
|
+
sup: any,
|
|
571
|
+
sub: any,
|
|
572
|
+
code: any
|
|
532
573
|
// Check for hyperlink, bold/strong, italic/em and underline
|
|
533
574
|
if (node.marks) {
|
|
534
|
-
strong = node.marks.find(
|
|
535
|
-
|
|
575
|
+
strong = node.marks.find(
|
|
576
|
+
(mark: any) => mark.type === "strong"
|
|
577
|
+
)
|
|
578
|
+
em = node.marks.find((mark: any) => mark.type === "em")
|
|
536
579
|
underline = node.marks.find(
|
|
537
|
-
mark => mark.type === "underline"
|
|
580
|
+
(mark: any) => mark.type === "underline"
|
|
581
|
+
)
|
|
582
|
+
hyperlink = node.marks.find(
|
|
583
|
+
(mark: any) => mark.type === "link"
|
|
584
|
+
)
|
|
585
|
+
anchor = node.marks.find(
|
|
586
|
+
(mark: any) => mark.type === "anchor"
|
|
538
587
|
)
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
sub = node.marks.find(mark => mark.type === "sub")
|
|
543
|
-
code = node.marks.find(mark => mark.type === "code")
|
|
588
|
+
sup = node.marks.find((mark: any) => mark.type === "sup")
|
|
589
|
+
sub = node.marks.find((mark: any) => mark.type === "sub")
|
|
590
|
+
code = node.marks.find((mark: any) => mark.type === "code")
|
|
544
591
|
}
|
|
545
592
|
if (em) {
|
|
546
593
|
start += "<em>"
|
|
@@ -609,9 +656,9 @@ export class HTMLExporterConvert {
|
|
|
609
656
|
break
|
|
610
657
|
}
|
|
611
658
|
case "figure": {
|
|
612
|
-
let imageUrl, copyright
|
|
659
|
+
let imageUrl: string | undefined, copyright: any
|
|
613
660
|
const image =
|
|
614
|
-
node.content.find(node => node.type === "image")?.attrs
|
|
661
|
+
node.content.find((node: any) => node.type === "image")?.attrs
|
|
615
662
|
.image || false
|
|
616
663
|
if (image !== false) {
|
|
617
664
|
this.imageIds.push(image)
|
|
@@ -619,11 +666,11 @@ export class HTMLExporterConvert {
|
|
|
619
666
|
filePathName = imageDBEntry.image
|
|
620
667
|
copyright = imageDBEntry.copyright
|
|
621
668
|
imageUrl = this.relativeUrls
|
|
622
|
-
? `images/${filePathName.split("/").pop()}`
|
|
623
|
-
: filePathName
|
|
669
|
+
? `images/${filePathName!.toString().split("/").pop()!}`
|
|
670
|
+
: (filePathName as string)
|
|
624
671
|
}
|
|
625
672
|
const caption = node.attrs.caption
|
|
626
|
-
? node.content.find(node => node.type === "figure_caption")
|
|
673
|
+
? node.content.find((node: any) => node.type === "figure_caption")
|
|
627
674
|
?.content || []
|
|
628
675
|
: []
|
|
629
676
|
if (
|
|
@@ -644,7 +691,7 @@ export class HTMLExporterConvert {
|
|
|
644
691
|
end = "</figure>" + end
|
|
645
692
|
|
|
646
693
|
const equation = node.content.find(
|
|
647
|
-
node => node.type === "figure_equation"
|
|
694
|
+
(node: any) => node.type === "figure_equation"
|
|
648
695
|
)?.attrs.equation
|
|
649
696
|
|
|
650
697
|
if (image && copyright?.holder) {
|
|
@@ -657,7 +704,7 @@ export class HTMLExporterConvert {
|
|
|
657
704
|
figureFooter += `<span class="copyright-holder">${escapeText(copyright.holder)}</span> `
|
|
658
705
|
figureFooter += copyright.licenses
|
|
659
706
|
.map(
|
|
660
|
-
license =>
|
|
707
|
+
(license: any) =>
|
|
661
708
|
`<span class="license"><a rel="license"${license.start ? ` data-start="${license.start}"` : ""}>${escapeText(license.url)}</a></span>`
|
|
662
709
|
)
|
|
663
710
|
.join("")
|
|
@@ -673,11 +720,11 @@ export class HTMLExporterConvert {
|
|
|
673
720
|
this.categoryCounter[category] = 0
|
|
674
721
|
}
|
|
675
722
|
const catCount = ++this.categoryCounter[category]
|
|
676
|
-
const catLabel = `${
|
|
723
|
+
const catLabel = `${getCat(category, this.docSettings.language || "en-US")} ${catCount}`
|
|
677
724
|
figcaption += `<label>${escapeText(catLabel)}</label>`
|
|
678
725
|
}
|
|
679
726
|
if (caption.length) {
|
|
680
|
-
figcaption += `<p>${caption.map(node => this.walkJson(node)).join("")}</p>`
|
|
727
|
+
figcaption += `<p>${caption.map((node: any) => this.walkJson(node)).join("")}</p>`
|
|
681
728
|
}
|
|
682
729
|
figcaption += "</figcaption>"
|
|
683
730
|
if (category === "table") {
|
|
@@ -726,14 +773,14 @@ export class HTMLExporterConvert {
|
|
|
726
773
|
this.categoryCounter[category] = 0
|
|
727
774
|
}
|
|
728
775
|
const catCount = ++this.categoryCounter[category]
|
|
729
|
-
const catLabel = `${
|
|
776
|
+
const catLabel = `${getCat(category, this.docSettings.language || "en-US")} ${catCount}`
|
|
730
777
|
start += `<label>${escapeText(catLabel)}</label>`
|
|
731
778
|
}
|
|
732
779
|
const caption = node.attrs.caption
|
|
733
780
|
? node.content[0].content || []
|
|
734
781
|
: []
|
|
735
782
|
if (caption.length) {
|
|
736
|
-
start += `<caption><p>${caption.map(node => this.walkJson(node)).join("")}</p></caption>`
|
|
783
|
+
start += `<caption><p>${caption.map((node: any) => this.walkJson(node)).join("")}</p></caption>`
|
|
737
784
|
}
|
|
738
785
|
start += "<tbody>"
|
|
739
786
|
end = "</tbody>" + end
|
|
@@ -770,7 +817,7 @@ export class HTMLExporterConvert {
|
|
|
770
817
|
}
|
|
771
818
|
|
|
772
819
|
if (!content.length && node.content) {
|
|
773
|
-
node.content.forEach(child => {
|
|
820
|
+
node.content.forEach((child: any) => {
|
|
774
821
|
content += this.walkJson(child, options)
|
|
775
822
|
})
|
|
776
823
|
}
|
|
@@ -778,11 +825,11 @@ export class HTMLExporterConvert {
|
|
|
778
825
|
return start + content + end
|
|
779
826
|
}
|
|
780
827
|
|
|
781
|
-
assembleBody() {
|
|
828
|
+
assembleBody(): string {
|
|
782
829
|
return `<div id="${this.idPrefix}body">${this.walkJson(this.docContent)}</div>`
|
|
783
830
|
}
|
|
784
831
|
|
|
785
|
-
assembleBack() {
|
|
832
|
+
assembleBack(): string {
|
|
786
833
|
let back = ""
|
|
787
834
|
if (
|
|
788
835
|
this.footnotes.length ||
|
|
@@ -796,7 +843,7 @@ export class HTMLExporterConvert {
|
|
|
796
843
|
)
|
|
797
844
|
.map(
|
|
798
845
|
([name, id]) =>
|
|
799
|
-
`<aside class="affiliation" id="aff-${id}"${this.epub ? 'epub:type="footnote"' : ""}><label>${displayNumber(id, this.affiliationNumbering)}</label> <div>${escapeText(name)}</div></aside>`
|
|
846
|
+
`<aside class="affiliation" id="aff-${id}"${this.epub ? 'epub:type="footnote"' : ""}><label>${displayNumber(id as number, this.affiliationNumbering)}</label> <div>${escapeText(name)}</div></aside>`
|
|
800
847
|
)
|
|
801
848
|
.join("")}</section>`
|
|
802
849
|
}
|
|
@@ -1,27 +1,57 @@
|
|
|
1
1
|
import download from "downloadjs"
|
|
2
2
|
import pretty from "pretty"
|
|
3
3
|
|
|
4
|
-
import {shortFileTitle} from "fwtoolkit"
|
|
4
|
+
import {shortFileTitle, staticUrl} from "fwtoolkit"
|
|
5
|
+
import type {BibDB, CSL, ExportDoc, FidusNode, ImageDB} from "../../types.js"
|
|
5
6
|
import {removeHidden} from "../tools/doc_content.js"
|
|
6
7
|
import {createSlug} from "../tools/file.js"
|
|
7
|
-
import {ZipFileCreator} from "../tools/zip.js"
|
|
8
|
-
|
|
8
|
+
import {ZipFileCreator, type ZipTextFile} from "../tools/zip.js"
|
|
9
9
|
import {HTMLExporterConvert} from "./convert.js"
|
|
10
10
|
import {htmlExportTemplate} from "./templates.js"
|
|
11
|
+
|
|
11
12
|
/*
|
|
12
13
|
Exporter to HTML
|
|
13
14
|
*/
|
|
14
15
|
|
|
15
16
|
export class HTMLExporter {
|
|
17
|
+
doc: ExportDoc
|
|
18
|
+
bibDB: BibDB
|
|
19
|
+
imageDB: ImageDB
|
|
20
|
+
csl: CSL
|
|
21
|
+
updated: any
|
|
22
|
+
documentStyles: Array<{
|
|
23
|
+
slug: string
|
|
24
|
+
contents: string
|
|
25
|
+
documentstylefile_set: Array<[string, string]>
|
|
26
|
+
}>
|
|
27
|
+
converterOptions: Record<string, unknown>
|
|
28
|
+
|
|
29
|
+
docTitle: string
|
|
30
|
+
docContent: any
|
|
31
|
+
zipFileName: string | false
|
|
32
|
+
textFiles: Array<{filename: string; contents?: string; url?: string}>
|
|
33
|
+
httpFiles: Array<{filename: string; url: string}>
|
|
34
|
+
includeZips: Array<{directory: string; url: string}>
|
|
35
|
+
metaData: any
|
|
36
|
+
htmlExportTemplate: typeof htmlExportTemplate
|
|
37
|
+
contentFileName: string
|
|
38
|
+
fileEnding: string
|
|
39
|
+
mimeType: string
|
|
40
|
+
styleSheets: Array<{url?: string; filename?: string; contents?: string}>
|
|
41
|
+
|
|
16
42
|
constructor(
|
|
17
|
-
doc,
|
|
18
|
-
bibDB,
|
|
19
|
-
imageDB,
|
|
20
|
-
csl,
|
|
21
|
-
updated,
|
|
22
|
-
documentStyles
|
|
23
|
-
|
|
24
|
-
|
|
43
|
+
doc: ExportDoc,
|
|
44
|
+
bibDB: BibDB,
|
|
45
|
+
imageDB: ImageDB,
|
|
46
|
+
csl: CSL,
|
|
47
|
+
updated: any,
|
|
48
|
+
documentStyles: Array<{
|
|
49
|
+
slug: string
|
|
50
|
+
contents: string
|
|
51
|
+
documentstylefile_set: Array<[string, string]>
|
|
52
|
+
}>,
|
|
53
|
+
converterOptions: Record<string, unknown> = {},
|
|
54
|
+
template: typeof htmlExportTemplate = htmlExportTemplate
|
|
25
55
|
) {
|
|
26
56
|
this.doc = doc
|
|
27
57
|
this.bibDB = bibDB
|
|
@@ -31,7 +61,7 @@ export class HTMLExporter {
|
|
|
31
61
|
this.documentStyles = documentStyles
|
|
32
62
|
this.converterOptions = converterOptions
|
|
33
63
|
|
|
34
|
-
this.docTitle = shortFileTitle(this.doc.title, this.doc.path)
|
|
64
|
+
this.docTitle = shortFileTitle(this.doc.title, this.doc.path || "")
|
|
35
65
|
|
|
36
66
|
this.docContent = false
|
|
37
67
|
this.zipFileName = false
|
|
@@ -53,15 +83,15 @@ export class HTMLExporter {
|
|
|
53
83
|
this.styleSheets = [{url: staticUrl("css/document.css")}]
|
|
54
84
|
}
|
|
55
85
|
|
|
56
|
-
async init() {
|
|
86
|
+
async init(): Promise<void> {
|
|
57
87
|
await this.process()
|
|
58
88
|
return await this.createZip()
|
|
59
89
|
}
|
|
60
90
|
|
|
61
|
-
async process() {
|
|
91
|
+
async process(): Promise<void> {
|
|
62
92
|
// Process the document and prepare files
|
|
63
93
|
this.zipFileName = `${createSlug(this.docTitle)}.${this.fileEnding}`
|
|
64
|
-
this.docContent = removeHidden(this.doc.content)
|
|
94
|
+
this.docContent = removeHidden(this.doc.content) as FidusNode
|
|
65
95
|
|
|
66
96
|
const docStyle = this.getDocStyle(this.doc)
|
|
67
97
|
|
|
@@ -95,11 +125,13 @@ export class HTMLExporter {
|
|
|
95
125
|
this.addDoc(html)
|
|
96
126
|
this.addImages(imageIds)
|
|
97
127
|
await Promise.all(
|
|
98
|
-
extraStyleSheets.map(async sheet => await this.loadStyle(sheet))
|
|
128
|
+
extraStyleSheets.map(async (sheet: any) => await this.loadStyle(sheet))
|
|
99
129
|
)
|
|
100
130
|
}
|
|
101
131
|
|
|
102
|
-
|
|
132
|
+
converter: any
|
|
133
|
+
|
|
134
|
+
getProcessedFiles(): any {
|
|
103
135
|
// Return the processed files and metadata. Used when using the
|
|
104
136
|
// exporter in a different context than creating a zip file.
|
|
105
137
|
return {
|
|
@@ -111,24 +143,24 @@ export class HTMLExporter {
|
|
|
111
143
|
}
|
|
112
144
|
}
|
|
113
145
|
|
|
114
|
-
addDoc(html) {
|
|
146
|
+
addDoc(html: string): void {
|
|
115
147
|
this.textFiles.push({
|
|
116
148
|
filename: this.contentFileName,
|
|
117
149
|
contents: pretty(html, {ocd: true})
|
|
118
150
|
})
|
|
119
151
|
}
|
|
120
152
|
|
|
121
|
-
addImages(imageIds) {
|
|
153
|
+
addImages(imageIds: string[]): void {
|
|
122
154
|
imageIds.forEach(id => {
|
|
123
155
|
const image = this.imageDB.db[id]
|
|
124
156
|
this.httpFiles.push({
|
|
125
|
-
filename: `images/${image.image.split("/").pop()}`,
|
|
126
|
-
url: image.image
|
|
157
|
+
filename: `images/${image.image!.toString().split("/").pop()!}`,
|
|
158
|
+
url: image.image as string
|
|
127
159
|
})
|
|
128
160
|
})
|
|
129
161
|
}
|
|
130
162
|
|
|
131
|
-
getDocStyle(doc) {
|
|
163
|
+
getDocStyle(doc: ExportDoc): {contents: string; filename: string} | false {
|
|
132
164
|
const docStyle = this.documentStyles.find(
|
|
133
165
|
docStyle => docStyle.slug === doc.settings.documentstyle
|
|
134
166
|
)
|
|
@@ -155,7 +187,9 @@ export class HTMLExporter {
|
|
|
155
187
|
return {contents, filename: `css/${docStyle.slug}.css`}
|
|
156
188
|
}
|
|
157
189
|
|
|
158
|
-
async loadStyle(
|
|
190
|
+
async loadStyle(
|
|
191
|
+
sheet: {url?: string; filename?: string; contents?: string}
|
|
192
|
+
): Promise<any> {
|
|
159
193
|
if (sheet.url) {
|
|
160
194
|
// Use simple fetch without X-Requested-With header and credentials
|
|
161
195
|
// to avoid CORS preflight redirect issues with CDNs
|
|
@@ -165,18 +199,18 @@ export class HTMLExporter {
|
|
|
165
199
|
}
|
|
166
200
|
const text = await response.text()
|
|
167
201
|
sheet.contents = text
|
|
168
|
-
sheet.filename = `css/${sheet.url.split("/").pop()
|
|
202
|
+
sheet.filename = `css/${sheet.url.split("/").pop()!.split("?")[0]}`
|
|
169
203
|
delete sheet.url
|
|
170
204
|
}
|
|
171
205
|
if (sheet.filename) {
|
|
172
|
-
this.textFiles.push(sheet)
|
|
206
|
+
this.textFiles.push(sheet as {filename: string; contents?: string})
|
|
173
207
|
}
|
|
174
208
|
return Promise.resolve(sheet)
|
|
175
209
|
}
|
|
176
210
|
|
|
177
|
-
async createZip() {
|
|
211
|
+
async createZip(): Promise<void> {
|
|
178
212
|
const zipper = new ZipFileCreator(
|
|
179
|
-
this.textFiles,
|
|
213
|
+
this.textFiles as ZipTextFile[],
|
|
180
214
|
this.httpFiles,
|
|
181
215
|
this.includeZips,
|
|
182
216
|
this.mimeType,
|
|
@@ -186,7 +220,7 @@ export class HTMLExporter {
|
|
|
186
220
|
return this.download(blob)
|
|
187
221
|
}
|
|
188
222
|
|
|
189
|
-
download(blob) {
|
|
190
|
-
return download(blob, this.zipFileName, this.mimeType)
|
|
223
|
+
download(blob: Blob): void {
|
|
224
|
+
return download(blob, this.zipFileName as string, this.mimeType)
|
|
191
225
|
}
|
|
192
226
|
}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import {escapeText} from "fwtoolkit"
|
|
2
2
|
|
|
3
|
+
import type {DocSettings} from "../../types.js"
|
|
4
|
+
|
|
5
|
+
export interface HtmlExportSettings extends DocSettings {
|
|
6
|
+
copyright?: {
|
|
7
|
+
holder?: string
|
|
8
|
+
year?: number
|
|
9
|
+
licenses?: Array<{url: string; title: string; start?: number}>
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface HtmlExportTemplateOptions {
|
|
14
|
+
head: string
|
|
15
|
+
body: string
|
|
16
|
+
back: string
|
|
17
|
+
settings: HtmlExportSettings
|
|
18
|
+
lang: string
|
|
19
|
+
xhtml?: boolean
|
|
20
|
+
epub?: boolean
|
|
21
|
+
}
|
|
22
|
+
|
|
3
23
|
/** A template for HTML export of a document. */
|
|
4
24
|
export const htmlExportTemplate = ({
|
|
5
25
|
head,
|
|
@@ -9,7 +29,7 @@ export const htmlExportTemplate = ({
|
|
|
9
29
|
lang,
|
|
10
30
|
xhtml,
|
|
11
31
|
epub
|
|
12
|
-
}) =>
|
|
32
|
+
}: HtmlExportTemplateOptions): string =>
|
|
13
33
|
`${xhtml ? '<?xml version="1.0" encoding="UTF-8"?>' : "<!DOCTYPE html>"}
|
|
14
34
|
<html ${xhtml ? `xmlns="http://www.w3.org/1999/xhtml" ${epub ? 'xmlns:epub="http://www.idpf.org/2007/ops"' : ""}` : ""} lang="${lang}"${xhtml ? ` xml:lang="${lang}"` : ""}>
|
|
15
35
|
<head>
|
|
@@ -26,7 +46,7 @@ export const htmlExportTemplate = ({
|
|
|
26
46
|
: ""
|
|
27
47
|
}
|
|
28
48
|
${
|
|
29
|
-
settings.copyright && settings.copyright.licenses
|
|
49
|
+
settings.copyright && settings.copyright.licenses?.length
|
|
30
50
|
? `<div>${settings.copyright.licenses.map(license => `<a rel="license" href="${escapeText(license.url)}">${escapeText(license.title)}${license.start ? ` (${license.start})` : ""}</a>`).join("</div><div>")}</div>`
|
|
31
51
|
: ""
|
|
32
52
|
}
|