@fiduswriter/document 0.1.0-alpha.4 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bibliography/common.d.ts +9 -91
- package/dist/bibliography/common.d.ts.map +1 -1
- package/dist/bibliography/common.js +3 -2
- package/dist/bibliography/common.js.map +1 -1
- package/dist/bibliography/csl_bib.d.ts +1 -1
- package/dist/bibliography/csl_bib.d.ts.map +1 -1
- package/dist/bibliography/csl_bib.js +7 -7
- package/dist/bibliography/csl_bib.js.map +1 -1
- package/dist/citations/citeproc_sys.d.ts +9 -10
- package/dist/citations/citeproc_sys.d.ts.map +1 -1
- package/dist/citations/citeproc_sys.js +6 -1
- package/dist/citations/citeproc_sys.js.map +1 -1
- package/dist/citations/format.d.ts +33 -16
- package/dist/citations/format.d.ts.map +1 -1
- package/dist/citations/format.js +29 -4
- package/dist/citations/format.js.map +1 -1
- package/dist/editor/e2ee/encryptor.d.ts +35 -35
- package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
- package/dist/editor/e2ee/encryptor.js +31 -31
- package/dist/editor/e2ee/encryptor.js.map +1 -1
- package/dist/exporter/docx/citations.d.ts +27 -17
- package/dist/exporter/docx/citations.d.ts.map +1 -1
- package/dist/exporter/docx/citations.js +24 -7
- package/dist/exporter/docx/citations.js.map +1 -1
- package/dist/exporter/docx/comments.d.ts +15 -11
- package/dist/exporter/docx/comments.d.ts.map +1 -1
- package/dist/exporter/docx/comments.js +47 -14
- package/dist/exporter/docx/comments.js.map +1 -1
- package/dist/exporter/docx/footnotes.d.ts +36 -31
- package/dist/exporter/docx/footnotes.d.ts.map +1 -1
- package/dist/exporter/docx/footnotes.js +46 -12
- package/dist/exporter/docx/footnotes.js.map +1 -1
- package/dist/exporter/docx/images.d.ts +23 -12
- package/dist/exporter/docx/images.d.ts.map +1 -1
- package/dist/exporter/docx/images.js +35 -20
- package/dist/exporter/docx/images.js.map +1 -1
- package/dist/exporter/docx/index.d.ts +11 -17
- package/dist/exporter/docx/index.d.ts.map +1 -1
- package/dist/exporter/docx/index.js +15 -7
- package/dist/exporter/docx/index.js.map +1 -1
- package/dist/exporter/docx/lists.d.ts +27 -22
- package/dist/exporter/docx/lists.d.ts.map +1 -1
- package/dist/exporter/docx/lists.js +77 -30
- package/dist/exporter/docx/lists.js.map +1 -1
- package/dist/exporter/docx/math.d.ts +9 -9
- package/dist/exporter/docx/math.d.ts.map +1 -1
- package/dist/exporter/docx/math.js +22 -5
- package/dist/exporter/docx/math.js.map +1 -1
- package/dist/exporter/docx/metadata.d.ts +12 -9
- package/dist/exporter/docx/metadata.d.ts.map +1 -1
- package/dist/exporter/docx/metadata.js +59 -26
- package/dist/exporter/docx/metadata.js.map +1 -1
- package/dist/exporter/docx/rels.d.ts +14 -12
- package/dist/exporter/docx/rels.d.ts.map +1 -1
- package/dist/exporter/docx/rels.js +37 -22
- package/dist/exporter/docx/rels.js.map +1 -1
- package/dist/exporter/docx/render.d.ts +17 -15
- package/dist/exporter/docx/render.d.ts.map +1 -1
- package/dist/exporter/docx/render.js +37 -31
- package/dist/exporter/docx/render.js.map +1 -1
- package/dist/exporter/docx/richtext.d.ts +8 -8
- package/dist/exporter/docx/richtext.d.ts.map +1 -1
- package/dist/exporter/docx/richtext.js +61 -43
- package/dist/exporter/docx/richtext.js.map +1 -1
- package/dist/exporter/docx/tables.d.ts +11 -9
- package/dist/exporter/docx/tables.d.ts.map +1 -1
- package/dist/exporter/docx/tables.js +16 -10
- package/dist/exporter/docx/tables.js.map +1 -1
- package/dist/exporter/docx/tools.d.ts +3 -2
- package/dist/exporter/docx/tools.d.ts.map +1 -1
- package/dist/exporter/docx/tools.js +3 -3
- package/dist/exporter/docx/tools.js.map +1 -1
- package/dist/exporter/epub/index.d.ts +11 -3
- package/dist/exporter/epub/index.d.ts.map +1 -1
- package/dist/exporter/epub/index.js +10 -3
- package/dist/exporter/epub/index.js.map +1 -1
- package/dist/exporter/epub/templates.d.ts +62 -31
- package/dist/exporter/epub/templates.d.ts.map +1 -1
- package/dist/exporter/epub/templates.js +1 -1
- package/dist/exporter/epub/templates.js.map +1 -1
- package/dist/exporter/epub/tools.d.ts +12 -4
- package/dist/exporter/epub/tools.d.ts.map +1 -1
- package/dist/exporter/epub/tools.js +14 -13
- package/dist/exporter/epub/tools.js.map +1 -1
- package/dist/exporter/html/citations.d.ts +17 -15
- package/dist/exporter/html/citations.d.ts.map +1 -1
- package/dist/exporter/html/citations.js +37 -18
- package/dist/exporter/html/citations.js.map +1 -1
- package/dist/exporter/html/convert.d.ts +20 -70
- package/dist/exporter/html/convert.d.ts.map +1 -1
- package/dist/exporter/html/convert.js +74 -42
- package/dist/exporter/html/convert.js.map +1 -1
- package/dist/exporter/html/index.d.ts +55 -52
- package/dist/exporter/html/index.d.ts.map +1 -1
- package/dist/exporter/html/index.js +23 -3
- package/dist/exporter/html/index.js.map +1 -1
- package/dist/exporter/html/templates.d.ts +23 -9
- package/dist/exporter/html/templates.d.ts.map +1 -1
- package/dist/exporter/html/templates.js +1 -1
- package/dist/exporter/html/templates.js.map +1 -1
- package/dist/exporter/html/tools.d.ts +1 -1
- package/dist/exporter/html/tools.d.ts.map +1 -1
- package/dist/exporter/html/tools.js +2 -2
- package/dist/exporter/html/tools.js.map +1 -1
- package/dist/exporter/jats/bibliography.d.ts +2 -1
- package/dist/exporter/jats/bibliography.d.ts.map +1 -1
- package/dist/exporter/jats/bibliography.js +57 -52
- package/dist/exporter/jats/bibliography.js.map +1 -1
- package/dist/exporter/jats/citations.d.ts +13 -11
- package/dist/exporter/jats/citations.d.ts.map +1 -1
- package/dist/exporter/jats/citations.js +28 -6
- package/dist/exporter/jats/citations.js.map +1 -1
- package/dist/exporter/jats/convert.d.ts +24 -28
- package/dist/exporter/jats/convert.d.ts.map +1 -1
- package/dist/exporter/jats/convert.js +53 -36
- package/dist/exporter/jats/convert.js.map +1 -1
- package/dist/exporter/jats/index.d.ts +21 -15
- package/dist/exporter/jats/index.d.ts.map +1 -1
- package/dist/exporter/jats/index.js +21 -5
- package/dist/exporter/jats/index.js.map +1 -1
- package/dist/exporter/jats/templates.d.ts +17 -15
- package/dist/exporter/jats/templates.d.ts.map +1 -1
- package/dist/exporter/jats/templates.js.map +1 -1
- package/dist/exporter/jats/text.d.ts +3 -2
- package/dist/exporter/jats/text.d.ts.map +1 -1
- package/dist/exporter/jats/text.js +4 -4
- package/dist/exporter/jats/text.js.map +1 -1
- package/dist/exporter/latex/convert.d.ts +12 -15
- package/dist/exporter/latex/convert.d.ts.map +1 -1
- package/dist/exporter/latex/convert.js +70 -54
- package/dist/exporter/latex/convert.js.map +1 -1
- package/dist/exporter/latex/escape_latex.d.ts +1 -1
- package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
- package/dist/exporter/latex/escape_latex.js +1 -1
- package/dist/exporter/latex/escape_latex.js.map +1 -1
- package/dist/exporter/latex/index.d.ts +20 -19
- package/dist/exporter/latex/index.d.ts.map +1 -1
- package/dist/exporter/latex/index.js +15 -5
- package/dist/exporter/latex/index.js.map +1 -1
- package/dist/exporter/latex/readme.d.ts +1 -1
- package/dist/exporter/latex/readme.d.ts.map +1 -1
- package/dist/exporter/latex/readme.js +2 -2
- package/dist/exporter/latex/readme.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +30 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +151 -0
- package/dist/exporter/native/copy.js.map +1 -0
- package/dist/exporter/native/file.d.ts +12 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +38 -0
- package/dist/exporter/native/file.js.map +1 -0
- package/dist/exporter/native/index.d.ts +5 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js +5 -0
- package/dist/exporter/native/index.js.map +1 -0
- package/dist/exporter/native/revision.d.ts +18 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +39 -0
- package/dist/exporter/native/revision.js.map +1 -0
- package/dist/exporter/native/shrink.d.ts +29 -14
- package/dist/exporter/native/shrink.d.ts.map +1 -1
- package/dist/exporter/native/shrink.js +27 -18
- package/dist/exporter/native/shrink.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +25 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js +56 -0
- package/dist/exporter/native/zip.js.map +1 -0
- package/dist/exporter/odt/citations.d.ts +18 -15
- package/dist/exporter/odt/citations.d.ts.map +1 -1
- package/dist/exporter/odt/citations.js +21 -4
- package/dist/exporter/odt/citations.js.map +1 -1
- package/dist/exporter/odt/footnotes.d.ts +25 -19
- package/dist/exporter/odt/footnotes.d.ts.map +1 -1
- package/dist/exporter/odt/footnotes.js +23 -6
- package/dist/exporter/odt/footnotes.js.map +1 -1
- package/dist/exporter/odt/images.d.ts +23 -11
- package/dist/exporter/odt/images.d.ts.map +1 -1
- package/dist/exporter/odt/images.js +34 -26
- package/dist/exporter/odt/images.js.map +1 -1
- package/dist/exporter/odt/index.d.ts +12 -18
- package/dist/exporter/odt/index.d.ts.map +1 -1
- package/dist/exporter/odt/index.js +16 -7
- package/dist/exporter/odt/index.js.map +1 -1
- package/dist/exporter/odt/math.d.ts +10 -8
- package/dist/exporter/odt/math.d.ts.map +1 -1
- package/dist/exporter/odt/math.js +27 -4
- package/dist/exporter/odt/math.js.map +1 -1
- package/dist/exporter/odt/metadata.d.ts +13 -9
- package/dist/exporter/odt/metadata.d.ts.map +1 -1
- package/dist/exporter/odt/metadata.js +36 -15
- package/dist/exporter/odt/metadata.js.map +1 -1
- package/dist/exporter/odt/render.d.ts +17 -15
- package/dist/exporter/odt/render.d.ts.map +1 -1
- package/dist/exporter/odt/render.js +25 -18
- package/dist/exporter/odt/render.js.map +1 -1
- package/dist/exporter/odt/richtext.d.ts +9 -9
- package/dist/exporter/odt/richtext.d.ts.map +1 -1
- package/dist/exporter/odt/richtext.js +55 -40
- package/dist/exporter/odt/richtext.js.map +1 -1
- package/dist/exporter/odt/styles.d.ts +29 -21
- package/dist/exporter/odt/styles.d.ts.map +1 -1
- package/dist/exporter/odt/styles.js +44 -22
- package/dist/exporter/odt/styles.js.map +1 -1
- package/dist/exporter/odt/track.d.ts +14 -7
- package/dist/exporter/odt/track.d.ts.map +1 -1
- package/dist/exporter/odt/track.js +7 -0
- package/dist/exporter/odt/track.js.map +1 -1
- package/dist/exporter/pandoc/citations.d.ts +20 -14
- package/dist/exporter/pandoc/citations.d.ts.map +1 -1
- package/dist/exporter/pandoc/citations.js +18 -4
- package/dist/exporter/pandoc/citations.js.map +1 -1
- package/dist/exporter/pandoc/convert.d.ts +10 -29
- package/dist/exporter/pandoc/convert.d.ts.map +1 -1
- package/dist/exporter/pandoc/convert.js +45 -40
- package/dist/exporter/pandoc/convert.js.map +1 -1
- package/dist/exporter/pandoc/index.d.ts +20 -33
- package/dist/exporter/pandoc/index.d.ts.map +1 -1
- package/dist/exporter/pandoc/index.js +20 -8
- package/dist/exporter/pandoc/index.js.map +1 -1
- package/dist/exporter/pandoc/readme.d.ts +1 -1
- package/dist/exporter/pandoc/readme.d.ts.map +1 -1
- package/dist/exporter/pandoc/readme.js +0 -1
- package/dist/exporter/pandoc/readme.js.map +1 -1
- package/dist/exporter/pandoc/tools.d.ts +21 -5
- package/dist/exporter/pandoc/tools.d.ts.map +1 -1
- package/dist/exporter/pandoc/tools.js +2 -2
- package/dist/exporter/pandoc/tools.js.map +1 -1
- package/dist/exporter/print/index.d.ts +18 -7
- package/dist/exporter/print/index.d.ts.map +1 -1
- package/dist/exporter/print/index.js +12 -10
- package/dist/exporter/print/index.js.map +1 -1
- package/dist/exporter/tools/doc_content.d.ts +5 -6
- package/dist/exporter/tools/doc_content.d.ts.map +1 -1
- package/dist/exporter/tools/doc_content.js +17 -16
- package/dist/exporter/tools/doc_content.js.map +1 -1
- package/dist/exporter/tools/svg.d.ts +7 -1
- package/dist/exporter/tools/svg.d.ts.map +1 -1
- package/dist/exporter/tools/svg.js.map +1 -1
- package/dist/exporter/tools/xml.d.ts +39 -38
- package/dist/exporter/tools/xml.d.ts.map +1 -1
- package/dist/exporter/tools/xml.js +82 -55
- package/dist/exporter/tools/xml.js.map +1 -1
- package/dist/exporter/tools/xml_zip.d.ts +15 -14
- package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
- package/dist/exporter/tools/xml_zip.js +8 -2
- package/dist/exporter/tools/xml_zip.js.map +1 -1
- package/dist/exporter/tools/zip.d.ts +28 -14
- package/dist/exporter/tools/zip.d.ts.map +1 -1
- package/dist/exporter/tools/zip.js +13 -6
- package/dist/exporter/tools/zip.js.map +1 -1
- package/dist/exporter/tools/zotero_csl.d.ts +19 -6
- package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
- package/dist/exporter/tools/zotero_csl.js +9 -9
- package/dist/exporter/tools/zotero_csl.js.map +1 -1
- package/dist/importer/citations.d.ts +25 -22
- package/dist/importer/citations.d.ts.map +1 -1
- package/dist/importer/citations.js +1 -49
- package/dist/importer/citations.js.map +1 -1
- package/dist/importer/docx/citations.d.ts +8 -30
- package/dist/importer/docx/citations.d.ts.map +1 -1
- package/dist/importer/docx/citations.js +1 -26
- package/dist/importer/docx/citations.js.map +1 -1
- package/dist/importer/docx/convert.d.ts +38 -116
- package/dist/importer/docx/convert.d.ts.map +1 -1
- package/dist/importer/docx/convert.js +99 -82
- package/dist/importer/docx/convert.js.map +1 -1
- package/dist/importer/docx/helpers.d.ts +1 -1
- package/dist/importer/docx/helpers.d.ts.map +1 -1
- package/dist/importer/docx/helpers.js +1 -1
- package/dist/importer/docx/helpers.js.map +1 -1
- package/dist/importer/docx/index.d.ts +27 -0
- package/dist/importer/docx/index.d.ts.map +1 -0
- package/dist/importer/docx/index.js +77 -0
- package/dist/importer/docx/index.js.map +1 -0
- package/dist/importer/docx/omml2mathml.d.ts +2 -3
- package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
- package/dist/importer/docx/omml2mathml.js +23 -116
- package/dist/importer/docx/omml2mathml.js.map +1 -1
- package/dist/importer/docx/parse.d.ts +22 -131
- package/dist/importer/docx/parse.d.ts.map +1 -1
- package/dist/importer/docx/parse.js +73 -55
- package/dist/importer/docx/parse.js.map +1 -1
- package/dist/importer/native/extract_template.d.ts +6 -0
- package/dist/importer/native/extract_template.d.ts.map +1 -0
- package/dist/importer/native/extract_template.js +80 -0
- package/dist/importer/native/extract_template.js.map +1 -0
- package/dist/importer/native/file.d.ts +37 -0
- package/dist/importer/native/file.d.ts.map +1 -0
- package/dist/importer/native/file.js +162 -0
- package/dist/importer/native/file.js.map +1 -0
- package/dist/importer/native/get_images.d.ts +18 -8
- package/dist/importer/native/get_images.d.ts.map +1 -1
- package/dist/importer/native/get_images.js +39 -45
- package/dist/importer/native/get_images.js.map +1 -1
- package/dist/importer/native/importer.d.ts +41 -0
- package/dist/importer/native/importer.d.ts.map +1 -0
- package/dist/importer/native/importer.js +170 -0
- package/dist/importer/native/importer.js.map +1 -0
- package/dist/importer/native/index.d.ts +7 -0
- package/dist/importer/native/index.d.ts.map +1 -0
- package/dist/importer/native/index.js +7 -0
- package/dist/importer/native/index.js.map +1 -0
- package/dist/importer/native/update.d.ts +5 -4
- package/dist/importer/native/update.d.ts.map +1 -1
- package/dist/importer/native/update.js +4 -3
- package/dist/importer/native/update.js.map +1 -1
- package/dist/importer/native/update_template.d.ts +12 -0
- package/dist/importer/native/update_template.d.ts.map +1 -0
- package/dist/importer/native/update_template.js +19 -0
- package/dist/importer/native/update_template.js.map +1 -0
- package/dist/importer/odt/citations.d.ts +7 -27
- package/dist/importer/odt/citations.d.ts.map +1 -1
- package/dist/importer/odt/citations.js +0 -22
- package/dist/importer/odt/citations.js.map +1 -1
- package/dist/importer/odt/convert.d.ts +53 -237
- package/dist/importer/odt/convert.d.ts.map +1 -1
- package/dist/importer/odt/convert.js +162 -138
- package/dist/importer/odt/convert.js.map +1 -1
- package/dist/importer/odt/index.d.ts +30 -0
- package/dist/importer/odt/index.d.ts.map +1 -0
- package/dist/importer/odt/index.js +124 -0
- package/dist/importer/odt/index.js.map +1 -0
- package/dist/importer/pandoc/convert.d.ts +25 -77
- package/dist/importer/pandoc/convert.d.ts.map +1 -1
- package/dist/importer/pandoc/convert.js +65 -52
- package/dist/importer/pandoc/convert.js.map +1 -1
- package/dist/importer/pandoc/helpers.d.ts +4 -3
- package/dist/importer/pandoc/helpers.d.ts.map +1 -1
- package/dist/importer/pandoc/helpers.js +24 -26
- package/dist/importer/pandoc/helpers.js.map +1 -1
- package/dist/importer/pandoc/index.d.ts +31 -0
- package/dist/importer/pandoc/index.d.ts.map +1 -0
- package/dist/importer/pandoc/index.js +114 -0
- package/dist/importer/pandoc/index.js.map +1 -0
- package/dist/importer/registry.d.ts +21 -0
- package/dist/importer/registry.d.ts.map +1 -0
- package/dist/importer/registry.js +41 -0
- package/dist/importer/registry.js.map +1 -0
- package/dist/importer/zip_analyzer.d.ts +27 -21
- package/dist/importer/zip_analyzer.d.ts.map +1 -1
- package/dist/importer/zip_analyzer.js +10 -5
- package/dist/importer/zip_analyzer.js.map +1 -1
- package/dist/mathlive/opf_includes.d.ts +1 -1
- package/dist/mathlive/opf_includes.d.ts.map +1 -1
- package/dist/mathlive/opf_includes.js.map +1 -1
- package/dist/schema/common/annotate.d.ts +37 -49
- package/dist/schema/common/annotate.d.ts.map +1 -1
- package/dist/schema/common/annotate.js +2 -2
- package/dist/schema/common/annotate.js.map +1 -1
- package/dist/schema/common/base.d.ts +63 -81
- package/dist/schema/common/base.d.ts.map +1 -1
- package/dist/schema/common/base.js.map +1 -1
- package/dist/schema/common/citation.d.ts +23 -22
- package/dist/schema/common/citation.d.ts.map +1 -1
- package/dist/schema/common/citation.js +4 -5
- package/dist/schema/common/citation.js.map +1 -1
- package/dist/schema/common/equation.d.ts +13 -14
- package/dist/schema/common/equation.d.ts.map +1 -1
- package/dist/schema/common/equation.js +1 -1
- package/dist/schema/common/equation.js.map +1 -1
- package/dist/schema/common/figure.d.ts +72 -93
- package/dist/schema/common/figure.d.ts.map +1 -1
- package/dist/schema/common/figure.js +11 -9
- package/dist/schema/common/figure.js.map +1 -1
- package/dist/schema/common/heading.d.ts +8 -32
- package/dist/schema/common/heading.d.ts.map +1 -1
- package/dist/schema/common/heading.js +2 -2
- package/dist/schema/common/heading.js.map +1 -1
- package/dist/schema/common/index.d.ts +2 -2
- package/dist/schema/common/index.d.ts.map +1 -1
- package/dist/schema/common/index.js.map +1 -1
- package/dist/schema/common/list.d.ts +52 -72
- package/dist/schema/common/list.d.ts.map +1 -1
- package/dist/schema/common/list.js +3 -3
- package/dist/schema/common/list.js.map +1 -1
- package/dist/schema/common/reference.d.ts +51 -59
- package/dist/schema/common/reference.d.ts.map +1 -1
- package/dist/schema/common/reference.js +5 -5
- package/dist/schema/common/reference.js.map +1 -1
- package/dist/schema/common/table.d.ts +59 -75
- package/dist/schema/common/table.d.ts.map +1 -1
- package/dist/schema/common/table.js +3 -2
- package/dist/schema/common/table.js.map +1 -1
- package/dist/schema/common/track.d.ts +83 -97
- package/dist/schema/common/track.d.ts.map +1 -1
- package/dist/schema/common/track.js +18 -17
- package/dist/schema/common/track.js.map +1 -1
- package/dist/schema/convert.d.ts +2 -2
- package/dist/schema/convert.d.ts.map +1 -1
- package/dist/schema/convert.js +2 -2
- package/dist/schema/convert.js.map +1 -1
- package/dist/schema/document/content.d.ts +95 -122
- package/dist/schema/document/content.d.ts.map +1 -1
- package/dist/schema/document/content.js +9 -9
- package/dist/schema/document/content.js.map +1 -1
- package/dist/schema/document/index.d.ts +173 -257
- package/dist/schema/document/index.d.ts.map +1 -1
- package/dist/schema/document/index.js.map +1 -1
- package/dist/schema/document/structure.d.ts +149 -258
- package/dist/schema/document/structure.d.ts.map +1 -1
- package/dist/schema/document/structure.js +2 -2
- package/dist/schema/document/structure.js.map +1 -1
- package/dist/schema/export.d.ts +4 -877
- package/dist/schema/export.d.ts.map +1 -1
- package/dist/schema/export.js +1 -0
- package/dist/schema/export.js.map +1 -1
- package/dist/schema/footnotes.d.ts +110 -155
- package/dist/schema/footnotes.d.ts.map +1 -1
- package/dist/schema/footnotes.js +4 -2
- package/dist/schema/footnotes.js.map +1 -1
- package/dist/schema/footnotes_convert.d.ts +3 -3
- package/dist/schema/footnotes_convert.d.ts.map +1 -1
- package/dist/schema/footnotes_convert.js +10 -6
- package/dist/schema/footnotes_convert.js.map +1 -1
- package/dist/schema/i18n.d.ts +3 -534
- package/dist/schema/i18n.d.ts.map +1 -1
- package/dist/schema/i18n.js +1 -0
- package/dist/schema/i18n.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/mini_json.d.ts +3 -4
- package/dist/schema/mini_json.d.ts.map +1 -1
- package/dist/schema/mini_json.js +2 -0
- package/dist/schema/mini_json.js.map +1 -1
- package/dist/schema/text.d.ts +2 -1
- package/dist/schema/text.d.ts.map +1 -1
- package/dist/schema/text.js +1 -1
- package/dist/schema/text.js.map +1 -1
- package/dist/types.d.ts +167 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -1
- package/src/bibliography/{common.js → common.ts} +15 -12
- package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
- package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
- package/src/citations/{format.js → format.ts} +80 -24
- package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
- package/src/exporter/docx/{citations.js → citations.ts} +51 -23
- package/src/exporter/docx/{comments.js → comments.ts} +69 -26
- package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
- package/src/exporter/docx/images.ts +128 -0
- package/src/exporter/docx/{index.js → index.ts} +48 -25
- package/src/exporter/docx/{lists.js → lists.ts} +89 -46
- package/src/exporter/docx/{math.js → math.ts} +29 -9
- package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
- package/src/exporter/docx/{rels.js → rels.ts} +71 -50
- package/src/exporter/docx/{render.js → render.ts} +124 -87
- package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
- package/src/exporter/docx/{tables.js → tables.ts} +33 -23
- package/src/exporter/docx/{tools.js → tools.ts} +4 -3
- package/src/exporter/epub/{index.js → index.ts} +44 -15
- package/src/exporter/epub/{templates.js → templates.ts} +71 -7
- package/src/exporter/epub/{tools.js → tools.ts} +31 -25
- package/src/exporter/html/{citations.js → citations.ts} +79 -31
- package/src/exporter/html/{convert.js → convert.ts} +118 -71
- package/src/exporter/html/{index.js → index.ts} +63 -29
- package/src/exporter/html/{templates.js → templates.ts} +22 -2
- package/src/exporter/html/{tools.js → tools.ts} +9 -6
- package/src/exporter/jats/bibliography.ts +199 -0
- package/src/exporter/jats/{citations.js → citations.ts} +56 -20
- package/src/exporter/jats/{convert.js → convert.ts} +72 -53
- package/src/exporter/jats/index.ts +132 -0
- package/src/exporter/jats/{templates.js → templates.ts} +19 -3
- package/src/exporter/jats/{text.js → text.ts} +8 -6
- package/src/exporter/latex/{convert.js → convert.ts} +160 -125
- package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
- package/src/exporter/latex/{index.js → index.ts} +27 -12
- package/src/exporter/latex/{readme.js → readme.ts} +2 -2
- package/src/exporter/native/copy.ts +231 -0
- package/src/exporter/native/file.ts +65 -0
- package/src/exporter/native/index.ts +4 -0
- package/src/exporter/native/revision.ts +76 -0
- package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
- package/src/exporter/native/zip.ts +85 -0
- package/src/exporter/odt/{citations.js → citations.ts} +35 -15
- package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
- package/src/exporter/odt/images.ts +135 -0
- package/src/exporter/odt/{index.js → index.ts} +49 -27
- package/src/exporter/odt/{math.js → math.ts} +38 -9
- package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
- package/src/exporter/odt/{render.js → render.ts} +89 -60
- package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
- package/src/exporter/odt/{styles.js → styles.ts} +98 -66
- package/src/exporter/odt/{track.js → track.ts} +22 -6
- package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
- package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
- package/src/exporter/pandoc/{index.js → index.ts} +36 -13
- package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
- package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
- package/src/exporter/print/{index.js → index.ts} +38 -19
- package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
- package/src/exporter/tools/{svg.js → svg.ts} +9 -3
- package/src/exporter/tools/{xml.js → xml.ts} +187 -138
- package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
- package/src/exporter/tools/{zip.js → zip.ts} +35 -11
- package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
- package/src/global.d.ts +2 -0
- package/src/importer/citations.ts +116 -0
- package/src/importer/docx/{citations.js → citations.ts} +22 -37
- package/src/importer/docx/{convert.js → convert.ts} +176 -141
- package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
- package/src/importer/docx/index.ts +124 -0
- package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
- package/src/importer/docx/{parse.js → parse.ts} +103 -81
- package/src/importer/native/extract_template.ts +83 -0
- package/src/importer/native/file.ts +282 -0
- package/src/importer/native/get_images.ts +82 -0
- package/src/importer/native/importer.ts +244 -0
- package/src/importer/native/index.ts +6 -0
- package/src/importer/native/{update.js → update.ts} +13 -5
- package/src/importer/native/update_template.ts +32 -0
- package/src/importer/odt/{citations.js → citations.ts} +17 -29
- package/src/importer/odt/{convert.js → convert.ts} +261 -237
- package/src/importer/odt/index.ts +202 -0
- package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
- package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
- package/src/importer/pandoc/index.ts +171 -0
- package/src/importer/registry.ts +69 -0
- package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
- package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
- package/src/modules.d.ts +40 -0
- package/src/schema/common/{annotate.js → annotate.ts} +10 -8
- package/src/schema/common/{base.js → base.ts} +12 -10
- package/src/schema/common/{citation.js → citation.ts} +17 -8
- package/src/schema/common/{equation.js → equation.ts} +6 -4
- package/src/schema/common/{figure.js → figure.ts} +43 -23
- package/src/schema/common/{heading.js → heading.ts} +7 -5
- package/src/schema/common/{list.js → list.ts} +15 -13
- package/src/schema/common/{reference.js → reference.ts} +14 -12
- package/src/schema/common/{table.js → table.ts} +16 -14
- package/src/schema/common/{track.js → track.ts} +42 -31
- package/src/schema/{convert.js → convert.ts} +6 -2
- package/src/schema/document/{content.js → content.ts} +22 -20
- package/src/schema/document/{structure.js → structure.ts} +15 -9
- package/src/schema/{export.js → export.ts} +4 -2
- package/src/schema/{footnotes.js → footnotes.ts} +11 -8
- package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
- package/src/schema/{i18n.js → i18n.ts} +7 -1
- package/src/schema/{mini_json.js → mini_json.ts} +11 -12
- package/src/schema/{text.js → text.ts} +6 -2
- package/src/types.ts +185 -7
- package/src/exporter/docx/images.js +0 -101
- package/src/exporter/jats/bibliography.js +0 -183
- package/src/exporter/jats/index.js +0 -92
- package/src/exporter/odt/images.js +0 -115
- package/src/importer/citations.js +0 -129
- package/src/importer/native/get_images.js +0 -76
- /package/src/schema/common/{index.js → index.ts} +0 -0
- /package/src/schema/document/{index.js → index.ts} +0 -0
- /package/src/schema/{index.js → index.ts} +0 -0
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import {xmlDOM} from "./xml.js"
|
|
2
|
-
|
|
3
1
|
import {get} from "fwtoolkit"
|
|
2
|
+
|
|
3
|
+
import {xmlDOM, XMLElement} from "./xml.js"
|
|
4
|
+
|
|
4
5
|
// Handle a zip file containing XML files. Make sure files are only opened once,
|
|
5
6
|
// and provide a mechanism to save the file.
|
|
6
7
|
|
|
7
8
|
export class XmlZip {
|
|
8
|
-
|
|
9
|
+
url: string
|
|
10
|
+
mimeType: string
|
|
11
|
+
docs: Record<string, XMLElement>
|
|
12
|
+
extraFiles: Record<string, unknown>
|
|
13
|
+
rawFile: Blob | false
|
|
14
|
+
zip: any
|
|
15
|
+
|
|
16
|
+
constructor(url: string, mimeType: string) {
|
|
9
17
|
this.url = url
|
|
10
18
|
this.mimeType = mimeType
|
|
11
19
|
this.docs = {}
|
|
@@ -33,7 +41,7 @@ export class XmlZip {
|
|
|
33
41
|
}
|
|
34
42
|
|
|
35
43
|
// Open file at filePath from zip file and parse it as XML.
|
|
36
|
-
getXml(filePath, defaultContents) {
|
|
44
|
+
getXml(filePath: string, defaultContents?: string): Promise<XMLElement> {
|
|
37
45
|
if (this.docs[filePath]) {
|
|
38
46
|
// file has been loaded already.
|
|
39
47
|
return Promise.resolve(this.docs[filePath])
|
|
@@ -41,7 +49,7 @@ export class XmlZip {
|
|
|
41
49
|
return this.zip
|
|
42
50
|
.file(filePath)
|
|
43
51
|
.async("string")
|
|
44
|
-
.then(string => {
|
|
52
|
+
.then((string: string) => {
|
|
45
53
|
this.docs[filePath] = xmlDOM(string)
|
|
46
54
|
return Promise.resolve(this.docs[filePath])
|
|
47
55
|
})
|
|
@@ -57,36 +65,36 @@ export class XmlZip {
|
|
|
57
65
|
}
|
|
58
66
|
|
|
59
67
|
// Add an xml file at filepath without checking for previous version
|
|
60
|
-
addXmlFile(filePath, xmlContents) {
|
|
68
|
+
addXmlFile(filePath: string, xmlContents: XMLElement): void {
|
|
61
69
|
this.docs[filePath] = xmlContents
|
|
62
70
|
}
|
|
63
71
|
|
|
64
72
|
// Add extra file to be saved in zip later.
|
|
65
|
-
addExtraFile(filePath, fileContents) {
|
|
73
|
+
addExtraFile(filePath: string, fileContents: unknown): void {
|
|
66
74
|
this.extraFiles[filePath] = fileContents
|
|
67
75
|
}
|
|
68
76
|
|
|
69
77
|
// Put all currently open XML files into zip.
|
|
70
|
-
allXMLToZip() {
|
|
78
|
+
allXMLToZip(): void {
|
|
71
79
|
for (const fileName in this.docs) {
|
|
72
80
|
this.xmlToZip(fileName)
|
|
73
81
|
}
|
|
74
82
|
}
|
|
75
83
|
|
|
76
84
|
// Put all extra files into zip.
|
|
77
|
-
allExtraToZip() {
|
|
85
|
+
allExtraToZip(): void {
|
|
78
86
|
for (const fileName in this.extraFiles) {
|
|
79
87
|
this.zip.file(fileName, this.extraFiles[fileName])
|
|
80
88
|
}
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
// Put the xml identified by filePath into zip.
|
|
84
|
-
xmlToZip(filePath) {
|
|
92
|
+
xmlToZip(filePath: string): void {
|
|
85
93
|
const string = this.docs[filePath].toString()
|
|
86
94
|
this.zip.file(filePath, string)
|
|
87
95
|
}
|
|
88
96
|
|
|
89
|
-
prepareBlob() {
|
|
97
|
+
prepareBlob(): Promise<Blob> {
|
|
90
98
|
this.allXMLToZip()
|
|
91
99
|
this.allExtraToZip()
|
|
92
100
|
|
|
@@ -1,18 +1,42 @@
|
|
|
1
|
-
import {convertDataURIToBlob, get} from "fwtoolkit"
|
|
1
|
+
import {convertDataURIToBlob as convertDataURIToBlobFn, get} from "fwtoolkit"
|
|
2
|
+
|
|
3
|
+
export interface ZipTextFile {
|
|
4
|
+
filename: string
|
|
5
|
+
contents: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ZipBinaryFile {
|
|
9
|
+
url: string
|
|
10
|
+
filename: string
|
|
11
|
+
blob?: Blob
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface ZipIncludeFile {
|
|
15
|
+
url: string
|
|
16
|
+
directory: string
|
|
17
|
+
blob?: Blob
|
|
18
|
+
}
|
|
2
19
|
|
|
3
20
|
/** Creates a zip file.
|
|
4
21
|
* @function zipFileCreator
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
8
|
-
* @param
|
|
22
|
+
* @param textFiles A list of files in plain text format.
|
|
23
|
+
* @param binaryFiles A list fo files that have to be downloaded from the internet before being included.
|
|
24
|
+
* @param includeZips A list of zip files to be merged into the output zip file.
|
|
25
|
+
* @param mimeType The mimetype of the file that is to be created.
|
|
9
26
|
*/
|
|
10
27
|
|
|
11
28
|
export class ZipFileCreator {
|
|
29
|
+
textFiles: ZipTextFile[]
|
|
30
|
+
binaryFiles: ZipBinaryFile[]
|
|
31
|
+
zipFiles: ZipIncludeFile[]
|
|
32
|
+
mimeType: string
|
|
33
|
+
date: Date
|
|
34
|
+
zipFs: any
|
|
35
|
+
|
|
12
36
|
constructor(
|
|
13
|
-
textFiles = [],
|
|
14
|
-
binaryFiles = [],
|
|
15
|
-
zipFiles = [],
|
|
37
|
+
textFiles: ZipTextFile[] = [],
|
|
38
|
+
binaryFiles: ZipBinaryFile[] = [],
|
|
39
|
+
zipFiles: ZipIncludeFile[] = [],
|
|
16
40
|
mimeType = "application/zip",
|
|
17
41
|
date = new Date()
|
|
18
42
|
) {
|
|
@@ -25,7 +49,7 @@ export class ZipFileCreator {
|
|
|
25
49
|
|
|
26
50
|
init() {
|
|
27
51
|
return import("jszip").then(({default: JSZip}) => {
|
|
28
|
-
JSZip.defaults.date = this.date
|
|
52
|
+
;(JSZip as any).defaults.date = this.date
|
|
29
53
|
this.zipFs = new JSZip()
|
|
30
54
|
if (this.mimeType !== "application/zip") {
|
|
31
55
|
this.zipFs.file("mimetype", this.mimeType, {
|
|
@@ -84,7 +108,7 @@ export class ZipFileCreator {
|
|
|
84
108
|
}
|
|
85
109
|
|
|
86
110
|
// Legacy - remove in 3.12. Can be sued directly from function in common/blob.js
|
|
87
|
-
convertDataURIToBlob(dataURI) {
|
|
88
|
-
return
|
|
111
|
+
convertDataURIToBlob(dataURI: string): Blob {
|
|
112
|
+
return convertDataURIToBlobFn(dataURI)
|
|
89
113
|
}
|
|
90
114
|
}
|
|
@@ -6,11 +6,28 @@
|
|
|
6
6
|
|
|
7
7
|
import {CSLExporter} from "biblatex-csl-converter"
|
|
8
8
|
|
|
9
|
+
import type {BibDB} from "../../types.js"
|
|
10
|
+
|
|
11
|
+
interface CitationReference {
|
|
12
|
+
id: number
|
|
13
|
+
locator?: string
|
|
14
|
+
prefix?: string
|
|
15
|
+
item?: Record<string, unknown>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface ZoteroCitationItem {
|
|
19
|
+
id: number
|
|
20
|
+
uris: string[]
|
|
21
|
+
itemData: Record<string, unknown>
|
|
22
|
+
locator?: string
|
|
23
|
+
prefix?: string
|
|
24
|
+
}
|
|
25
|
+
|
|
9
26
|
/**
|
|
10
27
|
* Generate a random citation ID similar to Zotero's format.
|
|
11
28
|
* Zotero uses 8-10 character alphanumeric IDs.
|
|
12
29
|
*/
|
|
13
|
-
function generateCitationId() {
|
|
30
|
+
function generateCitationId(): string {
|
|
14
31
|
const chars = "abcdefghijklmnopqrstuvwxyz0123456789"
|
|
15
32
|
let id = ""
|
|
16
33
|
for (let i = 0; i < 8; i++) {
|
|
@@ -21,29 +38,29 @@ function generateCitationId() {
|
|
|
21
38
|
|
|
22
39
|
/**
|
|
23
40
|
* Convert bibliography entries to CSL-JSON format.
|
|
24
|
-
* @param
|
|
25
|
-
* @param
|
|
26
|
-
* @returns
|
|
41
|
+
* @param bibDB - The bibliography database
|
|
42
|
+
* @param ids - Array of entry IDs to convert
|
|
43
|
+
* @returns Object mapping IDs to CSL-JSON entries
|
|
27
44
|
*/
|
|
28
|
-
function convertToCSL(bibDB, ids) {
|
|
29
|
-
const exporter = new CSLExporter(bibDB.db, ids)
|
|
45
|
+
function convertToCSL(bibDB: BibDB, ids: number[]): Record<string, unknown> {
|
|
46
|
+
const exporter = new CSLExporter(bibDB.db as Record<string, any>, ids as unknown as string[])
|
|
30
47
|
return exporter.parse()
|
|
31
48
|
}
|
|
32
49
|
|
|
33
50
|
/**
|
|
34
51
|
* Create a Zotero citation JSON object.
|
|
35
|
-
* @param
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @returns
|
|
52
|
+
* @param references - Array of {id, prefix?, locator?} from citation node
|
|
53
|
+
* @param bibDB - Bibliography database
|
|
54
|
+
* @param formattedCitation - Pre-formatted citation text from citeproc
|
|
55
|
+
* @param citationId - Optional citation ID (generated if not provided)
|
|
56
|
+
* @returns Zotero citation JSON object
|
|
40
57
|
*/
|
|
41
58
|
export function createZoteroCitation(
|
|
42
|
-
references,
|
|
43
|
-
bibDB,
|
|
44
|
-
formattedCitation,
|
|
45
|
-
citationId = null
|
|
46
|
-
) {
|
|
59
|
+
references: CitationReference[],
|
|
60
|
+
bibDB: BibDB,
|
|
61
|
+
formattedCitation: string,
|
|
62
|
+
citationId: string | null = null
|
|
63
|
+
): Record<string, unknown> {
|
|
47
64
|
const citationID = citationId || generateCitationId()
|
|
48
65
|
|
|
49
66
|
// Get the IDs of all referenced items
|
|
@@ -59,7 +76,7 @@ export function createZoteroCitation(
|
|
|
59
76
|
return null
|
|
60
77
|
}
|
|
61
78
|
const citationKey = entry.entry_key || String(ref.id)
|
|
62
|
-
const item = {
|
|
79
|
+
const item: ZoteroCitationItem = {
|
|
63
80
|
id: ref.id,
|
|
64
81
|
uris: [],
|
|
65
82
|
itemData: {
|
|
@@ -78,7 +95,7 @@ export function createZoteroCitation(
|
|
|
78
95
|
|
|
79
96
|
return item
|
|
80
97
|
})
|
|
81
|
-
.filter(item => item !== null)
|
|
98
|
+
.filter((item): item is ZoteroCitationItem => item !== null)
|
|
82
99
|
|
|
83
100
|
return {
|
|
84
101
|
citationID,
|
package/src/global.d.ts
CHANGED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared citation utilities for DOCX and ODT importers.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type {BibDB, FidusNode} from "../types.js"
|
|
6
|
+
|
|
7
|
+
interface CitationEntry {
|
|
8
|
+
entry_key: string
|
|
9
|
+
fields: Record<string, unknown>
|
|
10
|
+
bib_type?: string
|
|
11
|
+
[key: string]: unknown
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface CitationMetadata {
|
|
15
|
+
entry_key: string
|
|
16
|
+
prefix?: string
|
|
17
|
+
suffix?: string
|
|
18
|
+
locator?: string
|
|
19
|
+
authorOnly?: boolean
|
|
20
|
+
authorYear?: boolean
|
|
21
|
+
suppressAuthor?: boolean
|
|
22
|
+
[key: string]: unknown
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface CitationResult {
|
|
26
|
+
isCitation: boolean
|
|
27
|
+
entries: Record<string, CitationEntry>
|
|
28
|
+
metadata?: CitationMetadata[]
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function mergeBibEntries(
|
|
32
|
+
entries: Record<string, CitationEntry>,
|
|
33
|
+
bibliography: Record<string, CitationEntry>,
|
|
34
|
+
bibDB: BibDB | false
|
|
35
|
+
): Record<string, string> {
|
|
36
|
+
const keyMap: Record<string, string> = {}
|
|
37
|
+
|
|
38
|
+
for (const entry of Object.values(entries)) {
|
|
39
|
+
if (!entry || !entry.entry_key) {
|
|
40
|
+
continue
|
|
41
|
+
}
|
|
42
|
+
const entryKey = entry.entry_key
|
|
43
|
+
|
|
44
|
+
// Check whether this entry_key is already in the bibliography.
|
|
45
|
+
const existing = Object.entries(bibliography).find(
|
|
46
|
+
([, bibEntry]) => bibEntry && bibEntry.entry_key === entryKey
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
if (existing) {
|
|
50
|
+
keyMap[entryKey] = existing[0]
|
|
51
|
+
} else {
|
|
52
|
+
if (bibDB && Object.keys(entry.fields).length === 0) {
|
|
53
|
+
// Jabref citations don't contain any fields. Look up values in bibDB instead
|
|
54
|
+
const bibEntry = (Object.values(bibDB.db) as Array<Record<string, any>>).find(
|
|
55
|
+
bibEntry => bibEntry && bibEntry.entry_key === entryKey
|
|
56
|
+
)
|
|
57
|
+
if (bibEntry) {
|
|
58
|
+
entry.fields = JSON.parse(JSON.stringify(bibEntry.fields))
|
|
59
|
+
entry.bib_type = bibEntry.bib_type as string
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// TODO: add for jabref citations - according to entry_key import from user
|
|
63
|
+
// library if useExternalDB is true
|
|
64
|
+
const bibKey = String(Object.keys(bibliography).length + 1)
|
|
65
|
+
bibliography[bibKey] = entry
|
|
66
|
+
keyMap[entryKey] = bibKey
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return keyMap
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function citationResultToNode(
|
|
74
|
+
result: CitationResult,
|
|
75
|
+
bibliography: Record<string, any>,
|
|
76
|
+
bibDB: BibDB | false = false
|
|
77
|
+
): FidusNode | null {
|
|
78
|
+
if (!result || !result.isCitation || !result.entries) {
|
|
79
|
+
return null
|
|
80
|
+
}
|
|
81
|
+
const entries = result.entries
|
|
82
|
+
const metadata = result.metadata || []
|
|
83
|
+
|
|
84
|
+
if (Object.keys(entries).length === 0) {
|
|
85
|
+
return null
|
|
86
|
+
}
|
|
87
|
+
const keyMap = mergeBibEntries(entries, bibliography, bibDB)
|
|
88
|
+
|
|
89
|
+
const references = Object.entries(entries).map(([, entry]) => {
|
|
90
|
+
const entryKey = entry.entry_key
|
|
91
|
+
const entryMetadata = metadata.find(meta => meta.entry_key === entryKey)
|
|
92
|
+
return {
|
|
93
|
+
id: keyMap[entryKey],
|
|
94
|
+
prefix: entryMetadata?.prefix || "",
|
|
95
|
+
locator: entryMetadata?.locator || entryMetadata?.suffix || ""
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
if (references.length === 0) {
|
|
100
|
+
return null
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const format =
|
|
104
|
+
metadata.length === 1 &&
|
|
105
|
+
(metadata[0].authorOnly || metadata[0].authorYear)
|
|
106
|
+
? "textcite"
|
|
107
|
+
: "autocite"
|
|
108
|
+
|
|
109
|
+
return {
|
|
110
|
+
type: "citation",
|
|
111
|
+
attrs: {
|
|
112
|
+
format,
|
|
113
|
+
references
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {DocxCitationsParser} from "biblatex-csl-converter"
|
|
2
|
+
|
|
2
3
|
import {citationResultToNode} from "../citations.js"
|
|
4
|
+
import type {BibDB, FidusNode} from "../../types.js"
|
|
5
|
+
import type {XMLElement} from "../../exporter/tools/xml.js"
|
|
3
6
|
|
|
4
7
|
/**
|
|
5
8
|
* Check whether a field instruction string belongs to a citation.
|
|
6
9
|
* Uses DocxCitationsParser.fieldCitation() with retrieve=false so no BibDB
|
|
7
10
|
* is allocated for the check.
|
|
8
|
-
*
|
|
9
|
-
* @param {string} instrText - Concatenated w:instrText content
|
|
10
|
-
* @returns {boolean}
|
|
11
11
|
*/
|
|
12
|
-
export function isDocxCitationField(instrText) {
|
|
12
|
+
export function isDocxCitationField(instrText: string): boolean {
|
|
13
13
|
if (!instrText) {
|
|
14
14
|
return false
|
|
15
15
|
}
|
|
@@ -21,11 +21,8 @@ export function isDocxCitationField(instrText) {
|
|
|
21
21
|
* (Zotero ZOTERO_BIBL, Word native BIBLIOGRAPHY, EN.REFLIST, etc.).
|
|
22
22
|
* Uses DocxCitationsParser.fieldBibliography() with the accumulated
|
|
23
23
|
* instruction text between begin and separate markers.
|
|
24
|
-
*
|
|
25
|
-
* @param {string} instrText - Concatenated w:instrText content
|
|
26
|
-
* @returns {boolean}
|
|
27
24
|
*/
|
|
28
|
-
export function isDocxBibliographyField(instrText) {
|
|
25
|
+
export function isDocxBibliographyField(instrText: string): boolean {
|
|
29
26
|
if (!instrText) {
|
|
30
27
|
return false
|
|
31
28
|
}
|
|
@@ -36,11 +33,10 @@ export function isDocxBibliographyField(instrText) {
|
|
|
36
33
|
/**
|
|
37
34
|
* Check whether a w:sdt node contains a citation (Mendeley v3, Citavi).
|
|
38
35
|
* Uses DocxCitationsParser.sdtCitation() with retrieve=false.
|
|
39
|
-
*
|
|
40
|
-
* @param {Object} sdtNode - The parsed w:sdt XMLElement node
|
|
41
|
-
* @returns {boolean}
|
|
42
36
|
*/
|
|
43
|
-
export function isDocxSdtCitation(
|
|
37
|
+
export function isDocxSdtCitation(
|
|
38
|
+
sdtNode: XMLElement | null | undefined
|
|
39
|
+
): boolean {
|
|
44
40
|
if (!sdtNode) {
|
|
45
41
|
return false
|
|
46
42
|
}
|
|
@@ -51,11 +47,10 @@ export function isDocxSdtCitation(sdtNode) {
|
|
|
51
47
|
* Check whether a w:sdt node is a bibliography rendering region
|
|
52
48
|
* (Mendeley v3 bibliography, Citavi bibliography).
|
|
53
49
|
* Uses DocxCitationsParser.sdtBibliography().
|
|
54
|
-
*
|
|
55
|
-
* @param {Object} sdtNode - The parsed w:sdt XMLElement node
|
|
56
|
-
* @returns {boolean}
|
|
57
50
|
*/
|
|
58
|
-
export function isDocxSdtBibliography(
|
|
51
|
+
export function isDocxSdtBibliography(
|
|
52
|
+
sdtNode: XMLElement | null | undefined
|
|
53
|
+
): boolean {
|
|
59
54
|
if (!sdtNode) {
|
|
60
55
|
return false
|
|
61
56
|
}
|
|
@@ -69,21 +64,13 @@ export function isDocxSdtBibliography(sdtNode) {
|
|
|
69
64
|
* Handles all field-based citation managers: Zotero, Mendeley Desktop
|
|
70
65
|
* (legacy), EndNote (both inline and fldData forms), Citavi (older ADDIN
|
|
71
66
|
* form), and Word native (requires sourcesXml).
|
|
72
|
-
*
|
|
73
|
-
* @param {string} instrText - Concatenated w:instrText for this field
|
|
74
|
-
* @param {string|null} fldData - Base64 content of w:fldData (EndNote),
|
|
75
|
-
* or null/undefined if absent
|
|
76
|
-
* @param {string|null} sourcesXml - Content of customXml/item1.xml (required
|
|
77
|
-
* only for Word-native citations)
|
|
78
|
-
* @param {Object} bibliography - Fidus Writer bibliography (mutated)
|
|
79
|
-
* @returns {Object|null} ProseMirror citation node or null
|
|
80
67
|
*/
|
|
81
68
|
export function parseDocxFieldCitation(
|
|
82
|
-
instrText,
|
|
83
|
-
fldData,
|
|
84
|
-
sourcesXml,
|
|
85
|
-
bibliography
|
|
86
|
-
) {
|
|
69
|
+
instrText: string,
|
|
70
|
+
fldData: string | null | undefined,
|
|
71
|
+
sourcesXml: string | null | undefined,
|
|
72
|
+
bibliography: Record<string, any>
|
|
73
|
+
): FidusNode | null {
|
|
87
74
|
if (!instrText) {
|
|
88
75
|
return null
|
|
89
76
|
}
|
|
@@ -96,8 +83,7 @@ export function parseDocxFieldCitation(
|
|
|
96
83
|
fldData || undefined,
|
|
97
84
|
options
|
|
98
85
|
)
|
|
99
|
-
|
|
100
|
-
return node
|
|
86
|
+
return citationResultToNode(result as any, bibliography)
|
|
101
87
|
}
|
|
102
88
|
|
|
103
89
|
/**
|
|
@@ -105,12 +91,11 @@ export function parseDocxFieldCitation(
|
|
|
105
91
|
* new bibliography entries into `bibliography`.
|
|
106
92
|
*
|
|
107
93
|
* Handles Mendeley Cite v3 and Citavi (modern SDT form).
|
|
108
|
-
*
|
|
109
|
-
* @param {Object} sdtNode - The parsed w:sdt XMLElement node
|
|
110
|
-
* @param {Object} bibliography - Fidus Writer bibliography (mutated)
|
|
111
|
-
* @returns {Object|null} ProseMirror citation node or null
|
|
112
94
|
*/
|
|
113
|
-
export function parseDocxSdtCitation(
|
|
95
|
+
export function parseDocxSdtCitation(
|
|
96
|
+
sdtNode: XMLElement | null | undefined,
|
|
97
|
+
bibliography: Record<string, any>
|
|
98
|
+
): FidusNode | null {
|
|
114
99
|
if (!sdtNode) {
|
|
115
100
|
return null
|
|
116
101
|
}
|
|
@@ -119,5 +104,5 @@ export function parseDocxSdtCitation(sdtNode, bibliography) {
|
|
|
119
104
|
true, // retrieve
|
|
120
105
|
true // retrieveMetadata
|
|
121
106
|
)
|
|
122
|
-
return citationResultToNode(result, bibliography)
|
|
107
|
+
return citationResultToNode(result as any, bibliography)
|
|
123
108
|
}
|