execonvert 0.4.0

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 (143) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +194 -0
  3. package/THIRD_PARTY_NOTICES.md +42 -0
  4. package/bin/execonvert.js +21 -0
  5. package/dist/cli/app/public/THIRD_PARTY_NOTICES.md +32 -0
  6. package/dist/cli/app/public/base.elpx +0 -0
  7. package/dist/cli/app/public/exe_math_assets.zip +0 -0
  8. package/dist/cli/app/public/exelearning/app/common/common_i18n.js +79 -0
  9. package/dist/cli/app/public/exelearning/app/common/exe_powered_logo/exe_powered_logo.png +0 -0
  10. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.ca.js +79 -0
  11. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.de.js +79 -0
  12. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.en.js +79 -0
  13. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.eo.js +79 -0
  14. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.es.js +79 -0
  15. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.eu.js +79 -0
  16. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.gl.js +79 -0
  17. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.it.js +79 -0
  18. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.pt.js +79 -0
  19. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.ro.js +79 -0
  20. package/dist/cli/app/public/exelearning/app/common/i18n/common_i18n.va.js +79 -0
  21. package/dist/cli/app/public/exelearning/bundles/common.zip +0 -0
  22. package/dist/cli/app/public/exelearning/bundles/content-css.zip +0 -0
  23. package/dist/cli/app/public/exelearning/bundles/idevices.zip +0 -0
  24. package/dist/cli/app/public/exelearning/bundles/libs.zip +0 -0
  25. package/dist/cli/app/public/exelearning/bundles/manifest.json +110 -0
  26. package/dist/cli/app/public/exelearning/bundles/themes/base.zip +0 -0
  27. package/dist/cli/app/public/exelearning/bundles/themes/flux.zip +0 -0
  28. package/dist/cli/app/public/exelearning/bundles/themes/neo.zip +0 -0
  29. package/dist/cli/app/public/exelearning/bundles/themes/nova.zip +0 -0
  30. package/dist/cli/app/public/exelearning/bundles/themes/universal.zip +0 -0
  31. package/dist/cli/app/public/exelearning/bundles/themes/zen.zip +0 -0
  32. package/dist/cli/app/public/exelearning/exporters.bundle.js +12638 -0
  33. package/dist/cli/app/public/exelearning/importers.bundle.js +14061 -0
  34. package/dist/cli/app/public/exelearning/runtime-source.json +10 -0
  35. package/dist/cli/app/public/favicon.svg +11 -0
  36. package/dist/cli/app/public/idevices/text/text.css +16 -0
  37. package/dist/cli/app/public/idevices/text/text.html +3 -0
  38. package/dist/cli/app/public/idevices/text/text.js +291 -0
  39. package/dist/cli/app/public/info/cli.html +955 -0
  40. package/dist/cli/app/public/info/docx.svg +7 -0
  41. package/dist/cli/app/public/info/elpx-icon.png +0 -0
  42. package/dist/cli/app/public/info/exe-old.png +0 -0
  43. package/dist/cli/app/public/info/execonvert-cli-icon.svg +16 -0
  44. package/dist/cli/app/public/info/execonvert-icon.svg +11 -0
  45. package/dist/cli/app/public/info/index.html +723 -0
  46. package/dist/cli/app/public/info/markdown.svg +1 -0
  47. package/dist/cli/app/public/info/pdf.svg +14 -0
  48. package/dist/cli/app/public/libs/exe_math/LICENSE +202 -0
  49. package/dist/cli/app/public/libs/exe_math/a11y/assistive-mml.js +1 -0
  50. package/dist/cli/app/public/libs/exe_math/a11y/complexity.js +1 -0
  51. package/dist/cli/app/public/libs/exe_math/a11y/explorer.js +1 -0
  52. package/dist/cli/app/public/libs/exe_math/a11y/semantic-enrich.js +1 -0
  53. package/dist/cli/app/public/libs/exe_math/a11y/speech.js +1 -0
  54. package/dist/cli/app/public/libs/exe_math/a11y/sre.js +1 -0
  55. package/dist/cli/app/public/libs/exe_math/adaptors/jsdom.js +1 -0
  56. package/dist/cli/app/public/libs/exe_math/adaptors/linkedom.js +1 -0
  57. package/dist/cli/app/public/libs/exe_math/adaptors/liteDOM.js +1 -0
  58. package/dist/cli/app/public/libs/exe_math/core.js +1 -0
  59. package/dist/cli/app/public/libs/exe_math/input/asciimath.js +1 -0
  60. package/dist/cli/app/public/libs/exe_math/input/mml/entities.js +1 -0
  61. package/dist/cli/app/public/libs/exe_math/input/mml/extensions/mml3.js +1 -0
  62. package/dist/cli/app/public/libs/exe_math/input/mml/extensions/mml3.sef.json +1 -0
  63. package/dist/cli/app/public/libs/exe_math/input/mml.js +1 -0
  64. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/action.js +1 -0
  65. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/ams.js +1 -0
  66. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/amscd.js +1 -0
  67. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/autoload.js +1 -0
  68. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/bbm.js +1 -0
  69. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/bboldx.js +1 -0
  70. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/bbox.js +1 -0
  71. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/begingroup.js +1 -0
  72. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/boldsymbol.js +1 -0
  73. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/braket.js +1 -0
  74. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/bussproofs.js +1 -0
  75. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/cancel.js +1 -0
  76. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/cases.js +1 -0
  77. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/centernot.js +1 -0
  78. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/color.js +1 -0
  79. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/colortbl.js +1 -0
  80. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/colorv2.js +1 -0
  81. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/configmacros.js +1 -0
  82. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/dsfont.js +1 -0
  83. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/empheq.js +1 -0
  84. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/enclose.js +1 -0
  85. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/extpfeil.js +1 -0
  86. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/gensymb.js +1 -0
  87. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/html.js +1 -0
  88. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/mathtools.js +1 -0
  89. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/mhchem.js +34 -0
  90. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/newcommand.js +1 -0
  91. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/noerrors.js +1 -0
  92. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/noundefined.js +1 -0
  93. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/physics.js +1 -0
  94. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/require.js +1 -0
  95. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/setoptions.js +1 -0
  96. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/tagformat.js +1 -0
  97. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/texhtml.js +1 -0
  98. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/textcomp.js +1 -0
  99. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/textmacros.js +1 -0
  100. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/unicode.js +1 -0
  101. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/units.js +1 -0
  102. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/upgreek.js +1 -0
  103. package/dist/cli/app/public/libs/exe_math/input/tex/extensions/verb.js +1 -0
  104. package/dist/cli/app/public/libs/exe_math/input/tex-base.js +1 -0
  105. package/dist/cli/app/public/libs/exe_math/input/tex.js +1 -0
  106. package/dist/cli/app/public/libs/exe_math/loader.js +1 -0
  107. package/dist/cli/app/public/libs/exe_math/output/chtml.js +1 -0
  108. package/dist/cli/app/public/libs/exe_math/output/svg.js +1 -0
  109. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/af.json +146 -0
  110. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/base.json +137 -0
  111. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/ca.json +140 -0
  112. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/da.json +140 -0
  113. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/de.json +146 -0
  114. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/en.json +158 -0
  115. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/es.json +140 -0
  116. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/euro.json +32 -0
  117. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/fr.json +146 -0
  118. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/hi.json +146 -0
  119. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/it.json +146 -0
  120. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/ko.json +146 -0
  121. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/nb.json +146 -0
  122. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/nemeth.json +125 -0
  123. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/nn.json +146 -0
  124. package/dist/cli/app/public/libs/exe_math/sre/mathmaps/sv.json +146 -0
  125. package/dist/cli/app/public/libs/exe_math/sre/require.d.mts +1 -0
  126. package/dist/cli/app/public/libs/exe_math/sre/require.mjs +2 -0
  127. package/dist/cli/app/public/libs/exe_math/sre/speech-worker.js +1 -0
  128. package/dist/cli/app/public/libs/exe_math/startup.js +1 -0
  129. package/dist/cli/app/public/libs/exe_math/tex-mml-svg.js +1 -0
  130. package/dist/cli/app/public/libs/exe_math/ui/lazy.js +1 -0
  131. package/dist/cli/app/public/libs/exe_math/ui/menu.js +1 -0
  132. package/dist/cli/app/public/libs/exe_math/ui/safe.js +1 -0
  133. package/dist/cli/cli/execonvert.js +807 -0
  134. package/dist/cli/cli/runtime.js +237 -0
  135. package/dist/cli/package.json +3 -0
  136. package/dist/cli/src/converter.js +5078 -0
  137. package/dist/cli/src/docx-import.js +1121 -0
  138. package/dist/cli/src/elpx-markdown.js +201 -0
  139. package/dist/cli/src/i18n.js +485 -0
  140. package/dist/cli/src/index.js +1 -0
  141. package/dist/cli/src/legacy-elp.js +846 -0
  142. package/dist/cli/src/markdown-import.js +26 -0
  143. package/package.json +68 -0
@@ -0,0 +1,26 @@
1
+ import MarkdownIt from 'markdown-it';
2
+ // @ts-expect-error markdown-it-texmath does not ship TypeScript declarations.
3
+ import texmath from 'markdown-it-texmath';
4
+ import { convertHtmlToElpx, } from './docx-import.js';
5
+ const markdown = new MarkdownIt({
6
+ html: false,
7
+ linkify: true,
8
+ typographer: false,
9
+ breaks: false,
10
+ });
11
+ markdown.use(texmath, {
12
+ engine: {
13
+ renderToString(content, options) {
14
+ const trimmed = content.trim();
15
+ return options?.displayMode ? `\\[${trimmed}\\]` : `\\(${trimmed}\\)`;
16
+ },
17
+ },
18
+ delimiters: ['dollars', 'beg_end'],
19
+ });
20
+ export async function convertMarkdownToElpx(file, options, onProgress) {
21
+ onProgress?.({ phase: 'read', message: 'Leyendo el archivo Markdown...', messageKey: 'progress.readMarkdown' });
22
+ const source = await file.text();
23
+ onProgress?.({ phase: 'parse', message: 'Convirtiendo Markdown a HTML...', messageKey: 'progress.markdownToHtml' });
24
+ const html = markdown.render(source);
25
+ return convertHtmlToElpx(html, file.name, options, onProgress, 'progress.parseMarkdownStructure');
26
+ }
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "execonvert",
3
+ "version": "0.4.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "bin": {
7
+ "execonvert": "./bin/execonvert.js"
8
+ },
9
+ "files": [
10
+ "bin",
11
+ "dist/cli",
12
+ "README.md",
13
+ "CHANGELOG.md",
14
+ "THIRD_PARTY_NOTICES.md"
15
+ ],
16
+ "engines": {
17
+ "node": ">=22"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "scripts": {
23
+ "dev": "vite",
24
+ "build": "vite build",
25
+ "build:web": "vite build",
26
+ "build:cli": "node ./scripts/build-cli.mjs",
27
+ "build:all": "npm run build:web && npm run build:cli",
28
+ "preview": "vite preview",
29
+ "check": "npm run check:web && npm run check:cli",
30
+ "check:web": "tsc -p tsconfig.json --noEmit",
31
+ "check:cli": "tsc -p tsconfig.cli.json --noEmit",
32
+ "cli": "node ./bin/execonvert.js",
33
+ "sync:exe": "bash scripts/sync-exe-bundles.sh",
34
+ "prepack": "npm run build:cli"
35
+ },
36
+ "dependencies": {
37
+ "@resvg/resvg-js": "^2.6.2",
38
+ "docx": "^9.6.0",
39
+ "fflate": "^0.8.2",
40
+ "html-to-pdfmake": "^2.5.33",
41
+ "html2canvas": "^1.4.1",
42
+ "html2pdf.js": "^0.14.0",
43
+ "jspdf": "^4.2.0",
44
+ "katex": "^0.16.33",
45
+ "linkedom": "^0.18.12",
46
+ "mammoth": "^1.11.0",
47
+ "markdown-it": "^14.1.1",
48
+ "markdown-it-texmath": "^1.0.0",
49
+ "mathjax-full": "^3.2.1",
50
+ "mathml-to-latex": "^1.5.0",
51
+ "mathml2omml": "^0.5.0",
52
+ "omml2mathml": "^1.3.0",
53
+ "pdfmake": "^0.3.6",
54
+ "puppeteer": "^24.8.2",
55
+ "temml": "^0.13.1",
56
+ "tsx": "^4.21.0",
57
+ "turndown": "^7.2.2",
58
+ "turndown-plugin-gfm": "^1.0.2",
59
+ "yjs": "^13.6.29"
60
+ },
61
+ "devDependencies": {
62
+ "@types/markdown-it": "^14.1.2",
63
+ "@types/node": "^24.6.1",
64
+ "@types/turndown": "^5.0.6",
65
+ "typescript": "^5.9.3",
66
+ "vite": "^7.1.12"
67
+ }
68
+ }