rapier-html 1.2.45 → 1.2.48

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 (55) hide show
  1. package/BUILD.json +16 -16
  2. package/README.md +13 -12
  3. package/dist/ledger/LICENSE +12 -5
  4. package/dist/ledger/authored-origin.mjs +2 -2
  5. package/dist/ledger/authorship.mjs +5 -5
  6. package/dist/ledger/carried.mjs +21 -12
  7. package/dist/ledger/diff/concerns.mjs +3 -3
  8. package/dist/ledger/diff/diff.mjs +6 -6
  9. package/dist/ledger/diff/index.mjs +2 -2
  10. package/dist/ledger/diff/merge.mjs +3 -3
  11. package/dist/ledger/diff/moves.mjs +1 -1
  12. package/dist/ledger/diff/walk.mjs +1 -1
  13. package/dist/ledger/document-fonts.mjs +296 -0
  14. package/dist/ledger/document-settings.mjs +2 -2
  15. package/dist/ledger/format.mjs +14 -12
  16. package/dist/ledger/history.mjs +7 -7
  17. package/dist/ledger/inverse-source.mjs +5 -5
  18. package/dist/ledger/journal-records.mjs +3 -3
  19. package/dist/ledger/math/delimiters.mjs +38 -0
  20. package/dist/ledger/math/markdown-rules.mjs +103 -0
  21. package/dist/ledger/md-assets.mjs +3 -2
  22. package/dist/ledger/md-comments.mjs +384 -0
  23. package/dist/ledger/md-engine.mjs +157 -0
  24. package/dist/ledger/md-marks.mjs +10 -1
  25. package/dist/ledger/md-parser-config.mjs +463 -0
  26. package/dist/ledger/md-parser-runtime.mjs +23 -0
  27. package/dist/ledger/md-source.mjs +1 -1
  28. package/dist/ledger/source.mjs +31 -2
  29. package/dist/ledger/template-page.mjs +1 -1
  30. package/dist/ledger/transport.mjs +66 -7
  31. package/dist/ledger/vendor/NOTICE.txt +60 -0
  32. package/dist/ledger/vendor/SOURCES.json +253 -0
  33. package/dist/ledger/vendor/entities/decode-codepoint.mjs +27 -0
  34. package/dist/ledger/vendor/entities.mjs +499 -0
  35. package/dist/ledger/vendor/linkify-it.mjs +427 -0
  36. package/dist/ledger/vendor/markdown-it.mjs +4027 -0
  37. package/dist/ledger/vendor/markdown-licenses/entities-LICENSE.txt +11 -0
  38. package/dist/ledger/vendor/markdown-licenses/linkify-it-LICENSE.txt +22 -0
  39. package/dist/ledger/vendor/markdown-licenses/markdown-it-LICENSE.txt +22 -0
  40. package/dist/ledger/vendor/markdown-licenses/mdurl-LICENSE.txt +45 -0
  41. package/dist/ledger/vendor/markdown-licenses/punycode.js-LICENSE-MIT.txt +20 -0
  42. package/dist/ledger/vendor/markdown-licenses/uc.micro-LICENSE.txt +20 -0
  43. package/dist/ledger/vendor/markdown-plugins.mjs +1344 -0
  44. package/dist/ledger/vendor/markdown-runtime.mjs +5 -0
  45. package/dist/ledger/vendor/mdurl/index.mjs +11 -0
  46. package/dist/ledger/vendor/mdurl/lib/decode.mjs +107 -0
  47. package/dist/ledger/vendor/mdurl/lib/encode.mjs +77 -0
  48. package/dist/ledger/vendor/mdurl/lib/format.mjs +20 -0
  49. package/dist/ledger/vendor/mdurl/lib/parse.mjs +231 -0
  50. package/dist/ledger/vendor/punycode.mjs +282 -0
  51. package/dist/ledger/vendor/uc.micro.mjs +49 -0
  52. package/dist/page.mjs +11 -3
  53. package/dist/rapier.html +113 -75
  54. package/dist/wrap.mjs +10 -5
  55. package/package.json +1 -1
package/dist/wrap.mjs CHANGED
@@ -112,15 +112,20 @@ export function portableNeeds(text, {base, flowchart} = {}) {
112
112
  if (typeof source !== 'string') continue;
113
113
  let prose = '';
114
114
  if (isTemplatePage(source)) needs.add('layout');
115
+ const wantsMath = /\$|(?:`{3,}|~{3,})[ \t]*math\b/i.test(source);
116
+ const wantsMermaid = /mermaid/i.test(source);
117
+ if (!wantsMath && !wantsMermaid) continue;
115
118
  const lines = source.split(/\r\n|\r|\n/);
119
+ const content = line => line.replace(/^(?: {0,3}>[ \t]?)+/, '').replace(/^ {0,3}(?:[-+*]|\d{1,9}[.)])[ \t]+/, '');
116
120
  for (let at = 0; at < lines.length; at++) {
117
- const open = /^ {0,3}(`{3,}|~{3,})\s*([^\s`]*)/.exec(lines[at]);
118
- if (!open) { prose += lines[at] + '\n'; continue; }
121
+ const open = /^ {0,3}(`{3,}|~{3,})\s*([^\s`]*)/.exec(content(lines[at]));
122
+ if (!open) { if (wantsMath) prose += lines[at] + '\n'; continue; }
119
123
  const body = [];
120
- for (at++; at < lines.length && !new RegExp('^ {0,3}' + open[1][0] + '{' + open[1].length + ',}\\s*$').test(lines[at]); at++) body.push(lines[at]);
121
- if (open[2].toLowerCase() === 'mermaid' && flowchart?.(body.join('\n')) !== true) needs.add('mermaid');
124
+ for (at++; at < lines.length && !new RegExp('^ {0,3}' + open[1][0] + '{' + open[1].length + ',}\\s*$').test(content(lines[at])); at++) body.push(lines[at]);
125
+ if (wantsMermaid && open[2].toLowerCase() === 'mermaid' && flowchart?.(body.join('\n')) !== true) needs.add('mermaid');
126
+ if (wantsMath && open[2].toLowerCase() === 'math' && at < lines.length) needs.add('math');
122
127
  }
123
- if (/\$\$[\s\S]+?\$\$|(?:^|[^\\$])\$(?![\s$])[^$\n]*[^\s\\$]\$(?!\d)/.test(prose.split(/\n[ \t]*\n/).map(paragraph => paragraph.replace(/(`+)[\s\S]*?\1/g, '')).join('\n\n'))) needs.add('math');
128
+ if (wantsMath && /\$\$[\s\S]+?\$\$|(?:^|[^\\$])\$(?![\s$])[^$\n]*[^\s\\$]\$(?!\d)/.test(prose.split(/\n[ \t]*\n/).map(paragraph => paragraph.replace(/(`+)[\s\S]*?\1/g, '')).join('\n\n'))) needs.add('math');
124
129
  }
125
130
  return CHOICES.filter(id => needs.has(id));
126
131
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rapier-html",
3
- "version": "1.2.45",
3
+ "version": "1.2.48",
4
4
  "description": "One command turns a Markdown file into one offline HTML file: the whole Rapier editor with the document inside. Opens in any browser, phone or desktop, with no install or account. Write, draw and paint watercolor, then Send back the edits to your AI agent.",
5
5
  "keywords": [
6
6
  "markdown",