@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,8 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {gettext} from "fwtoolkit"
|
|
2
|
+
import {BIBLIOGRAPHY_HEADERS, getCat} from "../../schema/i18n.js"
|
|
3
|
+
import {descendantNodes} from "../tools/doc_content.js"
|
|
2
4
|
import {escapeLatexText} from "./escape_latex.js"
|
|
3
5
|
|
|
4
6
|
export class LatexExporterConvert {
|
|
5
|
-
|
|
7
|
+
exporter: any
|
|
8
|
+
settings: any
|
|
9
|
+
imageDB: any
|
|
10
|
+
bibDB: any
|
|
11
|
+
imageIds: string[]
|
|
12
|
+
usedBibDB: any
|
|
13
|
+
features: Record<string, boolean>
|
|
14
|
+
internalLinks: string[]
|
|
15
|
+
categoryCounter: Record<string, number>
|
|
16
|
+
authorsTex: string
|
|
17
|
+
|
|
18
|
+
constructor(exporter: any, imageDB: any, bibDB: any, settings: any) {
|
|
6
19
|
this.exporter = exporter
|
|
7
20
|
this.settings = settings
|
|
8
21
|
this.imageDB = imageDB
|
|
@@ -18,7 +31,7 @@ export class LatexExporterConvert {
|
|
|
18
31
|
this.authorsTex = ""
|
|
19
32
|
}
|
|
20
33
|
|
|
21
|
-
init(docContent) {
|
|
34
|
+
init(docContent: any): any {
|
|
22
35
|
this.preWalkJson(docContent)
|
|
23
36
|
const rawTransformation = this.walkJson(docContent)
|
|
24
37
|
const body = this.postProcess(rawTransformation)
|
|
@@ -42,19 +55,19 @@ export class LatexExporterConvert {
|
|
|
42
55
|
return returnObject
|
|
43
56
|
}
|
|
44
57
|
|
|
45
|
-
get docDeclaration() {
|
|
58
|
+
get docDeclaration(): string {
|
|
46
59
|
return "\\documentclass{article}\n"
|
|
47
60
|
}
|
|
48
61
|
|
|
49
62
|
// Check for things needed before creating raw transform
|
|
50
|
-
preWalkJson(node) {
|
|
63
|
+
preWalkJson(node: any): void {
|
|
51
64
|
switch (node.type) {
|
|
52
65
|
// Collect all internal links so that we only set the anchors for those
|
|
53
66
|
// that are being linked to.
|
|
54
67
|
case "text":
|
|
55
68
|
if (node.marks) {
|
|
56
69
|
const hyperlink = node.marks.find(
|
|
57
|
-
mark => mark.type === "link"
|
|
70
|
+
(mark: any) => mark.type === "link"
|
|
58
71
|
)
|
|
59
72
|
if (hyperlink) {
|
|
60
73
|
const href = hyperlink.attrs.href
|
|
@@ -69,11 +82,11 @@ export class LatexExporterConvert {
|
|
|
69
82
|
break
|
|
70
83
|
}
|
|
71
84
|
if (node.content) {
|
|
72
|
-
node.content.forEach(child => this.preWalkJson(child))
|
|
85
|
+
node.content.forEach((child: any) => this.preWalkJson(child))
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
|
|
76
|
-
walkJson(node, options = {}) {
|
|
89
|
+
walkJson(node: any, options: any = {}): string {
|
|
77
90
|
let start = "",
|
|
78
91
|
content = "",
|
|
79
92
|
end = "",
|
|
@@ -102,7 +115,7 @@ export class LatexExporterConvert {
|
|
|
102
115
|
break
|
|
103
116
|
case "contributors_part":
|
|
104
117
|
if (node.content) {
|
|
105
|
-
const contributorLabels = {
|
|
118
|
+
const contributorLabels: Record<string, string> = {
|
|
106
119
|
authors: gettext("Authors"),
|
|
107
120
|
editors: gettext("Editors"),
|
|
108
121
|
translators: gettext("Translators"),
|
|
@@ -113,9 +126,9 @@ export class LatexExporterConvert {
|
|
|
113
126
|
|
|
114
127
|
if (node.attrs.metadata === "authors") {
|
|
115
128
|
const authorsPerAffil = node.content
|
|
116
|
-
.map(node => {
|
|
129
|
+
.map((node: any) => {
|
|
117
130
|
const author = node.attrs,
|
|
118
|
-
nameParts = []
|
|
131
|
+
nameParts: string[] = []
|
|
119
132
|
let affiliation = false
|
|
120
133
|
if (author.firstname) {
|
|
121
134
|
nameParts.push(author.firstname)
|
|
@@ -137,31 +150,33 @@ export class LatexExporterConvert {
|
|
|
137
150
|
id_value: author.id_value
|
|
138
151
|
}
|
|
139
152
|
})
|
|
140
|
-
.reduce((affils, author) => {
|
|
153
|
+
.reduce((affils: any, author: any) => {
|
|
141
154
|
const affil = author.affiliation
|
|
142
155
|
affils[affil] = affils[affil] || []
|
|
143
156
|
affils[affil].push(author)
|
|
144
157
|
return affils
|
|
145
158
|
}, {})
|
|
146
159
|
|
|
147
|
-
Object.values(authorsPerAffil).forEach(
|
|
148
|
-
affil
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
affil
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
160
|
+
Object.values(authorsPerAffil).forEach(
|
|
161
|
+
(affil: any) => {
|
|
162
|
+
affil.forEach((author: any) => {
|
|
163
|
+
let thanks = ""
|
|
164
|
+
if (author.email) {
|
|
165
|
+
thanks += `\\thanks{${escapeLatexText(author.email)}}`
|
|
166
|
+
}
|
|
167
|
+
if (author.id_type && author.id_value) {
|
|
168
|
+
thanks += `\\thanks{${escapeLatexText(author.id_type)}: ${escapeLatexText(author.id_value)}}`
|
|
169
|
+
}
|
|
170
|
+
this.authorsTex += `\n\\author{${escapeLatexText(author.name)}${thanks}}`
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
this.authorsTex += `\n\\affil{${
|
|
174
|
+
affil[0].affiliation
|
|
175
|
+
? escapeLatexText(affil[0].affiliation)
|
|
176
|
+
: ""
|
|
177
|
+
}}`
|
|
178
|
+
}
|
|
179
|
+
)
|
|
165
180
|
this.authorsTex += "\n\n"
|
|
166
181
|
this.features.authors = true
|
|
167
182
|
} else {
|
|
@@ -170,9 +185,9 @@ export class LatexExporterConvert {
|
|
|
170
185
|
options.madeTitle = true
|
|
171
186
|
}
|
|
172
187
|
const contributorNames = node.content
|
|
173
|
-
.map(contributorNode => {
|
|
188
|
+
.map((contributorNode: any) => {
|
|
174
189
|
const attrs = contributorNode.attrs
|
|
175
|
-
const nameParts = []
|
|
190
|
+
const nameParts: string[] = []
|
|
176
191
|
if (attrs.firstname) {
|
|
177
192
|
nameParts.push(attrs.firstname)
|
|
178
193
|
}
|
|
@@ -189,7 +204,7 @@ export class LatexExporterConvert {
|
|
|
189
204
|
}
|
|
190
205
|
return name
|
|
191
206
|
})
|
|
192
|
-
.filter(name => name.length)
|
|
207
|
+
.filter((name: string) => name.length)
|
|
193
208
|
.join(", ")
|
|
194
209
|
if (contributorNames.length) {
|
|
195
210
|
content += `\n\\noindent\\textbf{${roleLabel}:} ${contributorNames}\n\n`
|
|
@@ -209,7 +224,7 @@ export class LatexExporterConvert {
|
|
|
209
224
|
options.madeTitle = true
|
|
210
225
|
}
|
|
211
226
|
content += node.content
|
|
212
|
-
.map(keyword => escapeLatexText(keyword.attrs.tag))
|
|
227
|
+
.map((keyword: any) => escapeLatexText(keyword.attrs.tag))
|
|
213
228
|
.join("\\sep ")
|
|
214
229
|
}
|
|
215
230
|
break
|
|
@@ -285,30 +300,28 @@ export class LatexExporterConvert {
|
|
|
285
300
|
case "code_block": {
|
|
286
301
|
// Support language and category attributes
|
|
287
302
|
if (node.attrs.category && node.attrs.id) {
|
|
288
|
-
const language = this.
|
|
289
|
-
const
|
|
290
|
-
const categoryLabel =
|
|
291
|
-
CATS[node.attrs.category]?.[language] ||
|
|
292
|
-
node.attrs.category
|
|
303
|
+
const language = this.settings.language || "en-US"
|
|
304
|
+
const categoryLabel = getCat(node.attrs.category, language)
|
|
293
305
|
|
|
294
306
|
// Count code blocks to get the number
|
|
295
|
-
const categories = {}
|
|
296
|
-
this.doc.
|
|
307
|
+
const categories: Record<string, number> = {}
|
|
308
|
+
for (const n of descendantNodes(this.exporter.doc.content)) {
|
|
297
309
|
if (
|
|
298
310
|
n.type === "code_block" &&
|
|
299
|
-
n.attrs
|
|
311
|
+
n.attrs?.category &&
|
|
300
312
|
n.attrs.id
|
|
301
313
|
) {
|
|
302
|
-
|
|
303
|
-
|
|
314
|
+
const category = n.attrs.category as string
|
|
315
|
+
if (!categories[category]) {
|
|
316
|
+
categories[category] = 0
|
|
304
317
|
}
|
|
305
|
-
categories[
|
|
318
|
+
categories[category]++
|
|
306
319
|
if (n.attrs.id === node.attrs.id) {
|
|
307
|
-
|
|
320
|
+
break
|
|
308
321
|
}
|
|
309
322
|
}
|
|
310
|
-
}
|
|
311
|
-
const number = categories[node.attrs.category] || 1
|
|
323
|
+
}
|
|
324
|
+
const number = categories[node.attrs.category as string] || 1
|
|
312
325
|
const caption = node.attrs.title
|
|
313
326
|
? `${categoryLabel} ${number}: ${this.convertText(node.attrs.title)}`
|
|
314
327
|
: `${categoryLabel} ${number}`
|
|
@@ -368,7 +381,7 @@ export class LatexExporterConvert {
|
|
|
368
381
|
options.unplacedFootnotes.push(node.attrs.footnote)
|
|
369
382
|
} else {
|
|
370
383
|
if (
|
|
371
|
-
!node.attrs.footnote.find(par => par.type === "figure")
|
|
384
|
+
!node.attrs.footnote.find((par: any) => par.type === "figure")
|
|
372
385
|
) {
|
|
373
386
|
// LaTeX doesn't allow figures in footnotes, so well move
|
|
374
387
|
// this footnote into the regular text.
|
|
@@ -376,26 +389,39 @@ export class LatexExporterConvert {
|
|
|
376
389
|
end = "}" + end
|
|
377
390
|
}
|
|
378
391
|
let fnContent = ""
|
|
379
|
-
node.attrs.footnote.forEach(footPar => {
|
|
392
|
+
node.attrs.footnote.forEach((footPar: any) => {
|
|
380
393
|
fnContent += this.walkJson(footPar, options)
|
|
381
394
|
})
|
|
382
395
|
content += fnContent.replace(/^\s+|\s+$/g, "")
|
|
383
396
|
}
|
|
384
397
|
break
|
|
385
398
|
case "text": {
|
|
386
|
-
let strong
|
|
399
|
+
let strong: any,
|
|
400
|
+
em: any,
|
|
401
|
+
underline: any,
|
|
402
|
+
hyperlink: any,
|
|
403
|
+
anchor: any,
|
|
404
|
+
sup: any,
|
|
405
|
+
sub: any,
|
|
406
|
+
code: any
|
|
387
407
|
// Check for hyperlink, bold/strong, italic/em and underline
|
|
388
408
|
if (node.marks) {
|
|
389
|
-
strong = node.marks.find(
|
|
390
|
-
|
|
409
|
+
strong = node.marks.find(
|
|
410
|
+
(mark: any) => mark.type === "strong"
|
|
411
|
+
)
|
|
412
|
+
em = node.marks.find((mark: any) => mark.type === "em")
|
|
391
413
|
underline = node.marks.find(
|
|
392
|
-
mark => mark.type === "underline"
|
|
414
|
+
(mark: any) => mark.type === "underline"
|
|
415
|
+
)
|
|
416
|
+
hyperlink = node.marks.find(
|
|
417
|
+
(mark: any) => mark.type === "link"
|
|
393
418
|
)
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
419
|
+
anchor = node.marks.find(
|
|
420
|
+
(mark: any) => mark.type === "anchor"
|
|
421
|
+
)
|
|
422
|
+
sup = node.marks.find((mark: any) => mark.type === "sup")
|
|
423
|
+
sub = node.marks.find((mark: any) => mark.type === "sub")
|
|
424
|
+
code = node.marks.find((mark: any) => mark.type === "code")
|
|
399
425
|
}
|
|
400
426
|
if (em) {
|
|
401
427
|
start += "\\emph{"
|
|
@@ -453,14 +479,14 @@ export class LatexExporterConvert {
|
|
|
453
479
|
|
|
454
480
|
if (
|
|
455
481
|
references.length > 1 &&
|
|
456
|
-
references.every(ref => !ref.locator && !ref.prefix)
|
|
482
|
+
references.every((ref: any) => !ref.locator && !ref.prefix)
|
|
457
483
|
) {
|
|
458
484
|
// multi source citation without page numbers or text before.
|
|
459
|
-
const citationEntryKeys = []
|
|
485
|
+
const citationEntryKeys: string[] = []
|
|
460
486
|
|
|
461
487
|
const allCitationItemsPresent = references
|
|
462
|
-
.map(ref => ref.id)
|
|
463
|
-
.every(citationEntry => {
|
|
488
|
+
.map((ref: any) => ref.id)
|
|
489
|
+
.every((citationEntry: string) => {
|
|
464
490
|
const bibDBEntry = this.bibDB.db[citationEntry]
|
|
465
491
|
if (bibDBEntry) {
|
|
466
492
|
if (!bibDBEntry) {
|
|
@@ -487,50 +513,52 @@ export class LatexExporterConvert {
|
|
|
487
513
|
if (allCitationItemsPresent) {
|
|
488
514
|
citationCommand += `{${citationEntryKeys.join(",")}}`
|
|
489
515
|
} else {
|
|
490
|
-
citationCommand = false
|
|
516
|
+
citationCommand = false as any
|
|
491
517
|
}
|
|
492
518
|
} else {
|
|
493
519
|
if (references.length > 1) {
|
|
494
520
|
citationCommand += "s" // Switching from \autocite to \autocites
|
|
495
521
|
}
|
|
496
522
|
|
|
497
|
-
const allCitationItemsPresent = references.every(
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
523
|
+
const allCitationItemsPresent = references.every(
|
|
524
|
+
(ref: any) => {
|
|
525
|
+
const bibDBEntry = this.bibDB.db[ref.id]
|
|
526
|
+
if (!bibDBEntry) {
|
|
527
|
+
// Not present in bibliography database, skip it.
|
|
528
|
+
// TODO: Throw an error?
|
|
529
|
+
return false
|
|
530
|
+
}
|
|
504
531
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
532
|
+
if (ref.prefix) {
|
|
533
|
+
citationCommand += `[${ref.prefix}]`
|
|
534
|
+
if (!ref.locator) {
|
|
535
|
+
citationCommand += "[]"
|
|
536
|
+
}
|
|
509
537
|
}
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
citationCommand += "{"
|
|
515
|
-
|
|
516
|
-
if (!this.usedBibDB[ref.id]) {
|
|
517
|
-
const citationKey = this.createUniqueCitationKey(
|
|
518
|
-
bibDBEntry.entry_key
|
|
519
|
-
)
|
|
520
|
-
this.usedBibDB[ref.id] = Object.assign(
|
|
521
|
-
{},
|
|
522
|
-
bibDBEntry
|
|
523
|
-
)
|
|
524
|
-
this.usedBibDB[ref.id].entry_key = citationKey
|
|
525
|
-
}
|
|
526
|
-
citationCommand += this.usedBibDB[ref.id].entry_key
|
|
527
|
-
citationCommand += "}"
|
|
538
|
+
if (ref.locator) {
|
|
539
|
+
citationCommand += `[${ref.locator}]`
|
|
540
|
+
}
|
|
541
|
+
citationCommand += "{"
|
|
528
542
|
|
|
529
|
-
|
|
530
|
-
|
|
543
|
+
if (!this.usedBibDB[ref.id]) {
|
|
544
|
+
const citationKey = this.createUniqueCitationKey(
|
|
545
|
+
bibDBEntry.entry_key
|
|
546
|
+
)
|
|
547
|
+
this.usedBibDB[ref.id] = Object.assign(
|
|
548
|
+
{},
|
|
549
|
+
bibDBEntry
|
|
550
|
+
)
|
|
551
|
+
this.usedBibDB[ref.id].entry_key = citationKey
|
|
552
|
+
}
|
|
553
|
+
citationCommand += this.usedBibDB[ref.id].entry_key
|
|
554
|
+
citationCommand += "}"
|
|
555
|
+
|
|
556
|
+
return true
|
|
557
|
+
}
|
|
558
|
+
)
|
|
531
559
|
|
|
532
560
|
if (!allCitationItemsPresent) {
|
|
533
|
-
citationCommand = false
|
|
561
|
+
citationCommand = false as any
|
|
534
562
|
}
|
|
535
563
|
}
|
|
536
564
|
if (citationCommand) {
|
|
@@ -542,38 +570,38 @@ export class LatexExporterConvert {
|
|
|
542
570
|
case "figure": {
|
|
543
571
|
const category = node.attrs.category
|
|
544
572
|
const captionContent = node.attrs.caption
|
|
545
|
-
? node.content.find(node => node.type === "figure_caption")
|
|
573
|
+
? node.content.find((node: any) => node.type === "figure_caption")
|
|
546
574
|
?.content || []
|
|
547
575
|
: []
|
|
548
|
-
let caption
|
|
576
|
+
let caption: string
|
|
549
577
|
if (category !== "none") {
|
|
550
578
|
if (!this.categoryCounter[category]) {
|
|
551
579
|
this.categoryCounter[category] = 1
|
|
552
580
|
}
|
|
553
581
|
const catCount = this.categoryCounter[category]++
|
|
554
|
-
const catLabel = `${
|
|
582
|
+
const catLabel = `${getCat(category, this.settings.language)} ${catCount}`
|
|
555
583
|
if (captionContent.length) {
|
|
556
|
-
caption = `${catLabel}: ${captionContent.map(node => this.walkJson(node)).join("")}`
|
|
584
|
+
caption = `${catLabel}: ${captionContent.map((node: any) => this.walkJson(node)).join("")}`
|
|
557
585
|
} else {
|
|
558
586
|
caption = catLabel
|
|
559
587
|
}
|
|
560
588
|
} else {
|
|
561
589
|
caption = captionContent
|
|
562
|
-
.map(node => this.walkJson(node))
|
|
590
|
+
.map((node: any) => this.walkJson(node))
|
|
563
591
|
.join("")
|
|
564
592
|
}
|
|
565
593
|
let innerFigure = ""
|
|
566
|
-
let copyright
|
|
594
|
+
let copyright: any
|
|
567
595
|
const image =
|
|
568
|
-
node.content.find(node => node.type === "image")?.attrs
|
|
596
|
+
node.content.find((node: any) => node.type === "image")?.attrs
|
|
569
597
|
.image || false
|
|
570
598
|
if (image) {
|
|
571
599
|
this.imageIds.push(image)
|
|
572
600
|
const imageDBEntry = this.imageDB.db[image],
|
|
573
601
|
filePathName = imageDBEntry.image,
|
|
574
|
-
filename = filePathName.split("/").pop()
|
|
602
|
+
filename = filePathName!.toString().split("/").pop()
|
|
575
603
|
copyright = imageDBEntry.copyright
|
|
576
|
-
if (filename
|
|
604
|
+
if (filename!.split(".").pop() === "svg") {
|
|
577
605
|
innerFigure += `\\includesvg[width=${Number.parseInt(node.attrs.width) / 100}\\textwidth]{${filename}}\n`
|
|
578
606
|
this.features.SVGs = true
|
|
579
607
|
} else {
|
|
@@ -583,7 +611,7 @@ export class LatexExporterConvert {
|
|
|
583
611
|
} else {
|
|
584
612
|
const equation =
|
|
585
613
|
node.content.find(
|
|
586
|
-
node => node.type === "figure_equation"
|
|
614
|
+
(node: any) => node.type === "figure_equation"
|
|
587
615
|
)?.attrs.equation || ""
|
|
588
616
|
innerFigure += `\\begin{displaymath}\n${equation}\n\\end{displaymath}\n`
|
|
589
617
|
}
|
|
@@ -621,7 +649,7 @@ export class LatexExporterConvert {
|
|
|
621
649
|
content += `% © ${copyright.year ? copyright.year : new Date().getFullYear()} ${copyright.holder}\n`
|
|
622
650
|
}
|
|
623
651
|
if (copyright?.licenses.length) {
|
|
624
|
-
copyright.licenses.forEach(license => {
|
|
652
|
+
copyright.licenses.forEach((license: any) => {
|
|
625
653
|
content += `% ${license.title}: ${license.url}${license.start ? ` (${license.start})\n` : ""}\n`
|
|
626
654
|
})
|
|
627
655
|
}
|
|
@@ -650,21 +678,21 @@ export class LatexExporterConvert {
|
|
|
650
678
|
const captionContent = node.attrs.caption
|
|
651
679
|
? node.content[0].content || []
|
|
652
680
|
: []
|
|
653
|
-
let caption
|
|
681
|
+
let caption: string
|
|
654
682
|
if (category !== "none") {
|
|
655
683
|
if (!this.categoryCounter[category]) {
|
|
656
684
|
this.categoryCounter[category] = 1
|
|
657
685
|
}
|
|
658
686
|
const catCount = this.categoryCounter[category]++
|
|
659
|
-
const catLabel = `${
|
|
687
|
+
const catLabel = `${getCat(category, this.settings.language)} ${catCount}`
|
|
660
688
|
if (captionContent.length) {
|
|
661
|
-
caption = `${catLabel}: ${captionContent.map(node => this.walkJson(node)).join("")}`
|
|
689
|
+
caption = `${catLabel}: ${captionContent.map((node: any) => this.walkJson(node)).join("")}`
|
|
662
690
|
} else {
|
|
663
691
|
caption = catLabel
|
|
664
692
|
}
|
|
665
693
|
} else {
|
|
666
694
|
caption = captionContent
|
|
667
|
-
.map(node => this.walkJson(node))
|
|
695
|
+
.map((node: any) => this.walkJson(node))
|
|
668
696
|
.join("")
|
|
669
697
|
}
|
|
670
698
|
let columns = 1
|
|
@@ -673,7 +701,8 @@ export class LatexExporterConvert {
|
|
|
673
701
|
node.content[1].content?.length
|
|
674
702
|
) {
|
|
675
703
|
columns = node.content[1].content[0].content.reduce(
|
|
676
|
-
(columns, node) =>
|
|
704
|
+
(columns: number, node: any) =>
|
|
705
|
+
columns + (node.attrs?.colspan || 1),
|
|
677
706
|
0
|
|
678
707
|
)
|
|
679
708
|
}
|
|
@@ -738,7 +767,7 @@ export class LatexExporterConvert {
|
|
|
738
767
|
}
|
|
739
768
|
|
|
740
769
|
if (node.content) {
|
|
741
|
-
node.content.forEach(child => {
|
|
770
|
+
node.content.forEach((child: any) => {
|
|
742
771
|
content += this.walkJson(child, options)
|
|
743
772
|
})
|
|
744
773
|
}
|
|
@@ -746,11 +775,11 @@ export class LatexExporterConvert {
|
|
|
746
775
|
// There are footnotes that needed to be placed behind the node.
|
|
747
776
|
// This happens in the case of headlines and lists.
|
|
748
777
|
end += `\\addtocounter{footnote}{-${options.unplacedFootnotes.length}}`
|
|
749
|
-
options.unplacedFootnotes.forEach(footnote => {
|
|
778
|
+
options.unplacedFootnotes.forEach((footnote: any) => {
|
|
750
779
|
end += "\\stepcounter{footnote}\n"
|
|
751
780
|
end += "\\footnotetext{"
|
|
752
781
|
let fnContent = ""
|
|
753
|
-
footnote.forEach(footPar => {
|
|
782
|
+
footnote.forEach((footPar: any) => {
|
|
754
783
|
fnContent += this.walkJson(footPar, options)
|
|
755
784
|
})
|
|
756
785
|
end += fnContent.replace(/^\s+|\s+$/g, "")
|
|
@@ -769,10 +798,15 @@ export class LatexExporterConvert {
|
|
|
769
798
|
return start + content + end
|
|
770
799
|
}
|
|
771
800
|
|
|
801
|
+
convertText(text: string): string {
|
|
802
|
+
return text
|
|
803
|
+
}
|
|
804
|
+
|
|
772
805
|
// The database doesn't ensure that citation keys are unique.
|
|
773
806
|
// So here we need to make sure that the same key is not used twice in one
|
|
774
807
|
// document.
|
|
775
|
-
createUniqueCitationKey(suggestedKey) {
|
|
808
|
+
createUniqueCitationKey(suggestedKey: string | undefined): string {
|
|
809
|
+
suggestedKey = suggestedKey || "key"
|
|
776
810
|
const usedKeys = Object.keys(this.usedBibDB).map(key => {
|
|
777
811
|
return this.usedBibDB[key].entry_key
|
|
778
812
|
})
|
|
@@ -784,12 +818,12 @@ export class LatexExporterConvert {
|
|
|
784
818
|
}
|
|
785
819
|
}
|
|
786
820
|
|
|
787
|
-
postProcess(latex) {
|
|
821
|
+
postProcess(latex: string): string {
|
|
788
822
|
return (
|
|
789
823
|
latex
|
|
790
824
|
// join blocks of the same type that follow oneanother.
|
|
791
|
-
.replace(/\\end{code}\n\n\\begin{code}\n\n/g, "")
|
|
792
|
-
.replace(/\\end{quote}\n\n\\begin{quote}\n\n/g, "")
|
|
825
|
+
.replace(/\\end\{code\}\n\n\\begin\{code\}\n\n/g, "")
|
|
826
|
+
.replace(/\\end\{quote\}\n\n\\begin\{quote\}\n\n/g, "")
|
|
793
827
|
// Remove the last divider in any any table row.
|
|
794
828
|
.replace(/& {2}\\\\/g, "\\\\")
|
|
795
829
|
// Remove new lines between table cells.
|
|
@@ -799,25 +833,26 @@ export class LatexExporterConvert {
|
|
|
799
833
|
)
|
|
800
834
|
}
|
|
801
835
|
|
|
802
|
-
assembleEpilogue() {
|
|
836
|
+
assembleEpilogue(): string {
|
|
803
837
|
let epilogue = ""
|
|
804
838
|
if (this.features.citations) {
|
|
839
|
+
const lang = this.settings.language as string
|
|
805
840
|
const bibliographyHeader =
|
|
806
|
-
this.settings.bibliography_header[
|
|
807
|
-
BIBLIOGRAPHY_HEADERS[
|
|
841
|
+
(this.settings.bibliography_header as Record<string, string> | undefined)?.[lang] ||
|
|
842
|
+
(BIBLIOGRAPHY_HEADERS as Record<string, string>)[lang]
|
|
808
843
|
epilogue += `\n\n\\printbibliography[title={${escapeLatexText(bibliographyHeader)}}]`
|
|
809
844
|
}
|
|
810
845
|
return epilogue
|
|
811
846
|
}
|
|
812
847
|
|
|
813
|
-
assembleCopyright() {
|
|
848
|
+
assembleCopyright(): string {
|
|
814
849
|
let note = ""
|
|
815
850
|
if (this.settings.copyright) {
|
|
816
851
|
if (this.settings.copyright.holder) {
|
|
817
852
|
note += `% © ${this.settings.copyright.year ? this.settings.copyright.year : new Date().getFullYear()} ${this.settings.copyright.holder}\n`
|
|
818
853
|
}
|
|
819
854
|
if (this.settings.copyright.licenses.length) {
|
|
820
|
-
this.settings.copyright.licenses.forEach(license => {
|
|
855
|
+
this.settings.copyright.licenses.forEach((license: any) => {
|
|
821
856
|
note += `% ${license.url}${license.start ? ` (${license.start})` : ""}\n`
|
|
822
857
|
})
|
|
823
858
|
}
|
|
@@ -829,7 +864,7 @@ export class LatexExporterConvert {
|
|
|
829
864
|
return note
|
|
830
865
|
}
|
|
831
866
|
|
|
832
|
-
assemblePreamble() {
|
|
867
|
+
assemblePreamble(): string {
|
|
833
868
|
let preamble = ""
|
|
834
869
|
|
|
835
870
|
if (this.features.subtitle) {
|