@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,8 +1,10 @@
|
|
|
1
1
|
import {escapeText} from "fwtoolkit"
|
|
2
|
+
import type {MarkSpec, NodeSpec} from "prosemirror-model"
|
|
3
|
+
|
|
2
4
|
import {parseTracks} from "../common/index.js"
|
|
3
5
|
import {fnNodeToHtml, htmlToFnNode} from "../footnotes_convert.js"
|
|
4
6
|
|
|
5
|
-
export const randomCodeBlockId = () => {
|
|
7
|
+
export const randomCodeBlockId = (): string => {
|
|
6
8
|
return `C${Math.round(Math.random() * 10000000) + 1}`
|
|
7
9
|
}
|
|
8
10
|
|
|
@@ -21,12 +23,12 @@ export const contributor = {
|
|
|
21
23
|
parseDOM: [
|
|
22
24
|
{
|
|
23
25
|
tag: "span.contributor",
|
|
24
|
-
getAttrs(dom) {
|
|
26
|
+
getAttrs(dom: HTMLElement) {
|
|
25
27
|
return {
|
|
26
|
-
firstname: dom.dataset.firstname,
|
|
27
|
-
lastname: dom.dataset.lastname,
|
|
28
|
-
email: dom.dataset.email,
|
|
29
|
-
institution: dom.dataset.institution,
|
|
28
|
+
firstname: dom.dataset.firstname || false,
|
|
29
|
+
lastname: dom.dataset.lastname || false,
|
|
30
|
+
email: dom.dataset.email || false,
|
|
31
|
+
institution: dom.dataset.institution || false,
|
|
30
32
|
id_type: dom.dataset.id_type || false,
|
|
31
33
|
id_value: dom.dataset.id_value || false
|
|
32
34
|
}
|
|
@@ -36,17 +38,17 @@ export const contributor = {
|
|
|
36
38
|
toDOM(node) {
|
|
37
39
|
const dom = document.createElement("span")
|
|
38
40
|
dom.classList.add("contributor")
|
|
39
|
-
dom.dataset.firstname = node.attrs.firstname
|
|
40
|
-
dom.dataset.lastname = node.attrs.lastname
|
|
41
|
-
dom.dataset.email = node.attrs.email
|
|
42
|
-
dom.dataset.institution = node.attrs.institution
|
|
41
|
+
dom.dataset.firstname = node.attrs.firstname || ""
|
|
42
|
+
dom.dataset.lastname = node.attrs.lastname || ""
|
|
43
|
+
dom.dataset.email = node.attrs.email || ""
|
|
44
|
+
dom.dataset.institution = node.attrs.institution || ""
|
|
43
45
|
if (node.attrs.id_type) {
|
|
44
46
|
dom.dataset.id_type = node.attrs.id_type
|
|
45
47
|
}
|
|
46
48
|
if (node.attrs.id_value) {
|
|
47
49
|
dom.dataset.id_value = node.attrs.id_value
|
|
48
50
|
}
|
|
49
|
-
const content = []
|
|
51
|
+
const content: string[] = []
|
|
50
52
|
if (node.attrs.firstname) {
|
|
51
53
|
content.push(escapeText(node.attrs.firstname))
|
|
52
54
|
}
|
|
@@ -71,7 +73,7 @@ export const contributor = {
|
|
|
71
73
|
|
|
72
74
|
return dom
|
|
73
75
|
}
|
|
74
|
-
}
|
|
76
|
+
} satisfies NodeSpec
|
|
75
77
|
|
|
76
78
|
export const tag = {
|
|
77
79
|
inline: true,
|
|
@@ -84,7 +86,7 @@ export const tag = {
|
|
|
84
86
|
parseDOM: [
|
|
85
87
|
{
|
|
86
88
|
tag: "span.tag",
|
|
87
|
-
getAttrs(dom) {
|
|
89
|
+
getAttrs(dom: HTMLElement) {
|
|
88
90
|
return {
|
|
89
91
|
tag: dom.innerText
|
|
90
92
|
}
|
|
@@ -94,7 +96,7 @@ export const tag = {
|
|
|
94
96
|
toDOM(node) {
|
|
95
97
|
return ["span", {class: "tag"}, node.attrs.tag]
|
|
96
98
|
}
|
|
97
|
-
}
|
|
99
|
+
} satisfies NodeSpec
|
|
98
100
|
|
|
99
101
|
export const footnote = {
|
|
100
102
|
inline: true,
|
|
@@ -111,9 +113,9 @@ export const footnote = {
|
|
|
111
113
|
parseDOM: [
|
|
112
114
|
{
|
|
113
115
|
tag: "span.footnote-marker[data-footnote]",
|
|
114
|
-
getAttrs(dom) {
|
|
116
|
+
getAttrs(dom: HTMLElement) {
|
|
115
117
|
return {
|
|
116
|
-
footnote: htmlToFnNode(dom.dataset.footnote)
|
|
118
|
+
footnote: htmlToFnNode(dom.dataset.footnote || "")
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
}
|
|
@@ -125,7 +127,7 @@ export const footnote = {
|
|
|
125
127
|
dom.innerHTML = " "
|
|
126
128
|
return dom
|
|
127
129
|
}
|
|
128
|
-
}
|
|
130
|
+
} satisfies NodeSpec
|
|
129
131
|
|
|
130
132
|
export const code_block = {
|
|
131
133
|
content: "text*",
|
|
@@ -154,7 +156,7 @@ export const code_block = {
|
|
|
154
156
|
{
|
|
155
157
|
tag: "pre",
|
|
156
158
|
preserveWhitespace: "full",
|
|
157
|
-
getAttrs(dom) {
|
|
159
|
+
getAttrs(dom: HTMLElement) {
|
|
158
160
|
return {
|
|
159
161
|
track: parseTracks(dom.dataset.track),
|
|
160
162
|
language: dom.dataset.language || "",
|
|
@@ -166,7 +168,7 @@ export const code_block = {
|
|
|
166
168
|
}
|
|
167
169
|
],
|
|
168
170
|
toDOM(node) {
|
|
169
|
-
const attrs = {}
|
|
171
|
+
const attrs: Record<string, unknown> = {}
|
|
170
172
|
if (node.attrs.track.length) {
|
|
171
173
|
attrs["data-track"] = JSON.stringify(node.attrs.track)
|
|
172
174
|
}
|
|
@@ -184,4 +186,4 @@ export const code_block = {
|
|
|
184
186
|
}
|
|
185
187
|
return ["pre", attrs, ["code", 0]]
|
|
186
188
|
}
|
|
187
|
-
}
|
|
189
|
+
} satisfies NodeSpec
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type {NodeSpec} from "prosemirror-model"
|
|
2
|
+
|
|
1
3
|
export const doc = {
|
|
2
4
|
content: "title part*",
|
|
3
5
|
selectable: false,
|
|
@@ -200,7 +202,7 @@ export const doc = {
|
|
|
200
202
|
parseDOM: [
|
|
201
203
|
{
|
|
202
204
|
tag: "div.doc",
|
|
203
|
-
getAttrs(dom) {
|
|
205
|
+
getAttrs(dom: HTMLElement) {
|
|
204
206
|
return {
|
|
205
207
|
papersize: dom.dataset.papersize,
|
|
206
208
|
citationstyle: dom.dataset.citationstyle,
|
|
@@ -221,9 +223,13 @@ export const doc = {
|
|
|
221
223
|
0
|
|
222
224
|
]
|
|
223
225
|
}
|
|
224
|
-
}
|
|
226
|
+
} satisfies NodeSpec
|
|
225
227
|
|
|
226
|
-
const partSpec = (
|
|
228
|
+
const partSpec = (
|
|
229
|
+
type: string,
|
|
230
|
+
content: string,
|
|
231
|
+
extraAttrs: Record<string, {default: unknown}> = {}
|
|
232
|
+
): NodeSpec => ({
|
|
227
233
|
content,
|
|
228
234
|
group: "part",
|
|
229
235
|
marks: "annotation track",
|
|
@@ -259,12 +265,12 @@ const partSpec = (type, content, attrs = {}) => ({
|
|
|
259
265
|
default: false
|
|
260
266
|
}
|
|
261
267
|
},
|
|
262
|
-
|
|
268
|
+
extraAttrs
|
|
263
269
|
),
|
|
264
270
|
parseDOM: [
|
|
265
271
|
{
|
|
266
272
|
tag: `div.doc-${type}`,
|
|
267
|
-
getAttrs(dom) {
|
|
273
|
+
getAttrs(dom: HTMLElement) {
|
|
268
274
|
return {
|
|
269
275
|
hidden: dom.dataset.hidden === "true" ? true : false
|
|
270
276
|
}
|
|
@@ -272,7 +278,7 @@ const partSpec = (type, content, attrs = {}) => ({
|
|
|
272
278
|
}
|
|
273
279
|
],
|
|
274
280
|
toDOM(node) {
|
|
275
|
-
const attrs = {
|
|
281
|
+
const attrs: Record<string, unknown> = {
|
|
276
282
|
class: `doc-part doc-${type} ${node.attrs.id ? `doc-${node.attrs.id}` : "doc-no-id"}`
|
|
277
283
|
}
|
|
278
284
|
if (node.attrs.hidden) {
|
|
@@ -400,7 +406,7 @@ export const table_of_contents = {
|
|
|
400
406
|
dom.innerHTML = `<h1 class="toc">${node.attrs.title}</h1>`
|
|
401
407
|
return dom
|
|
402
408
|
}
|
|
403
|
-
}
|
|
409
|
+
} satisfies NodeSpec
|
|
404
410
|
|
|
405
411
|
export const separator_part = {
|
|
406
412
|
marks: "annotation track",
|
|
@@ -422,7 +428,7 @@ export const separator_part = {
|
|
|
422
428
|
dom.classList.add(`doc-${node.attrs.id}`)
|
|
423
429
|
return dom
|
|
424
430
|
}
|
|
425
|
-
}
|
|
431
|
+
} satisfies NodeSpec
|
|
426
432
|
|
|
427
433
|
export const title = {
|
|
428
434
|
content: "text*",
|
|
@@ -449,4 +455,4 @@ export const title = {
|
|
|
449
455
|
0
|
|
450
456
|
]
|
|
451
457
|
}
|
|
452
|
-
}
|
|
458
|
+
} satisfies NodeSpec
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {docSchema} from "./document/index.js"
|
|
2
2
|
|
|
3
3
|
export class SchemaExport {
|
|
4
|
+
schema: typeof docSchema
|
|
5
|
+
|
|
4
6
|
constructor() {
|
|
5
7
|
this.schema = docSchema
|
|
6
8
|
}
|
|
7
9
|
|
|
8
|
-
init() {
|
|
9
|
-
const spec = {
|
|
10
|
+
init(): string {
|
|
11
|
+
const spec: {nodes: Record<string, unknown>; marks: Record<string, unknown>} = {
|
|
10
12
|
nodes: {},
|
|
11
13
|
marks: {}
|
|
12
14
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import OrderedMap from "orderedmap"
|
|
2
|
+
import type {Node, NodeSpec} from "prosemirror-model"
|
|
2
3
|
import {Schema} from "prosemirror-model"
|
|
3
4
|
import {marks, nodes} from "prosemirror-schema-basic"
|
|
4
5
|
import {tableNodes} from "prosemirror-tables"
|
|
@@ -32,18 +33,18 @@ import {
|
|
|
32
33
|
underline
|
|
33
34
|
} from "./common/index.js"
|
|
34
35
|
|
|
35
|
-
const footnotecontainer = {
|
|
36
|
+
const footnotecontainer: NodeSpec = {
|
|
36
37
|
group: "part",
|
|
37
38
|
selectable: false,
|
|
38
39
|
content: "(block|table_block)+",
|
|
39
40
|
marks: "annotation",
|
|
40
41
|
parseDOM: [{tag: "div.footnote-container"}],
|
|
41
|
-
toDOM(_node) {
|
|
42
|
+
toDOM(_node: Node) {
|
|
42
43
|
return ["div", {class: "footnote-container"}, 0]
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
const doc = {
|
|
47
|
+
const doc: NodeSpec = {
|
|
47
48
|
content: "part*",
|
|
48
49
|
selectable: false
|
|
49
50
|
}
|
|
@@ -91,20 +92,22 @@ const spec = {
|
|
|
91
92
|
spec.nodes = spec.nodes.append(
|
|
92
93
|
tableNodes({
|
|
93
94
|
tableGroup: "table_block",
|
|
94
|
-
cellContent: "block+"
|
|
95
|
+
cellContent: "block+",
|
|
96
|
+
cellAttributes: {}
|
|
95
97
|
})
|
|
96
98
|
)
|
|
97
99
|
|
|
100
|
+
const tableSpec = spec.nodes.get("table") || {}
|
|
98
101
|
spec.nodes = spec.nodes.update(
|
|
99
102
|
"table",
|
|
100
|
-
Object.assign({},
|
|
103
|
+
Object.assign({}, tableSpec, {
|
|
101
104
|
attrs: {
|
|
102
105
|
track: {default: []}
|
|
103
106
|
},
|
|
104
107
|
parseDOM: [
|
|
105
108
|
{
|
|
106
109
|
tag: "table",
|
|
107
|
-
getAttrs(dom) {
|
|
110
|
+
getAttrs(dom: HTMLElement) {
|
|
108
111
|
return {
|
|
109
112
|
track: dom.dataset.track
|
|
110
113
|
? JSON.parse(dom.dataset.track)
|
|
@@ -113,8 +116,8 @@ spec.nodes = spec.nodes.update(
|
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
],
|
|
116
|
-
toDOM(node) {
|
|
117
|
-
const attrs = {}
|
|
119
|
+
toDOM(node: Node) {
|
|
120
|
+
const attrs: Record<string, unknown> = {}
|
|
118
121
|
if (node.attrs.track.length) {
|
|
119
122
|
attrs["data-track"] = JSON.stringify(node.attrs.track)
|
|
120
123
|
}
|
|
@@ -3,20 +3,22 @@ import {DOMParser, DOMSerializer, Node} from "prosemirror-model"
|
|
|
3
3
|
import {fnSchema} from "./footnotes.js"
|
|
4
4
|
|
|
5
5
|
// Convert the footnote HTML stored with the marker to a PM node representation of the footnote.
|
|
6
|
-
export const htmlToFnNode = content => {
|
|
6
|
+
export const htmlToFnNode = (content: string): unknown[] => {
|
|
7
7
|
const footnoteDOM = document.createElement("div")
|
|
8
8
|
footnoteDOM.classList.add("footnote-container")
|
|
9
9
|
footnoteDOM.innerHTML = content
|
|
10
10
|
const node = DOMParser.fromSchema(fnSchema).parse(footnoteDOM, {
|
|
11
11
|
preserveWhitespace: true,
|
|
12
|
-
topNode: false
|
|
12
|
+
topNode: false as unknown as Node
|
|
13
13
|
})
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const firstChild = node.firstChild
|
|
15
|
+
if (!firstChild) {
|
|
16
|
+
return []
|
|
17
|
+
}
|
|
18
|
+
return firstChild.toJSON().content
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
export const fnNodeToPmNode = fnContents => {
|
|
21
|
+
export const fnNodeToPmNode = (fnContents: unknown[]): Node => {
|
|
20
22
|
const footnote = {
|
|
21
23
|
type: "footnotecontainer",
|
|
22
24
|
content: fnContents
|
|
@@ -24,8 +26,9 @@ export const fnNodeToPmNode = fnContents => {
|
|
|
24
26
|
return Node.fromJSON(fnSchema, footnote)
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
export const fnNodeToHtml = jsonString => {
|
|
29
|
+
export const fnNodeToHtml = (jsonString: unknown[]): string => {
|
|
28
30
|
const pmNode = fnNodeToPmNode(jsonString),
|
|
29
31
|
serializer = DOMSerializer.fromSchema(fnSchema)
|
|
30
|
-
|
|
32
|
+
const dom = serializer.serializeNode(pmNode)
|
|
33
|
+
return dom instanceof HTMLElement ? dom.innerHTML : ""
|
|
31
34
|
}
|
|
@@ -581,7 +581,10 @@ const EXERCISE_SOLUTION = {
|
|
|
581
581
|
uk: "Розв'язок"
|
|
582
582
|
}
|
|
583
583
|
|
|
584
|
-
export const CATS
|
|
584
|
+
export const CATS: Record<
|
|
585
|
+
string,
|
|
586
|
+
Record<string, string>
|
|
587
|
+
> = {
|
|
585
588
|
figure: FIGURE,
|
|
586
589
|
equation: EQUATION,
|
|
587
590
|
table: TABLE,
|
|
@@ -593,3 +596,6 @@ export const CATS = {
|
|
|
593
596
|
exercise: EXERCISE,
|
|
594
597
|
exercise_solution: EXERCISE_SOLUTION
|
|
595
598
|
}
|
|
599
|
+
|
|
600
|
+
export const getCat = (category: string, language: string): string =>
|
|
601
|
+
CATS[category]?.[language] || CATS[category]?.["en-US"] || category
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import deepEqual from "fast-deep-equal"
|
|
2
|
+
import type {Mark, Node, Schema} from "prosemirror-model"
|
|
2
3
|
|
|
3
|
-
export function toMiniJSON(node) {
|
|
4
|
+
export function toMiniJSON(node: Node): Record<string, unknown> {
|
|
4
5
|
// Similar to the ProseMirror internal toJSON function,
|
|
5
6
|
// but leaving out attributes that have default values and dealing with
|
|
6
7
|
// attributes that are objects.
|
|
7
8
|
// Adapted from https://github.com/ProseMirror/prosemirror-model/blob/6d970507cd0da48653d3b72f2731a71a144a364b/src/node.js#L340-L351
|
|
8
|
-
const obj = {type: node.type.name}
|
|
9
|
+
const obj: Record<string, unknown> = {type: node.type.name}
|
|
9
10
|
for (const attr in node.attrs) {
|
|
10
|
-
if (!deepEqual(node.type.attrs[attr].default, node.attrs[attr])) {
|
|
11
|
+
if (!deepEqual((node.type as any).attrs[attr].default, node.attrs[attr])) {
|
|
11
12
|
if (!obj.attrs) {
|
|
12
13
|
obj.attrs = {}
|
|
13
14
|
}
|
|
14
|
-
obj.attrs[attr] = ["string", "number", "boolean"].includes(
|
|
15
|
+
;(obj.attrs as Record<string, unknown>)[attr] = ["string", "number", "boolean"].includes(
|
|
15
16
|
typeof node.attrs[attr]
|
|
16
17
|
)
|
|
17
18
|
? node.attrs[attr]
|
|
@@ -19,9 +20,7 @@ export function toMiniJSON(node) {
|
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
if (node.content.size) {
|
|
22
|
-
obj.content = node.content.content.map(childNode =>
|
|
23
|
-
toMiniJSON(childNode)
|
|
24
|
-
)
|
|
23
|
+
obj.content = node.content.content.map(childNode => toMiniJSON(childNode))
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
if (node.marks.length) {
|
|
@@ -35,15 +34,15 @@ export function toMiniJSON(node) {
|
|
|
35
34
|
return obj
|
|
36
35
|
}
|
|
37
36
|
|
|
38
|
-
function toMiniMarkJSON(mark) {
|
|
37
|
+
function toMiniMarkJSON(mark: Mark): Record<string, unknown> {
|
|
39
38
|
// Adapted from https://github.com/ProseMirror/prosemirror-model/blob/6d970507cd0da48653d3b72f2731a71a144a364b/src/mark.js#L76-L83
|
|
40
|
-
const obj = {type: mark.type.name}
|
|
39
|
+
const obj: Record<string, unknown> = {type: mark.type.name}
|
|
41
40
|
for (const attr in mark.attrs) {
|
|
42
|
-
if (!deepEqual(mark.type.attrs[attr].default, mark.attrs[attr])) {
|
|
41
|
+
if (!deepEqual((mark.type as any).attrs[attr].default, mark.attrs[attr])) {
|
|
43
42
|
if (!obj.attrs) {
|
|
44
43
|
obj.attrs = {}
|
|
45
44
|
}
|
|
46
|
-
obj.attrs[attr] = ["string", "number", "boolean"].includes(
|
|
45
|
+
;(obj.attrs as Record<string, unknown>)[attr] = ["string", "number", "boolean"].includes(
|
|
47
46
|
typeof mark.attrs[attr]
|
|
48
47
|
)
|
|
49
48
|
? mark.attrs[attr]
|
|
@@ -53,7 +52,7 @@ function toMiniMarkJSON(mark) {
|
|
|
53
52
|
return obj
|
|
54
53
|
}
|
|
55
54
|
|
|
56
|
-
export function toFullJSON(miniJson, schema) {
|
|
55
|
+
export function toFullJSON(miniJson: Record<string, unknown>, schema: Schema): Record<string, unknown> {
|
|
57
56
|
if (!miniJson.type) {
|
|
58
57
|
miniJson.type = "doc"
|
|
59
58
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import type {Node} from "prosemirror-model"
|
|
2
|
+
|
|
3
|
+
import type {Track} from "./common/track.js"
|
|
4
|
+
|
|
5
|
+
export function getNonDeletedTextContent(topNode: Node): string {
|
|
2
6
|
let text = ""
|
|
3
7
|
topNode.descendants(node => {
|
|
4
8
|
if (
|
|
5
9
|
node.marks.find(mark => mark.type.name === "deletion") ||
|
|
6
10
|
(node.attrs &&
|
|
7
|
-
(node.attrs.track?.find(track => track.type === "deletion") ||
|
|
11
|
+
(node.attrs.track?.find((track: Track) => track.type === "deletion") ||
|
|
8
12
|
node.attrs.hidden))
|
|
9
13
|
) {
|
|
10
14
|
return
|
package/src/types.ts
CHANGED
|
@@ -74,30 +74,78 @@ export interface FidusDoc {
|
|
|
74
74
|
|
|
75
75
|
/** A fully populated document object passed to exporters. */
|
|
76
76
|
export interface ExportDoc {
|
|
77
|
+
id: string | number
|
|
77
78
|
title: string
|
|
78
79
|
path?: string
|
|
79
|
-
content: FidusNode
|
|
80
|
+
content: FidusNode
|
|
80
81
|
settings: DocSettings
|
|
81
82
|
comments?: Record<string, CommentData>
|
|
82
83
|
version?: string
|
|
83
84
|
}
|
|
84
85
|
|
|
86
|
+
/** A document contributor extracted from a contributors_part node. */
|
|
87
|
+
export interface Contributor {
|
|
88
|
+
firstname?: string
|
|
89
|
+
lastname?: string
|
|
90
|
+
institution?: string
|
|
91
|
+
role?: string
|
|
92
|
+
email?: string
|
|
93
|
+
id_type?: string
|
|
94
|
+
id_value?: string
|
|
95
|
+
[key: string]: unknown
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Metadata bundle assembled by exporters and passed to metadata handlers. */
|
|
99
|
+
export interface ExportMetadata {
|
|
100
|
+
title: string
|
|
101
|
+
authors: Contributor[]
|
|
102
|
+
contributors: Contributor[]
|
|
103
|
+
keywords: string[]
|
|
104
|
+
language?: string
|
|
105
|
+
citationStyle?: string
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** A user reference passed to importers. */
|
|
109
|
+
export interface User {
|
|
110
|
+
id: number
|
|
111
|
+
name?: string
|
|
112
|
+
avatar?: string
|
|
113
|
+
username?: string
|
|
114
|
+
}
|
|
115
|
+
|
|
85
116
|
/** A single comment thread. */
|
|
86
117
|
export interface CommentData {
|
|
87
|
-
id
|
|
118
|
+
id?: number
|
|
88
119
|
user: number
|
|
89
120
|
username: string
|
|
90
121
|
date: number
|
|
91
122
|
resolved?: boolean
|
|
92
|
-
|
|
123
|
+
comment: FidusNode[]
|
|
124
|
+
answers?: Array<{
|
|
125
|
+
id?: string
|
|
126
|
+
user: number
|
|
127
|
+
username: string
|
|
128
|
+
date: number
|
|
129
|
+
answer: FidusNode[]
|
|
130
|
+
}>
|
|
93
131
|
}
|
|
94
132
|
|
|
95
133
|
/** A bibliographic database entry (format depends on the CSL engine). */
|
|
96
134
|
export interface BibDBEntry {
|
|
135
|
+
entry_key?: string
|
|
136
|
+
bib_type?: string
|
|
137
|
+
fields?: Record<string, JSONValue>
|
|
97
138
|
[key: string]: JSONValue | undefined
|
|
98
139
|
}
|
|
99
140
|
|
|
100
|
-
|
|
141
|
+
/** Flat map of bibliography entries keyed by internal ID. */
|
|
142
|
+
export type BibDBEntries = Record<string, BibDBEntry>
|
|
143
|
+
|
|
144
|
+
/** Bibliography database wrapper used by importers/exporters. */
|
|
145
|
+
export interface BibDB {
|
|
146
|
+
db: BibDBEntries
|
|
147
|
+
getDB?: () => Promise<void>
|
|
148
|
+
}
|
|
101
149
|
|
|
102
150
|
/** An entry in the image database. */
|
|
103
151
|
export interface ImageDBEntry {
|
|
@@ -109,12 +157,69 @@ export interface ImageDBEntry {
|
|
|
109
157
|
[key: string]: unknown
|
|
110
158
|
}
|
|
111
159
|
|
|
112
|
-
|
|
160
|
+
/** Flat map of image entries keyed by internal ID. */
|
|
161
|
+
export type ImageDBEntries = Record<string, ImageDBEntry>
|
|
113
162
|
|
|
114
|
-
/**
|
|
163
|
+
/** Image database wrapper used by importers/exporters. */
|
|
164
|
+
export interface ImageDB {
|
|
165
|
+
db: ImageDBEntries
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/** A parsed CSL/CSL-M stylesheet node. */
|
|
169
|
+
export interface CSLStyleNode {
|
|
170
|
+
name: string
|
|
171
|
+
attrs?: Record<string, unknown>
|
|
172
|
+
children?: CSLStyleNode[]
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/** A parsed CSL/CSL-M stylesheet. */
|
|
176
|
+
export interface CSLStyle {
|
|
177
|
+
children: CSLStyleNode[]
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/** A CSL/CSL-M stylesheet reference / engine provider. */
|
|
115
181
|
export interface CSL {
|
|
116
182
|
citationType?: string
|
|
117
|
-
|
|
183
|
+
getStyle?: (styleId: string) => Promise<CSLStyle>
|
|
184
|
+
getEngine?: (
|
|
185
|
+
sys: unknown,
|
|
186
|
+
styleId: string,
|
|
187
|
+
lang: string
|
|
188
|
+
) => Promise<CiteprocInstance>
|
|
189
|
+
getEngineSync?: (
|
|
190
|
+
sys: unknown,
|
|
191
|
+
styleId: string,
|
|
192
|
+
lang: string
|
|
193
|
+
) => CiteprocInstance | undefined
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/** A minimal citeproc-js engine interface. */
|
|
197
|
+
export interface CiteprocInstance {
|
|
198
|
+
updateItems: (ids: string[]) => void
|
|
199
|
+
appendCitationCluster: (
|
|
200
|
+
citation: unknown,
|
|
201
|
+
flag?: boolean
|
|
202
|
+
) => Array<[number, string]>
|
|
203
|
+
makeCitationCluster: (items: unknown[]) => string
|
|
204
|
+
cslXml: {dataObj: {attrs: {class: string}}}
|
|
205
|
+
citation: {opt: {layout_delimiter?: string}}
|
|
206
|
+
makeBibliography: () => BibliographyResult
|
|
207
|
+
sys?: unknown
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** citeproc-js makeBibliography() result tuple. */
|
|
211
|
+
export interface BibliographyResult extends Array<unknown> {
|
|
212
|
+
0: {
|
|
213
|
+
entry_ids: string[]
|
|
214
|
+
bibstart: string
|
|
215
|
+
bibend: string
|
|
216
|
+
entryspacing: number
|
|
217
|
+
linespacing: number
|
|
218
|
+
hangingindent?: boolean
|
|
219
|
+
maxoffset: number
|
|
220
|
+
"second-field-align"?: "margin" | "flush"
|
|
221
|
+
}
|
|
222
|
+
1: string[]
|
|
118
223
|
}
|
|
119
224
|
|
|
120
225
|
/** Common constructor options for exporters. */
|
|
@@ -134,3 +239,76 @@ export interface NativeDomNode {
|
|
|
134
239
|
a?: Array<[string, string]>
|
|
135
240
|
c?: NativeDomNode[]
|
|
136
241
|
}
|
|
242
|
+
|
|
243
|
+
/** A document template extracted from document content. */
|
|
244
|
+
export interface Template {
|
|
245
|
+
content: FidusNode
|
|
246
|
+
exportTemplates: Array<Record<string, JSONValue>>
|
|
247
|
+
documentStyles: Array<Record<string, JSONValue>>
|
|
248
|
+
files?: Array<{filename: string; content: Blob | ArrayBuffer | string}>
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/** Files bundled with a document template. */
|
|
252
|
+
export interface TemplateFiles {
|
|
253
|
+
textFiles: Array<{filename: string; contents: string}>
|
|
254
|
+
httpFiles: Array<{url: string; filename: string}>
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/** Backend callbacks used by the generic NativeImporter. */
|
|
258
|
+
export interface NativeImporterBackend {
|
|
259
|
+
createDoc: (
|
|
260
|
+
template: Template,
|
|
261
|
+
importId: string | number | null,
|
|
262
|
+
requestedPath: string,
|
|
263
|
+
e2eeOptions: E2EEOptions | null,
|
|
264
|
+
files: Record<string, File[]>
|
|
265
|
+
) => Promise<{id: number; path: string; e2ee?: boolean}>
|
|
266
|
+
saveImages: (
|
|
267
|
+
images: ImageDB,
|
|
268
|
+
docId: number,
|
|
269
|
+
e2eeOptions: E2EEOptions | null
|
|
270
|
+
) => Promise<Record<number | string, number>>
|
|
271
|
+
saveDocument: (
|
|
272
|
+
saveData: Record<string, unknown>,
|
|
273
|
+
e2eeOptions: E2EEOptions | null
|
|
274
|
+
) => Promise<{added: number; updated: number}>
|
|
275
|
+
extractTemplate?: (doc: FidusNode) => Template
|
|
276
|
+
decryptBufferToBase64?: (base64: string, key: CryptoKey) => Promise<string>
|
|
277
|
+
encryptImage?: (file: Blob, key: CryptoKey) => Promise<Blob>
|
|
278
|
+
encryptObject?: (obj: unknown, key: CryptoKey) => Promise<unknown>
|
|
279
|
+
encrypt?: (text: string, key: CryptoKey) => Promise<unknown>
|
|
280
|
+
storeKeyInSession?: (docId: number, key: CryptoKey) => void
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/** E2EE options used during import/export/copy. */
|
|
284
|
+
export interface E2EEOptions {
|
|
285
|
+
enabled?: boolean
|
|
286
|
+
key?: CryptoKey
|
|
287
|
+
sourceKey?: CryptoKey
|
|
288
|
+
targetE2EE?: boolean
|
|
289
|
+
targetPassword?: string
|
|
290
|
+
salt?: string
|
|
291
|
+
iterations?: number
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/** Callback that uploads a native revision blob. */
|
|
295
|
+
export type UploadRevision = (blob: Blob, doc: Record<string, unknown>) => unknown
|
|
296
|
+
|
|
297
|
+
/** E2EE helper object used by SaveCopy. */
|
|
298
|
+
export interface SaveCopyE2EE {
|
|
299
|
+
decryptObject: (encrypted: unknown, key: CryptoKey) => Promise<unknown>
|
|
300
|
+
encryptObject: (obj: unknown, key: CryptoKey) => Promise<unknown>
|
|
301
|
+
encrypt: (text: string, key: CryptoKey) => Promise<unknown>
|
|
302
|
+
encryptImage: (file: Blob, key: CryptoKey) => Promise<Blob>
|
|
303
|
+
generateSalt: () => Uint8Array
|
|
304
|
+
deriveKey: (password: string, salt: Uint8Array, iterations: number) => Promise<CryptoKey>
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/** Callback used by SaveCopy to import a copied document. */
|
|
308
|
+
export type ImportDocument = (
|
|
309
|
+
doc: Record<string, unknown>,
|
|
310
|
+
bibDB: BibDB,
|
|
311
|
+
imageDB: ImageDB,
|
|
312
|
+
httpIncludes: Array<{url: string; filename: string}>,
|
|
313
|
+
options: Record<string, unknown>
|
|
314
|
+
) => Promise<{doc: Record<string, unknown>; docInfo: Record<string, unknown>}>
|