@fiduswriter/document 0.1.0-alpha.4 → 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/bibliography/common.d.ts +9 -91
  2. package/dist/bibliography/common.d.ts.map +1 -1
  3. package/dist/bibliography/common.js +3 -2
  4. package/dist/bibliography/common.js.map +1 -1
  5. package/dist/bibliography/csl_bib.d.ts +1 -1
  6. package/dist/bibliography/csl_bib.d.ts.map +1 -1
  7. package/dist/bibliography/csl_bib.js +7 -7
  8. package/dist/bibliography/csl_bib.js.map +1 -1
  9. package/dist/citations/citeproc_sys.d.ts +9 -10
  10. package/dist/citations/citeproc_sys.d.ts.map +1 -1
  11. package/dist/citations/citeproc_sys.js +6 -1
  12. package/dist/citations/citeproc_sys.js.map +1 -1
  13. package/dist/citations/format.d.ts +33 -16
  14. package/dist/citations/format.d.ts.map +1 -1
  15. package/dist/citations/format.js +29 -4
  16. package/dist/citations/format.js.map +1 -1
  17. package/dist/editor/e2ee/encryptor.d.ts +35 -35
  18. package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
  19. package/dist/editor/e2ee/encryptor.js +31 -31
  20. package/dist/editor/e2ee/encryptor.js.map +1 -1
  21. package/dist/exporter/docx/citations.d.ts +27 -17
  22. package/dist/exporter/docx/citations.d.ts.map +1 -1
  23. package/dist/exporter/docx/citations.js +24 -7
  24. package/dist/exporter/docx/citations.js.map +1 -1
  25. package/dist/exporter/docx/comments.d.ts +15 -11
  26. package/dist/exporter/docx/comments.d.ts.map +1 -1
  27. package/dist/exporter/docx/comments.js +47 -14
  28. package/dist/exporter/docx/comments.js.map +1 -1
  29. package/dist/exporter/docx/footnotes.d.ts +36 -31
  30. package/dist/exporter/docx/footnotes.d.ts.map +1 -1
  31. package/dist/exporter/docx/footnotes.js +46 -12
  32. package/dist/exporter/docx/footnotes.js.map +1 -1
  33. package/dist/exporter/docx/images.d.ts +23 -12
  34. package/dist/exporter/docx/images.d.ts.map +1 -1
  35. package/dist/exporter/docx/images.js +35 -20
  36. package/dist/exporter/docx/images.js.map +1 -1
  37. package/dist/exporter/docx/index.d.ts +11 -17
  38. package/dist/exporter/docx/index.d.ts.map +1 -1
  39. package/dist/exporter/docx/index.js +15 -7
  40. package/dist/exporter/docx/index.js.map +1 -1
  41. package/dist/exporter/docx/lists.d.ts +27 -22
  42. package/dist/exporter/docx/lists.d.ts.map +1 -1
  43. package/dist/exporter/docx/lists.js +77 -30
  44. package/dist/exporter/docx/lists.js.map +1 -1
  45. package/dist/exporter/docx/math.d.ts +9 -9
  46. package/dist/exporter/docx/math.d.ts.map +1 -1
  47. package/dist/exporter/docx/math.js +22 -5
  48. package/dist/exporter/docx/math.js.map +1 -1
  49. package/dist/exporter/docx/metadata.d.ts +12 -9
  50. package/dist/exporter/docx/metadata.d.ts.map +1 -1
  51. package/dist/exporter/docx/metadata.js +59 -26
  52. package/dist/exporter/docx/metadata.js.map +1 -1
  53. package/dist/exporter/docx/rels.d.ts +14 -12
  54. package/dist/exporter/docx/rels.d.ts.map +1 -1
  55. package/dist/exporter/docx/rels.js +37 -22
  56. package/dist/exporter/docx/rels.js.map +1 -1
  57. package/dist/exporter/docx/render.d.ts +17 -15
  58. package/dist/exporter/docx/render.d.ts.map +1 -1
  59. package/dist/exporter/docx/render.js +37 -31
  60. package/dist/exporter/docx/render.js.map +1 -1
  61. package/dist/exporter/docx/richtext.d.ts +8 -8
  62. package/dist/exporter/docx/richtext.d.ts.map +1 -1
  63. package/dist/exporter/docx/richtext.js +61 -43
  64. package/dist/exporter/docx/richtext.js.map +1 -1
  65. package/dist/exporter/docx/tables.d.ts +11 -9
  66. package/dist/exporter/docx/tables.d.ts.map +1 -1
  67. package/dist/exporter/docx/tables.js +16 -10
  68. package/dist/exporter/docx/tables.js.map +1 -1
  69. package/dist/exporter/docx/tools.d.ts +3 -2
  70. package/dist/exporter/docx/tools.d.ts.map +1 -1
  71. package/dist/exporter/docx/tools.js +3 -3
  72. package/dist/exporter/docx/tools.js.map +1 -1
  73. package/dist/exporter/epub/index.d.ts +11 -3
  74. package/dist/exporter/epub/index.d.ts.map +1 -1
  75. package/dist/exporter/epub/index.js +10 -3
  76. package/dist/exporter/epub/index.js.map +1 -1
  77. package/dist/exporter/epub/templates.d.ts +62 -31
  78. package/dist/exporter/epub/templates.d.ts.map +1 -1
  79. package/dist/exporter/epub/templates.js +1 -1
  80. package/dist/exporter/epub/templates.js.map +1 -1
  81. package/dist/exporter/epub/tools.d.ts +12 -4
  82. package/dist/exporter/epub/tools.d.ts.map +1 -1
  83. package/dist/exporter/epub/tools.js +14 -13
  84. package/dist/exporter/epub/tools.js.map +1 -1
  85. package/dist/exporter/html/citations.d.ts +17 -15
  86. package/dist/exporter/html/citations.d.ts.map +1 -1
  87. package/dist/exporter/html/citations.js +37 -18
  88. package/dist/exporter/html/citations.js.map +1 -1
  89. package/dist/exporter/html/convert.d.ts +20 -70
  90. package/dist/exporter/html/convert.d.ts.map +1 -1
  91. package/dist/exporter/html/convert.js +74 -42
  92. package/dist/exporter/html/convert.js.map +1 -1
  93. package/dist/exporter/html/index.d.ts +55 -52
  94. package/dist/exporter/html/index.d.ts.map +1 -1
  95. package/dist/exporter/html/index.js +23 -3
  96. package/dist/exporter/html/index.js.map +1 -1
  97. package/dist/exporter/html/templates.d.ts +23 -9
  98. package/dist/exporter/html/templates.d.ts.map +1 -1
  99. package/dist/exporter/html/templates.js +1 -1
  100. package/dist/exporter/html/templates.js.map +1 -1
  101. package/dist/exporter/html/tools.d.ts +1 -1
  102. package/dist/exporter/html/tools.d.ts.map +1 -1
  103. package/dist/exporter/html/tools.js +2 -2
  104. package/dist/exporter/html/tools.js.map +1 -1
  105. package/dist/exporter/jats/bibliography.d.ts +2 -1
  106. package/dist/exporter/jats/bibliography.d.ts.map +1 -1
  107. package/dist/exporter/jats/bibliography.js +57 -52
  108. package/dist/exporter/jats/bibliography.js.map +1 -1
  109. package/dist/exporter/jats/citations.d.ts +13 -11
  110. package/dist/exporter/jats/citations.d.ts.map +1 -1
  111. package/dist/exporter/jats/citations.js +28 -6
  112. package/dist/exporter/jats/citations.js.map +1 -1
  113. package/dist/exporter/jats/convert.d.ts +24 -28
  114. package/dist/exporter/jats/convert.d.ts.map +1 -1
  115. package/dist/exporter/jats/convert.js +53 -36
  116. package/dist/exporter/jats/convert.js.map +1 -1
  117. package/dist/exporter/jats/index.d.ts +21 -15
  118. package/dist/exporter/jats/index.d.ts.map +1 -1
  119. package/dist/exporter/jats/index.js +21 -5
  120. package/dist/exporter/jats/index.js.map +1 -1
  121. package/dist/exporter/jats/templates.d.ts +17 -15
  122. package/dist/exporter/jats/templates.d.ts.map +1 -1
  123. package/dist/exporter/jats/templates.js.map +1 -1
  124. package/dist/exporter/jats/text.d.ts +3 -2
  125. package/dist/exporter/jats/text.d.ts.map +1 -1
  126. package/dist/exporter/jats/text.js +4 -4
  127. package/dist/exporter/jats/text.js.map +1 -1
  128. package/dist/exporter/latex/convert.d.ts +12 -15
  129. package/dist/exporter/latex/convert.d.ts.map +1 -1
  130. package/dist/exporter/latex/convert.js +70 -54
  131. package/dist/exporter/latex/convert.js.map +1 -1
  132. package/dist/exporter/latex/escape_latex.d.ts +1 -1
  133. package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
  134. package/dist/exporter/latex/escape_latex.js +1 -1
  135. package/dist/exporter/latex/escape_latex.js.map +1 -1
  136. package/dist/exporter/latex/index.d.ts +20 -19
  137. package/dist/exporter/latex/index.d.ts.map +1 -1
  138. package/dist/exporter/latex/index.js +15 -5
  139. package/dist/exporter/latex/index.js.map +1 -1
  140. package/dist/exporter/latex/readme.d.ts +1 -1
  141. package/dist/exporter/latex/readme.d.ts.map +1 -1
  142. package/dist/exporter/latex/readme.js +2 -2
  143. package/dist/exporter/latex/readme.js.map +1 -1
  144. package/dist/exporter/native/copy.d.ts +30 -0
  145. package/dist/exporter/native/copy.d.ts.map +1 -0
  146. package/dist/exporter/native/copy.js +151 -0
  147. package/dist/exporter/native/copy.js.map +1 -0
  148. package/dist/exporter/native/file.d.ts +12 -0
  149. package/dist/exporter/native/file.d.ts.map +1 -0
  150. package/dist/exporter/native/file.js +38 -0
  151. package/dist/exporter/native/file.js.map +1 -0
  152. package/dist/exporter/native/index.d.ts +5 -0
  153. package/dist/exporter/native/index.d.ts.map +1 -0
  154. package/dist/exporter/native/index.js +5 -0
  155. package/dist/exporter/native/index.js.map +1 -0
  156. package/dist/exporter/native/revision.d.ts +18 -0
  157. package/dist/exporter/native/revision.d.ts.map +1 -0
  158. package/dist/exporter/native/revision.js +39 -0
  159. package/dist/exporter/native/revision.js.map +1 -0
  160. package/dist/exporter/native/shrink.d.ts +29 -14
  161. package/dist/exporter/native/shrink.d.ts.map +1 -1
  162. package/dist/exporter/native/shrink.js +27 -18
  163. package/dist/exporter/native/shrink.js.map +1 -1
  164. package/dist/exporter/native/zip.d.ts +25 -0
  165. package/dist/exporter/native/zip.d.ts.map +1 -0
  166. package/dist/exporter/native/zip.js +56 -0
  167. package/dist/exporter/native/zip.js.map +1 -0
  168. package/dist/exporter/odt/citations.d.ts +18 -15
  169. package/dist/exporter/odt/citations.d.ts.map +1 -1
  170. package/dist/exporter/odt/citations.js +21 -4
  171. package/dist/exporter/odt/citations.js.map +1 -1
  172. package/dist/exporter/odt/footnotes.d.ts +25 -19
  173. package/dist/exporter/odt/footnotes.d.ts.map +1 -1
  174. package/dist/exporter/odt/footnotes.js +23 -6
  175. package/dist/exporter/odt/footnotes.js.map +1 -1
  176. package/dist/exporter/odt/images.d.ts +23 -11
  177. package/dist/exporter/odt/images.d.ts.map +1 -1
  178. package/dist/exporter/odt/images.js +34 -26
  179. package/dist/exporter/odt/images.js.map +1 -1
  180. package/dist/exporter/odt/index.d.ts +12 -18
  181. package/dist/exporter/odt/index.d.ts.map +1 -1
  182. package/dist/exporter/odt/index.js +16 -7
  183. package/dist/exporter/odt/index.js.map +1 -1
  184. package/dist/exporter/odt/math.d.ts +10 -8
  185. package/dist/exporter/odt/math.d.ts.map +1 -1
  186. package/dist/exporter/odt/math.js +27 -4
  187. package/dist/exporter/odt/math.js.map +1 -1
  188. package/dist/exporter/odt/metadata.d.ts +13 -9
  189. package/dist/exporter/odt/metadata.d.ts.map +1 -1
  190. package/dist/exporter/odt/metadata.js +36 -15
  191. package/dist/exporter/odt/metadata.js.map +1 -1
  192. package/dist/exporter/odt/render.d.ts +17 -15
  193. package/dist/exporter/odt/render.d.ts.map +1 -1
  194. package/dist/exporter/odt/render.js +25 -18
  195. package/dist/exporter/odt/render.js.map +1 -1
  196. package/dist/exporter/odt/richtext.d.ts +9 -9
  197. package/dist/exporter/odt/richtext.d.ts.map +1 -1
  198. package/dist/exporter/odt/richtext.js +55 -40
  199. package/dist/exporter/odt/richtext.js.map +1 -1
  200. package/dist/exporter/odt/styles.d.ts +29 -21
  201. package/dist/exporter/odt/styles.d.ts.map +1 -1
  202. package/dist/exporter/odt/styles.js +44 -22
  203. package/dist/exporter/odt/styles.js.map +1 -1
  204. package/dist/exporter/odt/track.d.ts +14 -7
  205. package/dist/exporter/odt/track.d.ts.map +1 -1
  206. package/dist/exporter/odt/track.js +7 -0
  207. package/dist/exporter/odt/track.js.map +1 -1
  208. package/dist/exporter/pandoc/citations.d.ts +20 -14
  209. package/dist/exporter/pandoc/citations.d.ts.map +1 -1
  210. package/dist/exporter/pandoc/citations.js +18 -4
  211. package/dist/exporter/pandoc/citations.js.map +1 -1
  212. package/dist/exporter/pandoc/convert.d.ts +10 -29
  213. package/dist/exporter/pandoc/convert.d.ts.map +1 -1
  214. package/dist/exporter/pandoc/convert.js +45 -40
  215. package/dist/exporter/pandoc/convert.js.map +1 -1
  216. package/dist/exporter/pandoc/index.d.ts +20 -33
  217. package/dist/exporter/pandoc/index.d.ts.map +1 -1
  218. package/dist/exporter/pandoc/index.js +20 -8
  219. package/dist/exporter/pandoc/index.js.map +1 -1
  220. package/dist/exporter/pandoc/readme.d.ts +1 -1
  221. package/dist/exporter/pandoc/readme.d.ts.map +1 -1
  222. package/dist/exporter/pandoc/readme.js +0 -1
  223. package/dist/exporter/pandoc/readme.js.map +1 -1
  224. package/dist/exporter/pandoc/tools.d.ts +21 -5
  225. package/dist/exporter/pandoc/tools.d.ts.map +1 -1
  226. package/dist/exporter/pandoc/tools.js +2 -2
  227. package/dist/exporter/pandoc/tools.js.map +1 -1
  228. package/dist/exporter/print/index.d.ts +18 -7
  229. package/dist/exporter/print/index.d.ts.map +1 -1
  230. package/dist/exporter/print/index.js +12 -10
  231. package/dist/exporter/print/index.js.map +1 -1
  232. package/dist/exporter/tools/doc_content.d.ts +5 -6
  233. package/dist/exporter/tools/doc_content.d.ts.map +1 -1
  234. package/dist/exporter/tools/doc_content.js +17 -16
  235. package/dist/exporter/tools/doc_content.js.map +1 -1
  236. package/dist/exporter/tools/svg.d.ts +7 -1
  237. package/dist/exporter/tools/svg.d.ts.map +1 -1
  238. package/dist/exporter/tools/svg.js.map +1 -1
  239. package/dist/exporter/tools/xml.d.ts +39 -38
  240. package/dist/exporter/tools/xml.d.ts.map +1 -1
  241. package/dist/exporter/tools/xml.js +82 -55
  242. package/dist/exporter/tools/xml.js.map +1 -1
  243. package/dist/exporter/tools/xml_zip.d.ts +15 -14
  244. package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
  245. package/dist/exporter/tools/xml_zip.js +8 -2
  246. package/dist/exporter/tools/xml_zip.js.map +1 -1
  247. package/dist/exporter/tools/zip.d.ts +28 -14
  248. package/dist/exporter/tools/zip.d.ts.map +1 -1
  249. package/dist/exporter/tools/zip.js +13 -6
  250. package/dist/exporter/tools/zip.js.map +1 -1
  251. package/dist/exporter/tools/zotero_csl.d.ts +19 -6
  252. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
  253. package/dist/exporter/tools/zotero_csl.js +9 -9
  254. package/dist/exporter/tools/zotero_csl.js.map +1 -1
  255. package/dist/importer/citations.d.ts +25 -22
  256. package/dist/importer/citations.d.ts.map +1 -1
  257. package/dist/importer/citations.js +1 -49
  258. package/dist/importer/citations.js.map +1 -1
  259. package/dist/importer/docx/citations.d.ts +8 -30
  260. package/dist/importer/docx/citations.d.ts.map +1 -1
  261. package/dist/importer/docx/citations.js +1 -26
  262. package/dist/importer/docx/citations.js.map +1 -1
  263. package/dist/importer/docx/convert.d.ts +38 -116
  264. package/dist/importer/docx/convert.d.ts.map +1 -1
  265. package/dist/importer/docx/convert.js +99 -82
  266. package/dist/importer/docx/convert.js.map +1 -1
  267. package/dist/importer/docx/helpers.d.ts +1 -1
  268. package/dist/importer/docx/helpers.d.ts.map +1 -1
  269. package/dist/importer/docx/helpers.js +1 -1
  270. package/dist/importer/docx/helpers.js.map +1 -1
  271. package/dist/importer/docx/index.d.ts +27 -0
  272. package/dist/importer/docx/index.d.ts.map +1 -0
  273. package/dist/importer/docx/index.js +77 -0
  274. package/dist/importer/docx/index.js.map +1 -0
  275. package/dist/importer/docx/omml2mathml.d.ts +2 -3
  276. package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
  277. package/dist/importer/docx/omml2mathml.js +23 -116
  278. package/dist/importer/docx/omml2mathml.js.map +1 -1
  279. package/dist/importer/docx/parse.d.ts +22 -131
  280. package/dist/importer/docx/parse.d.ts.map +1 -1
  281. package/dist/importer/docx/parse.js +73 -55
  282. package/dist/importer/docx/parse.js.map +1 -1
  283. package/dist/importer/native/extract_template.d.ts +6 -0
  284. package/dist/importer/native/extract_template.d.ts.map +1 -0
  285. package/dist/importer/native/extract_template.js +80 -0
  286. package/dist/importer/native/extract_template.js.map +1 -0
  287. package/dist/importer/native/file.d.ts +37 -0
  288. package/dist/importer/native/file.d.ts.map +1 -0
  289. package/dist/importer/native/file.js +162 -0
  290. package/dist/importer/native/file.js.map +1 -0
  291. package/dist/importer/native/get_images.d.ts +18 -8
  292. package/dist/importer/native/get_images.d.ts.map +1 -1
  293. package/dist/importer/native/get_images.js +39 -45
  294. package/dist/importer/native/get_images.js.map +1 -1
  295. package/dist/importer/native/importer.d.ts +41 -0
  296. package/dist/importer/native/importer.d.ts.map +1 -0
  297. package/dist/importer/native/importer.js +170 -0
  298. package/dist/importer/native/importer.js.map +1 -0
  299. package/dist/importer/native/index.d.ts +7 -0
  300. package/dist/importer/native/index.d.ts.map +1 -0
  301. package/dist/importer/native/index.js +7 -0
  302. package/dist/importer/native/index.js.map +1 -0
  303. package/dist/importer/native/update.d.ts +5 -4
  304. package/dist/importer/native/update.d.ts.map +1 -1
  305. package/dist/importer/native/update.js +4 -3
  306. package/dist/importer/native/update.js.map +1 -1
  307. package/dist/importer/native/update_template.d.ts +12 -0
  308. package/dist/importer/native/update_template.d.ts.map +1 -0
  309. package/dist/importer/native/update_template.js +19 -0
  310. package/dist/importer/native/update_template.js.map +1 -0
  311. package/dist/importer/odt/citations.d.ts +7 -27
  312. package/dist/importer/odt/citations.d.ts.map +1 -1
  313. package/dist/importer/odt/citations.js +0 -22
  314. package/dist/importer/odt/citations.js.map +1 -1
  315. package/dist/importer/odt/convert.d.ts +53 -237
  316. package/dist/importer/odt/convert.d.ts.map +1 -1
  317. package/dist/importer/odt/convert.js +162 -138
  318. package/dist/importer/odt/convert.js.map +1 -1
  319. package/dist/importer/odt/index.d.ts +30 -0
  320. package/dist/importer/odt/index.d.ts.map +1 -0
  321. package/dist/importer/odt/index.js +124 -0
  322. package/dist/importer/odt/index.js.map +1 -0
  323. package/dist/importer/pandoc/convert.d.ts +25 -77
  324. package/dist/importer/pandoc/convert.d.ts.map +1 -1
  325. package/dist/importer/pandoc/convert.js +65 -52
  326. package/dist/importer/pandoc/convert.js.map +1 -1
  327. package/dist/importer/pandoc/helpers.d.ts +4 -3
  328. package/dist/importer/pandoc/helpers.d.ts.map +1 -1
  329. package/dist/importer/pandoc/helpers.js +24 -26
  330. package/dist/importer/pandoc/helpers.js.map +1 -1
  331. package/dist/importer/pandoc/index.d.ts +31 -0
  332. package/dist/importer/pandoc/index.d.ts.map +1 -0
  333. package/dist/importer/pandoc/index.js +114 -0
  334. package/dist/importer/pandoc/index.js.map +1 -0
  335. package/dist/importer/registry.d.ts +21 -0
  336. package/dist/importer/registry.d.ts.map +1 -0
  337. package/dist/importer/registry.js +41 -0
  338. package/dist/importer/registry.js.map +1 -0
  339. package/dist/importer/zip_analyzer.d.ts +27 -21
  340. package/dist/importer/zip_analyzer.d.ts.map +1 -1
  341. package/dist/importer/zip_analyzer.js +10 -5
  342. package/dist/importer/zip_analyzer.js.map +1 -1
  343. package/dist/mathlive/opf_includes.d.ts +1 -1
  344. package/dist/mathlive/opf_includes.d.ts.map +1 -1
  345. package/dist/mathlive/opf_includes.js.map +1 -1
  346. package/dist/schema/common/annotate.d.ts +37 -49
  347. package/dist/schema/common/annotate.d.ts.map +1 -1
  348. package/dist/schema/common/annotate.js +2 -2
  349. package/dist/schema/common/annotate.js.map +1 -1
  350. package/dist/schema/common/base.d.ts +63 -81
  351. package/dist/schema/common/base.d.ts.map +1 -1
  352. package/dist/schema/common/base.js.map +1 -1
  353. package/dist/schema/common/citation.d.ts +23 -22
  354. package/dist/schema/common/citation.d.ts.map +1 -1
  355. package/dist/schema/common/citation.js +4 -5
  356. package/dist/schema/common/citation.js.map +1 -1
  357. package/dist/schema/common/equation.d.ts +13 -14
  358. package/dist/schema/common/equation.d.ts.map +1 -1
  359. package/dist/schema/common/equation.js +1 -1
  360. package/dist/schema/common/equation.js.map +1 -1
  361. package/dist/schema/common/figure.d.ts +72 -93
  362. package/dist/schema/common/figure.d.ts.map +1 -1
  363. package/dist/schema/common/figure.js +11 -9
  364. package/dist/schema/common/figure.js.map +1 -1
  365. package/dist/schema/common/heading.d.ts +8 -32
  366. package/dist/schema/common/heading.d.ts.map +1 -1
  367. package/dist/schema/common/heading.js +2 -2
  368. package/dist/schema/common/heading.js.map +1 -1
  369. package/dist/schema/common/index.d.ts +2 -2
  370. package/dist/schema/common/index.d.ts.map +1 -1
  371. package/dist/schema/common/index.js.map +1 -1
  372. package/dist/schema/common/list.d.ts +52 -72
  373. package/dist/schema/common/list.d.ts.map +1 -1
  374. package/dist/schema/common/list.js +3 -3
  375. package/dist/schema/common/list.js.map +1 -1
  376. package/dist/schema/common/reference.d.ts +51 -59
  377. package/dist/schema/common/reference.d.ts.map +1 -1
  378. package/dist/schema/common/reference.js +5 -5
  379. package/dist/schema/common/reference.js.map +1 -1
  380. package/dist/schema/common/table.d.ts +59 -75
  381. package/dist/schema/common/table.d.ts.map +1 -1
  382. package/dist/schema/common/table.js +3 -2
  383. package/dist/schema/common/table.js.map +1 -1
  384. package/dist/schema/common/track.d.ts +83 -97
  385. package/dist/schema/common/track.d.ts.map +1 -1
  386. package/dist/schema/common/track.js +18 -17
  387. package/dist/schema/common/track.js.map +1 -1
  388. package/dist/schema/convert.d.ts +2 -2
  389. package/dist/schema/convert.d.ts.map +1 -1
  390. package/dist/schema/convert.js +2 -2
  391. package/dist/schema/convert.js.map +1 -1
  392. package/dist/schema/document/content.d.ts +95 -122
  393. package/dist/schema/document/content.d.ts.map +1 -1
  394. package/dist/schema/document/content.js +9 -9
  395. package/dist/schema/document/content.js.map +1 -1
  396. package/dist/schema/document/index.d.ts +173 -257
  397. package/dist/schema/document/index.d.ts.map +1 -1
  398. package/dist/schema/document/index.js.map +1 -1
  399. package/dist/schema/document/structure.d.ts +149 -258
  400. package/dist/schema/document/structure.d.ts.map +1 -1
  401. package/dist/schema/document/structure.js +2 -2
  402. package/dist/schema/document/structure.js.map +1 -1
  403. package/dist/schema/export.d.ts +4 -877
  404. package/dist/schema/export.d.ts.map +1 -1
  405. package/dist/schema/export.js +1 -0
  406. package/dist/schema/export.js.map +1 -1
  407. package/dist/schema/footnotes.d.ts +110 -155
  408. package/dist/schema/footnotes.d.ts.map +1 -1
  409. package/dist/schema/footnotes.js +4 -2
  410. package/dist/schema/footnotes.js.map +1 -1
  411. package/dist/schema/footnotes_convert.d.ts +3 -3
  412. package/dist/schema/footnotes_convert.d.ts.map +1 -1
  413. package/dist/schema/footnotes_convert.js +10 -6
  414. package/dist/schema/footnotes_convert.js.map +1 -1
  415. package/dist/schema/i18n.d.ts +3 -534
  416. package/dist/schema/i18n.d.ts.map +1 -1
  417. package/dist/schema/i18n.js +1 -0
  418. package/dist/schema/i18n.js.map +1 -1
  419. package/dist/schema/index.d.ts +1 -1
  420. package/dist/schema/index.d.ts.map +1 -1
  421. package/dist/schema/index.js.map +1 -1
  422. package/dist/schema/mini_json.d.ts +3 -4
  423. package/dist/schema/mini_json.d.ts.map +1 -1
  424. package/dist/schema/mini_json.js +2 -0
  425. package/dist/schema/mini_json.js.map +1 -1
  426. package/dist/schema/text.d.ts +2 -1
  427. package/dist/schema/text.d.ts.map +1 -1
  428. package/dist/schema/text.js +1 -1
  429. package/dist/schema/text.js.map +1 -1
  430. package/dist/types.d.ts +167 -8
  431. package/dist/types.d.ts.map +1 -1
  432. package/package.json +4 -1
  433. package/src/bibliography/{common.js → common.ts} +15 -12
  434. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  435. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  436. package/src/citations/{format.js → format.ts} +80 -24
  437. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  438. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  439. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  440. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  441. package/src/exporter/docx/images.ts +128 -0
  442. package/src/exporter/docx/{index.js → index.ts} +48 -25
  443. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  444. package/src/exporter/docx/{math.js → math.ts} +29 -9
  445. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  446. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  447. package/src/exporter/docx/{render.js → render.ts} +124 -87
  448. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  449. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  450. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  451. package/src/exporter/epub/{index.js → index.ts} +44 -15
  452. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  453. package/src/exporter/epub/{tools.js → tools.ts} +31 -25
  454. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  455. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  456. package/src/exporter/html/{index.js → index.ts} +63 -29
  457. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  458. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  459. package/src/exporter/jats/bibliography.ts +199 -0
  460. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  461. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  462. package/src/exporter/jats/index.ts +132 -0
  463. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  464. package/src/exporter/jats/{text.js → text.ts} +8 -6
  465. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  466. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  467. package/src/exporter/latex/{index.js → index.ts} +27 -12
  468. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  469. package/src/exporter/native/copy.ts +231 -0
  470. package/src/exporter/native/file.ts +65 -0
  471. package/src/exporter/native/index.ts +4 -0
  472. package/src/exporter/native/revision.ts +76 -0
  473. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  474. package/src/exporter/native/zip.ts +85 -0
  475. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  476. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  477. package/src/exporter/odt/images.ts +135 -0
  478. package/src/exporter/odt/{index.js → index.ts} +49 -27
  479. package/src/exporter/odt/{math.js → math.ts} +38 -9
  480. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  481. package/src/exporter/odt/{render.js → render.ts} +89 -60
  482. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  483. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  484. package/src/exporter/odt/{track.js → track.ts} +22 -6
  485. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  486. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  487. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  488. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  489. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  490. package/src/exporter/print/{index.js → index.ts} +38 -19
  491. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  492. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  493. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  494. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  495. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  496. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  497. package/src/global.d.ts +2 -0
  498. package/src/importer/citations.ts +116 -0
  499. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  500. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  501. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  502. package/src/importer/docx/index.ts +124 -0
  503. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  504. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  505. package/src/importer/native/extract_template.ts +83 -0
  506. package/src/importer/native/file.ts +282 -0
  507. package/src/importer/native/get_images.ts +82 -0
  508. package/src/importer/native/importer.ts +244 -0
  509. package/src/importer/native/index.ts +6 -0
  510. package/src/importer/native/{update.js → update.ts} +13 -5
  511. package/src/importer/native/update_template.ts +32 -0
  512. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  513. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  514. package/src/importer/odt/index.ts +202 -0
  515. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  516. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  517. package/src/importer/pandoc/index.ts +171 -0
  518. package/src/importer/registry.ts +69 -0
  519. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  520. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  521. package/src/modules.d.ts +40 -0
  522. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  523. package/src/schema/common/{base.js → base.ts} +12 -10
  524. package/src/schema/common/{citation.js → citation.ts} +17 -8
  525. package/src/schema/common/{equation.js → equation.ts} +6 -4
  526. package/src/schema/common/{figure.js → figure.ts} +43 -23
  527. package/src/schema/common/{heading.js → heading.ts} +7 -5
  528. package/src/schema/common/{list.js → list.ts} +15 -13
  529. package/src/schema/common/{reference.js → reference.ts} +14 -12
  530. package/src/schema/common/{table.js → table.ts} +16 -14
  531. package/src/schema/common/{track.js → track.ts} +42 -31
  532. package/src/schema/{convert.js → convert.ts} +6 -2
  533. package/src/schema/document/{content.js → content.ts} +22 -20
  534. package/src/schema/document/{structure.js → structure.ts} +15 -9
  535. package/src/schema/{export.js → export.ts} +4 -2
  536. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  537. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  538. package/src/schema/{i18n.js → i18n.ts} +7 -1
  539. package/src/schema/{mini_json.js → mini_json.ts} +11 -12
  540. package/src/schema/{text.js → text.ts} +6 -2
  541. package/src/types.ts +185 -7
  542. package/src/exporter/docx/images.js +0 -101
  543. package/src/exporter/jats/bibliography.js +0 -183
  544. package/src/exporter/jats/index.js +0 -92
  545. package/src/exporter/odt/images.js +0 -115
  546. package/src/importer/citations.js +0 -129
  547. package/src/importer/native/get_images.js +0 -76
  548. /package/src/schema/common/{index.js → index.ts} +0 -0
  549. /package/src/schema/document/{index.js → index.ts} +0 -0
  550. /package/src/schema/{index.js → index.ts} +0 -0
@@ -1,7 +1,19 @@
1
1
  import {convertContributor, convertText} from "./tools.js"
2
2
 
3
3
  export class PandocExporterConvert {
4
- constructor(exporter, imageDB, bibDB, settings) {
4
+ exporter: any
5
+ settings: any
6
+ imageDB: any
7
+ bibDB: any
8
+ imageIds: string[]
9
+ usedBibDB: any
10
+
11
+ internalLinks: string[]
12
+ categoryCounter: Record<string, number>
13
+
14
+ metaData: {toc: any[]}
15
+
16
+ constructor(exporter: any, imageDB: any, bibDB: any, settings: any) {
5
17
  this.exporter = exporter
6
18
  this.settings = settings
7
19
  this.imageDB = imageDB
@@ -17,15 +29,15 @@ export class PandocExporterConvert {
17
29
  }
18
30
  }
19
31
 
20
- init(doc) {
32
+ init(doc: any): any {
21
33
  this.preWalkJson(doc)
22
- const meta = {
34
+ const meta: any = {
23
35
  lang: {
24
36
  t: "MetaInlines",
25
37
  c: [{t: "Str", c: this.settings.language.split("-")[0]}]
26
38
  }
27
39
  }
28
- const json = {
40
+ const json: any = {
29
41
  "pandoc-api-version": [1, 23, 1],
30
42
  meta,
31
43
  blocks: this.convertContent(doc.content, meta)
@@ -39,7 +51,7 @@ export class PandocExporterConvert {
39
51
  }
40
52
 
41
53
  // Find information for meta tags in header
42
- preWalkJson(node) {
54
+ preWalkJson(node: any): void {
43
55
  switch (node.type) {
44
56
  case "heading1":
45
57
  case "heading2":
@@ -53,7 +65,7 @@ export class PandocExporterConvert {
53
65
  c: [
54
66
  level,
55
67
  [node.attrs.id || "", [], []],
56
- this.convertContent(node.content || [])
68
+ this.convertContent(node.content || [], {})
57
69
  ]
58
70
  })
59
71
  break
@@ -62,17 +74,17 @@ export class PandocExporterConvert {
62
74
  break
63
75
  }
64
76
  if (node.content) {
65
- node.content.forEach(child => this.preWalkJson(child))
77
+ node.content.forEach((child: any) => this.preWalkJson(child))
66
78
  }
67
79
  }
68
80
 
69
81
  // Function to convert Fidus Writer content to Pandoc format
70
82
  convertContent(
71
- docContent,
72
- meta,
73
- options = {inFootnote: false, inCode: false}
74
- ) {
75
- const pandocContent = []
83
+ docContent: any[],
84
+ meta: any,
85
+ options: any = {inFootnote: false, inCode: false}
86
+ ): any[] {
87
+ const pandocContent: any[] = []
76
88
  for (const node of docContent) {
77
89
  switch (node.type) {
78
90
  case "doc":
@@ -86,13 +98,13 @@ export class PandocExporterConvert {
86
98
  break
87
99
  }
88
100
  case "bullet_list": {
89
- const c = []
101
+ const c: any[] = []
90
102
  pandocContent.push({
91
103
  t: "BulletList",
92
104
  c
93
105
  })
94
106
  if (node.content) {
95
- node.content.forEach(listItem =>
107
+ node.content.forEach((listItem: any) =>
96
108
  c.push(
97
109
  this.convertContent(
98
110
  listItem.content || [],
@@ -112,7 +124,7 @@ export class PandocExporterConvert {
112
124
  const cit = this.exporter.citations.pmCits.shift()
113
125
 
114
126
  const pandocReferences = node.attrs.references
115
- .map(reference => {
127
+ .map((reference: any) => {
116
128
  const bibDBEntry = this.bibDB.db[reference.id]
117
129
  if (!bibDBEntry) {
118
130
  // Not present in bibliography database, skip it.
@@ -150,7 +162,7 @@ export class PandocExporterConvert {
150
162
  citationHash: 0
151
163
  }
152
164
  })
153
- .filter(reference => reference)
165
+ .filter((reference: any) => reference)
154
166
  if (!pandocReferences.length) {
155
167
  break
156
168
  }
@@ -159,7 +171,7 @@ export class PandocExporterConvert {
159
171
  meta,
160
172
  options
161
173
  )
162
- const pandocElement = {
174
+ const pandocElement: any = {
163
175
  t: "Cite",
164
176
  c: [pandocReferences, pandocRendering]
165
177
  }
@@ -168,7 +180,7 @@ export class PandocExporterConvert {
168
180
  node.content,
169
181
  meta,
170
182
  options
171
- ).forEach(el => pandocElement.c.push(el))
183
+ ).forEach((el: any) => pandocElement.c.push(el))
172
184
  }
173
185
  pandocContent.push(pandocElement)
174
186
  break
@@ -179,7 +191,7 @@ export class PandocExporterConvert {
179
191
  const classes = node.attrs.language
180
192
  ? [node.attrs.language]
181
193
  : []
182
- const keyValuePairs = []
194
+ const keyValuePairs: [string, string][] = []
183
195
 
184
196
  // Add caption if title is present
185
197
  if (node.attrs.title) {
@@ -200,7 +212,7 @@ export class PandocExporterConvert {
200
212
  c: [
201
213
  attrs,
202
214
  this.convertContent(node.content, meta, options)
203
- .map(item => {
215
+ .map((item: any) => {
204
216
  if (item.t === "Str") {
205
217
  return item.c
206
218
  } else if (item.t === "Space") {
@@ -230,13 +242,14 @@ export class PandocExporterConvert {
230
242
  meta.author = {t: "MetaList", c: []}
231
243
  }
232
244
  const convertedContributors = node.content
233
- .map(contributor =>
245
+ .map((contributor: any) =>
234
246
  convertContributor(contributor.attrs)
235
247
  )
236
248
  .filter(
237
- convertedContributor => convertedContributor
249
+ (convertedContributor: any) =>
250
+ convertedContributor
238
251
  )
239
- convertedContributors.forEach(contributor =>
252
+ convertedContributors.forEach((contributor: any) =>
240
253
  meta.author.c.push(contributor)
241
254
  )
242
255
  } else {
@@ -261,7 +274,7 @@ export class PandocExporterConvert {
261
274
  c: convertText(
262
275
  node.content
263
276
  .map(
264
- contributor =>
277
+ (contributor: any) =>
265
278
  `${contributor.attrs.firstname} ${contributor.attrs.lastname}, ${contributor.attrs.institution}, ${contributor.attrs.email}`
266
279
  )
267
280
  .join("; ")
@@ -301,7 +314,7 @@ export class PandocExporterConvert {
301
314
  }
302
315
  }
303
316
  } else {
304
- const pandocElement = {
317
+ const pandocElement: any = {
305
318
  t: "Header",
306
319
  c: [2, [node.attrs?.metadata || "", [], []]]
307
320
  }
@@ -310,7 +323,7 @@ export class PandocExporterConvert {
310
323
  node.content,
311
324
  meta,
312
325
  options
313
- ).forEach(el => pandocElement.c.push(el))
326
+ ).forEach((el: any) => pandocElement.c.push(el))
314
327
  }
315
328
  pandocContent.push({
316
329
  t: "Div",
@@ -350,22 +363,22 @@ export class PandocExporterConvert {
350
363
  }
351
364
  case "figure": {
352
365
  const image =
353
- node.content.find(node => node.type === "image")?.attrs
354
- .image || false
366
+ node.content.find((node: any) => node.type === "image")
367
+ ?.attrs.image || false
355
368
  const caption = node.attrs.caption
356
369
  ? node.content.find(
357
- node => node.type === "figure_caption"
370
+ (node: any) => node.type === "figure_caption"
358
371
  )?.content || []
359
372
  : []
360
373
  const equation = node.content.find(
361
- node => node.type === "figure_equation"
374
+ (node: any) => node.type === "figure_equation"
362
375
  )?.attrs.equation
363
376
  if (image !== false) {
364
377
  this.imageIds.push(image)
365
378
  const imageDBEntry = this.imageDB.db[image],
366
379
  filePathName = imageDBEntry.image
367
380
  const copyright = imageDBEntry.copyright
368
- const imageFilename = filePathName.split("/").pop()
381
+ const imageFilename = filePathName!.toString().split("/").pop()
369
382
  if (
370
383
  node.attrs.category === "none" &&
371
384
  imageFilename &&
@@ -561,7 +574,7 @@ export class PandocExporterConvert {
561
574
  // handled by ordered_list and bullet_list
562
575
  break
563
576
  case "ordered_list": {
564
- const c = []
577
+ const c: any[] = []
565
578
  pandocContent.push({
566
579
  t: "OrderedList",
567
580
  c: [
@@ -575,7 +588,7 @@ export class PandocExporterConvert {
575
588
  })
576
589
 
577
590
  if (node.content) {
578
- node.content.forEach(listItem =>
591
+ node.content.forEach((listItem: any) =>
579
592
  c.push(
580
593
  this.convertContent(
581
594
  listItem.content || [],
@@ -603,7 +616,11 @@ export class PandocExporterConvert {
603
616
  if (node.attrs?.metadata === "abstract" && !meta.abstract) {
604
617
  meta.abstract = {
605
618
  t: "MetaBlocks",
606
- c: this.convertContent(node.content, meta, options)
619
+ c: this.convertContent(
620
+ node.content,
621
+ meta,
622
+ options
623
+ )
607
624
  }
608
625
  } else {
609
626
  pandocContent.push({
@@ -621,7 +638,11 @@ export class PandocExporterConvert {
621
638
  ],
622
639
  []
623
640
  ],
624
- this.convertContent(node.content, meta, options)
641
+ this.convertContent(
642
+ node.content,
643
+ meta,
644
+ options
645
+ )
625
646
  ]
626
647
  })
627
648
  }
@@ -674,7 +695,7 @@ export class PandocExporterConvert {
674
695
  t: "Para",
675
696
  c: convertText(
676
697
  node.content
677
- .map(tag => tag.attrs.tag)
698
+ .map((tag: any) => tag.attrs.tag)
678
699
  .join("; ")
679
700
  )
680
701
  }
@@ -687,14 +708,14 @@ export class PandocExporterConvert {
687
708
  // Tables seem to have this structure in pandoc json:
688
709
  // If table has no rows with content, skip.
689
710
  const tableBodyNode = node.content.find(
690
- childNode =>
711
+ (childNode: any) =>
691
712
  childNode.type === "table_body" &&
692
713
  childNode.content &&
693
714
  childNode.content.length
694
715
  )
695
716
  const tableFirstRow = tableBodyNode
696
717
  ? tableBodyNode.content.find(
697
- childNode =>
718
+ (childNode: any) =>
698
719
  childNode.type === "table_row" &&
699
720
  childNode.content &&
700
721
  childNode.content.length
@@ -704,7 +725,7 @@ export class PandocExporterConvert {
704
725
  break
705
726
  }
706
727
 
707
- const c = []
728
+ const c: any[] = []
708
729
  pandocContent.push({
709
730
  t: "Table",
710
731
  c
@@ -727,7 +748,7 @@ export class PandocExporterConvert {
727
748
  ])
728
749
  // child 1: table caption
729
750
  const tableCaptionNode = node.content.find(
730
- childNode =>
751
+ (childNode: any) =>
731
752
  childNode.type === "table_caption" &&
732
753
  childNode.content &&
733
754
  childNode.content.length
@@ -751,7 +772,7 @@ export class PandocExporterConvert {
751
772
  }
752
773
  // child 2: settings for each column
753
774
  c.push(
754
- tableFirstRow.content.map(_column => [
775
+ tableFirstRow.content.map((_column: any) => [
755
776
  {t: "AlignDefault"},
756
777
  {t: "ColWidthDefault"}
757
778
  ])
@@ -759,20 +780,20 @@ export class PandocExporterConvert {
759
780
  // child 3: ?
760
781
  c.push([["", [], []], []])
761
782
  // child 4: Each child represents one table row
762
- const tableHead = []
763
- const tableBody = []
764
- c.push([[["", [], []], 0, tableHead, tableBody]])
783
+ const tableHead: any[] = []
784
+ const tableBody: any[] = []
785
+ c.push([["", [], []], 0, tableHead, tableBody])
765
786
  let currentTablePart = tableHead
766
787
 
767
788
  this.convertContent(
768
789
  tableBodyNode.content,
769
790
  meta,
770
791
  options
771
- ).forEach((row, index) => {
792
+ ).forEach((row: any, index: number) => {
772
793
  if (
773
794
  currentTablePart === tableHead &&
774
795
  tableBodyNode.content[index].content?.find(
775
- node => node.type === "table_cell"
796
+ (node: any) => node.type === "table_cell"
776
797
  )
777
798
  ) {
778
799
  // If at least one regular table cell is found in the row, we assume the table header hs finished.
@@ -862,35 +883,35 @@ export class PandocExporterConvert {
862
883
  }
863
884
  case "text": {
864
885
  if (node.text) {
865
- let containerContent = pandocContent
866
- let strong,
867
- em,
868
- underline,
869
- hyperlink,
870
- anchor,
871
- sup,
872
- sub,
873
- code
886
+ let containerContent: any[] = pandocContent
887
+ let strong: any,
888
+ em: any,
889
+ underline: any,
890
+ hyperlink: any,
891
+ anchor: any,
892
+ sup: any,
893
+ sub: any,
894
+ code: any
874
895
  if (node.marks) {
875
896
  strong = node.marks.find(
876
- mark => mark.type === "strong"
897
+ (mark: any) => mark.type === "strong"
877
898
  )
878
- em = node.marks.find(mark => mark.type === "em")
899
+ em = node.marks.find((mark: any) => mark.type === "em")
879
900
  underline = node.marks.find(
880
- mark => mark.type === "underline"
901
+ (mark: any) => mark.type === "underline"
881
902
  )
882
903
  hyperlink = node.marks.find(
883
- mark => mark.type === "link"
904
+ (mark: any) => mark.type === "link"
884
905
  )
885
906
  anchor = node.marks.find(
886
- mark => mark.type === "anchor"
907
+ (mark: any) => mark.type === "anchor"
887
908
  )
888
- sup = node.marks.find(mark => mark.type === "sup")
889
- sub = node.marks.find(mark => mark.type === "sub")
890
- code = node.marks.find(mark => mark.type === "code")
909
+ sup = node.marks.find((mark: any) => mark.type === "sup")
910
+ sub = node.marks.find((mark: any) => mark.type === "sub")
911
+ code = node.marks.find((mark: any) => mark.type === "code")
891
912
  }
892
913
  if (em) {
893
- const c = []
914
+ const c: any[] = []
894
915
  containerContent.push({
895
916
  t: "Emph",
896
917
  c
@@ -898,7 +919,7 @@ export class PandocExporterConvert {
898
919
  containerContent = c
899
920
  }
900
921
  if (strong) {
901
- const c = []
922
+ const c: any[] = []
902
923
  containerContent.push({
903
924
  t: "Strong",
904
925
  c
@@ -906,7 +927,7 @@ export class PandocExporterConvert {
906
927
  containerContent = c
907
928
  }
908
929
  if (underline) {
909
- const c = []
930
+ const c: any[] = []
910
931
  containerContent.push({
911
932
  t: "Underline",
912
933
  c
@@ -914,7 +935,7 @@ export class PandocExporterConvert {
914
935
  containerContent = c
915
936
  }
916
937
  if (sup) {
917
- const c = []
938
+ const c: any[] = []
918
939
  containerContent.push({
919
940
  t: "Superscript",
920
941
  c
@@ -922,7 +943,7 @@ export class PandocExporterConvert {
922
943
  containerContent = c
923
944
  }
924
945
  if (sub) {
925
- const c = []
946
+ const c: any[] = []
926
947
  containerContent.push({
927
948
  t: "Subscript",
928
949
  c
@@ -937,7 +958,7 @@ export class PandocExporterConvert {
937
958
  break
938
959
  }
939
960
  if (hyperlink) {
940
- const c = []
961
+ const c: any[] = []
941
962
  containerContent.push({
942
963
  t: "Link",
943
964
  c: [["", [], []], c, [hyperlink.attrs.href, ""]]
@@ -945,7 +966,7 @@ export class PandocExporterConvert {
945
966
  containerContent = c
946
967
  }
947
968
  if (anchor) {
948
- const c = []
969
+ const c: any[] = []
949
970
  containerContent.push({
950
971
  t: "Span",
951
972
  c: [[anchor.attrs.id, [], []], c]
@@ -976,7 +997,7 @@ export class PandocExporterConvert {
976
997
  c: this.convertContent(node.content, meta, options)
977
998
  }
978
999
  } else {
979
- const pandocElement = {
1000
+ const pandocElement: any = {
980
1001
  t: "Header",
981
1002
  c: [1, ["title", [], []]]
982
1003
  }
@@ -985,7 +1006,7 @@ export class PandocExporterConvert {
985
1006
  node.content,
986
1007
  meta,
987
1008
  options
988
- ).forEach(el => pandocElement.c.push(el))
1009
+ ).forEach((el: any) => pandocElement.c.push(el))
989
1010
  }
990
1011
  pandocContent.push(pandocElement)
991
1012
  }
@@ -1000,13 +1021,11 @@ export class PandocExporterConvert {
1000
1021
  return pandocContent
1001
1022
  }
1002
1023
 
1003
- // The database doesn't ensure that citation keys are unique.
1004
- // So here we need to make sure that the same key is not used twice in one
1005
- // document.
1006
- createUniqueCitationKey(suggestedKey) {
1007
- const usedKeys = Object.keys(this.usedBibDB).map(key => {
1008
- return this.usedBibDB[key].entry_key
1009
- })
1024
+ createUniqueCitationKey(suggestedKey: string | undefined): string {
1025
+ suggestedKey = suggestedKey || "key"
1026
+ const usedKeys = Object.keys(this.usedBibDB).map(
1027
+ key => this.usedBibDB[key].entry_key
1028
+ )
1010
1029
  if (usedKeys.includes(suggestedKey)) {
1011
1030
  suggestedKey += "X"
1012
1031
  return this.createUniqueCitationKey(suggestedKey)
@@ -2,20 +2,40 @@ import {BibLatexExporter} from "biblatex-csl-converter"
2
2
  import download from "downloadjs"
3
3
 
4
4
  import {shortFileTitle} from "fwtoolkit"
5
+ import type {BibDB, CSL, ExportDoc, FidusNode, ImageDB} from "../../types.js"
5
6
  import {fixTables, removeHidden} from "../tools/doc_content.js"
6
7
  import {createSlug} from "../tools/file.js"
7
8
  import {ZipFileCreator} from "../tools/zip.js"
8
9
  import {PandocExporterCitations} from "./citations.js"
9
10
  import {PandocExporterConvert} from "./convert.js"
10
11
  import {readMe} from "./readme.js"
12
+
11
13
  /*
12
14
  Exporter to Pandoc JSON
13
15
  */
14
16
 
15
17
  export class PandocExporter {
16
- constructor(doc, bibDB, imageDB, csl, updated) {
18
+ doc: ExportDoc
19
+ docTitle: string
20
+ bibDB: BibDB
21
+ imageDB: ImageDB
22
+ csl: CSL
23
+ updated: any
24
+
25
+ docContent: any
26
+ zipFileName: string
27
+ textFiles: Array<{filename: string; contents: string}>
28
+ httpFiles: Array<{filename: string; url: string}>
29
+
30
+ constructor(
31
+ doc: ExportDoc,
32
+ bibDB: BibDB,
33
+ imageDB: ImageDB,
34
+ csl: CSL,
35
+ updated: any
36
+ ) {
17
37
  this.doc = doc
18
- this.docTitle = shortFileTitle(this.doc.title, this.doc.path)
38
+ this.docTitle = shortFileTitle(this.doc.title, this.doc.path || "")
19
39
  this.bibDB = bibDB
20
40
  this.imageDB = imageDB
21
41
  this.csl = csl
@@ -27,23 +47,23 @@ export class PandocExporter {
27
47
  this.httpFiles = []
28
48
  }
29
49
 
30
- init() {
50
+ init(): Promise<void> {
31
51
  //this.docContent = removeHidden(this.doc.content) //
32
- this.docContent = fixTables(removeHidden(this.doc.content))
33
- this.citations = new PandocExporterCitations(
52
+ this.docContent = fixTables(removeHidden(this.doc.content) as FidusNode)
53
+ const citations = new PandocExporterCitations(
34
54
  this,
35
55
  this.bibDB,
36
56
  this.csl,
37
57
  this.docContent
38
58
  )
39
- this.converter = new PandocExporterConvert(
59
+ const converter = new PandocExporterConvert(
40
60
  this,
41
61
  this.imageDB,
42
62
  this.bibDB,
43
63
  this.doc.settings
44
64
  )
45
- return this.citations.init().then(() => {
46
- this.conversion = this.converter.init(this.docContent)
65
+ return citations.init().then(() => {
66
+ this.conversion = converter.init(this.docContent)
47
67
  if (Object.keys(this.conversion.usedBibDB).length > 0) {
48
68
  const bibExport = new BibLatexExporter(
49
69
  this.conversion.usedBibDB
@@ -54,17 +74,20 @@ export class PandocExporter {
54
74
  })
55
75
  }
56
76
 
57
- this.conversion.imageIds.forEach(id => {
77
+ this.conversion.imageIds.forEach((id: string) => {
78
+ const imageUrl = this.imageDB.db[id].image as string
58
79
  this.httpFiles.push({
59
- filename: this.imageDB.db[id].image.split("/").pop(),
60
- url: this.imageDB.db[id].image
80
+ filename: imageUrl.split("/").pop()!,
81
+ url: imageUrl
61
82
  })
62
83
  })
63
84
  return this.createExport()
64
85
  })
65
86
  }
66
87
 
67
- createExport() {
88
+ conversion: any
89
+
90
+ createExport(): Promise<void> {
68
91
  // Override this function if adding a conversion-through-pandoc step.
69
92
  this.textFiles.push({
70
93
  filename: "document.json",
@@ -75,7 +98,7 @@ export class PandocExporter {
75
98
  return this.createDownload()
76
99
  }
77
100
 
78
- createDownload() {
101
+ createDownload(): Promise<void> {
79
102
  // This creates a ZIP file with JSON sources included and then returns a promise for the download of the file.
80
103
  const zipper = new ZipFileCreator(
81
104
  this.textFiles,
@@ -4,5 +4,4 @@ using pandoc like this:
4
4
  pandoc document.json -o document.html
5
5
 
6
6
  Replace "document.html" with other formats you may want.
7
-
8
7
  `
@@ -1,5 +1,26 @@
1
- export const convertText = text => {
2
- const textContent = []
1
+ interface PandocText {
2
+ t: "Str"
3
+ c: string
4
+ }
5
+
6
+ interface PandocSpace {
7
+ t: "Space"
8
+ }
9
+
10
+ interface PandocNote {
11
+ t: "Note"
12
+ c: Array<{t: "Para"; c: Array<PandocText | PandocSpace>}>
13
+ }
14
+
15
+ interface PandocMetaInlines {
16
+ t: "MetaInlines"
17
+ c: Array<PandocText | PandocSpace | PandocNote>
18
+ }
19
+
20
+ type PandocInline = PandocText | PandocSpace | PandocNote | PandocMetaInlines
21
+
22
+ export const convertText = (text: string): Array<PandocText | PandocSpace> => {
23
+ const textContent: Array<PandocText | PandocSpace> = []
3
24
  if (!text.length) {
4
25
  return []
5
26
  }
@@ -20,10 +41,12 @@ export const convertText = text => {
20
41
  return textContent
21
42
  }
22
43
 
23
- export const convertContributor = contributor => {
24
- const contributorContent = []
44
+ export const convertContributor = (
45
+ contributor: Record<string, string>
46
+ ): PandocMetaInlines | false => {
47
+ const contributorContent: Array<PandocText | PandocSpace | PandocNote> = []
25
48
  if (contributor.firstname || contributor.lastname) {
26
- const nameParts = []
49
+ const nameParts: string[] = []
27
50
  if (contributor.lastname) {
28
51
  nameParts.push(contributor.lastname)
29
52
  }