cudoc-markdown-it 0.9.0 → 1.1.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.
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # cudoc-markdown-it
2
2
 
3
- > **A VitePress or Eleventy site does not install this package.** It is the markdown-it layer inside `cudoc-vitepress` and `cudoc-eleventy`, which depend on it and set it up, so follow the [VitePress](https://github.com/cudoment/cudoc/tree/main/docs/vitepress.md) or [Eleventy](https://github.com/cudoment/cudoc/tree/main/docs/eleventy.md) guide instead. Use it directly in one case only: connecting cudoc to another markdown-it host that has no adapter yet. Otherwise start from [your site generator](https://github.com/cudoment/cudoc#pick-your-site-generator).
3
+ `cudoc-markdown-it` connects cudoc syntax, collection and embedding to markdown-it: the layer under `cudoc-vitepress` and `cudoc-eleventy`, or another host.
4
4
 
5
- Connect cudoc Markdown syntax, document collection and embedding to a markdown-it pipeline.
5
+ **A VitePress or Eleventy site does not install this package.** It is the markdown-it layer inside `cudoc-vitepress` and `cudoc-eleventy`, which depend on it and set it up, so follow the [VitePress](https://github.com/cudoment/cudoc/tree/main/docs/vitepress.md) or [Eleventy](https://github.com/cudoment/cudoc/tree/main/docs/eleventy.md) guide instead. Use it directly in one case only: connecting cudoc to another markdown-it host that has no adapter yet. Otherwise start from [your site generator](https://github.com/cudoment/cudoc#pick-your-site-generator).
6
6
 
7
- This separate package is a pipeline adapter, not a second implementation of cudoc's rules. Shared document semantics live in `@cudoment/cudoc`. It is the markdown-it counterpart of `cudoc-remark`: the VitePress and Eleventy adapters depend on it, so the two hosts share one token conversion, one embed expansion and one collection path.
7
+ It is a pipeline adapter, not a second implementation of cudoc's rules: shared document semantics live in `@cudoment/cudoc`. It is the markdown-it counterpart of `cudoc-remark`: the VitePress and Eleventy adapters depend on it, so the two hosts share one token conversion, one embed expansion and one collection path.
8
8
 
9
- ESM · Node.js 20+
9
+ ESM · Node.js 22+
10
10
 
11
11
  ```sh
12
12
  npm install @cudoment/cudoc cudoc-markdown-it
@@ -27,9 +27,13 @@ export default function cudocMyHost(md, options = {}) {
27
27
  export const createDocumentCompiler = (md) => createHostCompiler(md, host)
28
28
  ```
29
29
 
30
- The plugin converts the actual token stream and never parses the Markdown a second time. It reads the host's own anchor, link and container tokens, then copies the resolved heading ids and titles back onto the host tokens so native heading and TOC behavior is preserved. The host still renders its own code blocks, HTML blocks and every token cudoc does not map, such as a table of contents or a code group, so its highlighting and plugins keep working. Diagnostics raised while the site renders go to an `onDiagnostic` option, a warning on stderr by default. `MarkdownItHost` names everything a host does differently: its own tokens, the document id in its markdown-it env, whether it resolves links in renderer rules, and whether it strips front matter outside markdown-it.
30
+ The plugin converts the actual token stream and never parses the Markdown a second time. It reads the host's own anchor, link and container tokens, then copies the resolved heading ids and titles back onto the host tokens so native heading and TOC behavior is preserved. The host still renders its own code blocks, HTML blocks and every token cudoc does not map, such as a table of contents or a code group, so its highlighting and plugins keep working.
31
31
 
32
- Choose `host`, `cudoc` or `both` independently for `headingAnchor`, `badge`, `tableCellList`, `callout` and `link`. The representative callout is `> [!NOTE] Title`. Authors do not register cudoc React components in the recommended setup. Syntax-only rendering needs no stored JSON; cross-document embedding requires document collection.
32
+ Diagnostics raised while the site renders go to an `onDiagnostic` option, a warning on stderr by default. `MarkdownItHost` names everything a host does differently: its own tokens, the document id in its markdown-it env and how collection rebuilds that env, and whether it resolves links in renderer rules. It also says whether its text keeps character references as written and whether it strips front matter outside markdown-it.
33
+
34
+ Each of `headingAnchor`, `badge`, `tableCellList`, `tableCellSpan`, `tableNote`, `callout`, `link`, `codeMeta` and `tabs` takes `host`, `cudoc`, `both` or `off` independently. The representative callout is `> [!NOTE] Title`. Authors do not register any cudoc components in the recommended setup. Syntax-only rendering needs no stored JSON; cross-document embedding requires document collection.
35
+
36
+ Tested with markdown-it 14, which VitePress 1 and Eleventy 3 install; markdown-it 15 is not supported yet. → [Supported versions](https://github.com/cudoment/cudoc/tree/main/docs/README.md#supported-versions)
33
37
 
34
38
  - [VitePress guide](https://github.com/cudoment/cudoc/tree/main/docs/vitepress.md) · [Eleventy guide](https://github.com/cudoment/cudoc/tree/main/docs/eleventy.md)
35
39
  - [Markdown syntax](https://github.com/cudoment/cudoc/tree/main/docs/syntax.md)
package/dist/host.d.ts CHANGED
@@ -46,6 +46,14 @@ export type MarkdownItHost = {
46
46
  * reach the AST without applying base paths twice to the host's own tokens.
47
47
  */
48
48
  resolveInlineAttributes?: boolean;
49
+ /**
50
+ * The host's text tokens keep character references as the author wrote
51
+ * them. VitePress joins text tokens with its own `text_join`, which leaves
52
+ * `©` as `©` for Vue, and renders text without escaping a
53
+ * reference again; conversion decodes them, or the page would show the
54
+ * reference itself.
55
+ */
56
+ textReferences?: boolean;
49
57
  /**
50
58
  * Splits frontmatter that the host removes before markdown-it sees the source.
51
59
  *
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,IAAI,EACL,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAA;IACxB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,+DAA+D;IAC/D,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,KAClB,YAAY,GAAG,SAAS,CAAA;AAE7B,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,IAAI,EAAE,IAAI,CAAA;IACV,yEAAyE;IACzE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IACpD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QACtB,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KACtC;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9B,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,IAAI,EACL,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAA;IACxB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,+DAA+D;IAC/D,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,KAClB,YAAY,GAAG,SAAS,CAAA;AAE7B,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,IAAI,EAAE,IAAI,CAAA;IACV,yEAAyE;IACzE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IACpD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QACtB,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KACtC;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9B,CAAA;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAM3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,eAAe,EACf,MAAM,GAAG,QAAQ,GAAG,YAAY,CACjC,GAAG;IACF,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,IAAI,CAAA;IACT,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5E,CAAA;AAeD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,EAC1B,SAAS,MAAM,KACd,iBAiCF,CAAA"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAM3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,eAAe,EACf,MAAM,GAAG,QAAQ,GAAG,YAAY,CACjC,GAAG;IACF,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,IAAI,CAAA;IACT,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5E,CAAA;AAiBD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,EAC1B,SAAS,MAAM,KACd,iBAmCF,CAAA"}
package/dist/options.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * loads rather than at the first document, because an error raised from inside
7
7
  * a markdown-it core rule is much harder to place.
8
8
  */
9
- import { resolveSyntax, } from "@cudoment/cudoc/document";
9
+ import { resolveLinkReferences, resolveSyntax, resolveVariables, } from "@cudoment/cudoc/document";
10
10
  import { resolveTableColumnLayoutOptions, resolveTableColumnWidthOptions, } from "@cudoment/cudoc/transforms/table-column-layout";
11
11
  const KNOWN_KEYS = new Set([
12
12
  "syntax",
@@ -14,6 +14,8 @@ const KNOWN_KEYS = new Set([
14
14
  "tableColumnLayout",
15
15
  "tableColumnWidths",
16
16
  "ignoreDiagnostics",
17
+ "variables",
18
+ "linkReferences",
17
19
  "headingIds",
18
20
  "onDocument",
19
21
  "library",
@@ -38,6 +40,8 @@ export const resolveHostOptions = (options, adapter) => {
38
40
  if (options.headingIds && options.headingIds !== "host")
39
41
  throw new TypeError(`${adapter}: headingIds must be "host"; the host slugger assigns ids`);
40
42
  resolveSyntax(options.syntax);
43
+ resolveVariables(options.variables);
44
+ resolveLinkReferences(options.linkReferences);
41
45
  // The table rules are checked the way the remark adapters check them, so
42
46
  // a mistyped rule fails here rather than inside the first page's render.
43
47
  for (const [key, resolve] of [
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,gDAAgD,CAAA;AAyBvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;IACjC,QAAQ;IACR,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,cAAc;CACuB,CAAC,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAA0B,EAC1B,OAAe,EACI,EAAE;IACrB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QACjD,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAA;IAC9D,IAAI,YAAY,IAAI,OAAO;QACzB,MAAM,IAAI,SAAS,CACjB,GAAG,OAAO,kGAAkG,CAC7G,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,qBAAqB,GAAG,GAAG,CAAC,CAAA;IAC9D,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM;QACrD,MAAM,IAAI,SAAS,CACjB,GAAG,OAAO,2DAA2D,CACtE,CAAA;IACH,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,yEAAyE;IACzE,yEAAyE;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI;QAC3B,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;QACtD,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC7C,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,KAAK,GAAG,4BAA4B,CAAC,CAAA;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3B,OAAqD,CACpD,IAAI,EACJ,GAAG,GAAG,IAAI,KAAK,GAAG,CACnB,CACF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,gBAAgB,GAGjB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,gDAAgD,CAAA;AAyBvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;IACjC,QAAQ;IACR,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,cAAc;CACuB,CAAC,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAA0B,EAC1B,OAAe,EACI,EAAE;IACrB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QACjD,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAA;IAC9D,IAAI,YAAY,IAAI,OAAO;QACzB,MAAM,IAAI,SAAS,CACjB,GAAG,OAAO,kGAAkG,CAC7G,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,qBAAqB,GAAG,GAAG,CAAC,CAAA;IAC9D,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM;QACrD,MAAM,IAAI,SAAS,CACjB,GAAG,OAAO,2DAA2D,CACtE,CAAA;IACH,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7C,yEAAyE;IACzE,yEAAyE;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI;QAC3B,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;QACtD,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC7C,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,KAAK,GAAG,4BAA4B,CAAC,CAAA;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3B,OAAqD,CACpD,IAAI,EACJ,GAAG,GAAG,IAAI,KAAK,GAAG,CACnB,CACF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AAmBzC,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAiC/C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,IAAI,CAmWN"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AAqBzC,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAsF/C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,IAAI,CAgbN"}
package/dist/plugin.js CHANGED
@@ -14,11 +14,12 @@
14
14
  * for every code block and HTML block it did not change, so line
15
15
  * highlighting, copy buttons and snippet imports survive.
16
16
  */
17
- import { normalizeDocument, nodeText, } from "@cudoment/cudoc/document";
17
+ import { normalizeDocument, nodeText, replaceVariables, } from "@cudoment/cudoc/document";
18
18
  import { renderDocument } from "@cudoment/cudoc/render";
19
+ import { presentDocument } from "@cudoment/cudoc/present";
19
20
  import { expandPreparedEmbeds } from "@cudoment/cudoc/node/prepare-embeds";
20
21
  import { resolveEmbed, parseEmbedSpec, } from "@cudoment/cudoc/node/resolve-embed";
21
- import { tokensToAst } from "./tokens.js";
22
+ import { tokensToAst, WRITTEN_ADDRESS, WRITTEN_INFO } from "./tokens.js";
22
23
  import { resolveHostOptions } from "./options.js";
23
24
  import { markdownItText } from "./text.js";
24
25
  /** Clones a token deeply enough that rendering it cannot touch the original. */
@@ -30,6 +31,58 @@ const cloneToken = (token) => Object.assign(Object.create(Object.getPrototypeOf(
30
31
  const CUDOC_FENCES = ["cudoc-embed", "cudoc-pagebreak"];
31
32
  /** The block types whose host rendering is put back into cudoc's HTML. */
32
33
  const HOST_BLOCKS = ["fence", "code_block", "html_block"];
34
+ /** The attribute holding each inline token's address. */
35
+ const ADDRESSES = { link_open: "href", image: "src" };
36
+ /**
37
+ * Replaces the variables in the link and image addresses of `tokens` and
38
+ * their children, before the host's rules read them: VitePress writes a
39
+ * relative `guide.md` as `./guide.html` when it renders a link, and would
40
+ * make `(=target)` a path of its own first. Every marker is replaced once,
41
+ * with every value. A replaced address is normalized as markdown-it
42
+ * normalizes one written out, so a `%` or a space in a value is escaped
43
+ * before VitePress decodes the address. One markdown-it would refuse, such
44
+ * as `javascript:`, makes no link, as a written one does not: a link keeps
45
+ * its text and an image its alternative text. The address as written stays
46
+ * in the token's `meta`, so normalization reports a marker there that names
47
+ * nothing and replaces nothing in the address again.
48
+ */
49
+ const replaceAddressVariables = (md, tokens, variables) => {
50
+ for (let index = 0; index < tokens.length; index++) {
51
+ const token = tokens[index];
52
+ if (token.children)
53
+ replaceAddressVariables(md, token.children, variables);
54
+ const name = ADDRESSES[token.type];
55
+ const address = name ? token.attrGet(name) : null;
56
+ if (!address?.includes("(="))
57
+ continue;
58
+ const replaced = replaceVariables(address, variables);
59
+ token.meta = { ...token.meta, [WRITTEN_ADDRESS]: address };
60
+ if (replaced === address)
61
+ continue;
62
+ const normalized = md.normalizeLink(replaced);
63
+ if (md.validateLink(normalized)) {
64
+ token.attrSet(name, normalized);
65
+ continue;
66
+ }
67
+ if (token.type === "image") {
68
+ // Its alternative text was replaced above.
69
+ const text = token.children ?? [];
70
+ tokens.splice(index, 1, ...text);
71
+ index += text.length - 1;
72
+ continue;
73
+ }
74
+ let depth = 0;
75
+ let close = index + 1;
76
+ for (; close < tokens.length; close++) {
77
+ if (tokens[close].type === "link_open")
78
+ depth++;
79
+ else if (tokens[close].type === "link_close" && depth-- === 0)
80
+ break;
81
+ }
82
+ tokens.splice(close, 1);
83
+ tokens.splice(index--, 1);
84
+ }
85
+ };
33
86
  /**
34
87
  * The HTML a markdown-it front-matter fence, or nothing, would leave before
35
88
  * the Markdown body: what a stored source may have ahead of the text the
@@ -46,6 +99,7 @@ const FRONT_MATTER = /^(?:---|\+\+\+)[^\n]*\n(?:[\s\S]*?\n)?(?:---|\+\+\+)[ \t]*
46
99
  export function installHostPlugin(md, options, host) {
47
100
  resolveHostOptions(options, host.adapter);
48
101
  const pending = new WeakMap();
102
+ const addressVariables = options.variables;
49
103
  const report = options.onDiagnostic ??
50
104
  ((diagnostic, documentId) => console.warn(`${host.adapter}: ${documentId}:${diagnostic.position?.start.line ?? 1}: ${diagnostic.code}: ${diagnostic.message}`));
51
105
  /**
@@ -90,6 +144,7 @@ export function installHostPlugin(md, options, host) {
90
144
  return nativeRender(tokens, renderOptions, env);
91
145
  let html;
92
146
  try {
147
+ presentDocument(document.tree, { host: host.host });
93
148
  html = composeHtml(md.renderer, document, () => nativeRender(tokens, renderOptions, env), renderOptions, env);
94
149
  }
95
150
  finally {
@@ -99,7 +154,41 @@ export function installHostPlugin(md, options, host) {
99
154
  env.cudocRendered = html;
100
155
  return html;
101
156
  };
157
+ // A fence's info as written, kept before any plugin rewrites it:
158
+ // markdown-it-attrs, which VitePress enables, takes `{2,4-5}` off the info
159
+ // as an attribute, and a site that allows only `id` drops it altogether.
160
+ // cudoc reads a code block's title and lines from this copy.
161
+ md.core.ruler.after("block", "cudoc-fence-info", (state) => {
162
+ for (const token of state.tokens)
163
+ if (token.type === "fence")
164
+ token.meta = { ...token.meta, [WRITTEN_INFO]: token.info };
165
+ });
166
+ // Shared link references join the page's own definitions before inline
167
+ // parsing, so the host reads `[text][label]` as a link and resolves its
168
+ // address the way it resolves any other: VitePress writes `guide.md` as
169
+ // `./guide.html` and prefixes its base. A definition the page writes
170
+ // itself wins. The options refuse what markdown-it refuses, and one whose
171
+ // address a host refuses beyond that defines nothing, as a definition
172
+ // the page writes would not.
173
+ const shared = Object.entries(options.linkReferences ?? {});
174
+ if (shared.length)
175
+ md.core.ruler.before("inline", "cudoc-link-references", (state) => {
176
+ const env = state.env;
177
+ const references = (env.references ??= {});
178
+ for (const [label, value] of shared) {
179
+ const key = md.utils.normalizeReference(label);
180
+ if (Object.hasOwn(references, key))
181
+ continue;
182
+ const entry = typeof value === "string" ? { url: value } : value;
183
+ const href = md.normalizeLink(entry.url);
184
+ if (!md.validateLink(href))
185
+ continue;
186
+ references[key] = { href, title: entry.title ?? "" };
187
+ }
188
+ });
102
189
  md.core.ruler.push("cudoc", (state) => {
190
+ if (addressVariables)
191
+ replaceAddressVariables(md, state.tokens, addressVariables);
103
192
  let tokens = state.tokens;
104
193
  if (host.resolveInlineAttributes) {
105
194
  tokens = state.tokens.map(cloneToken);
@@ -117,6 +206,7 @@ export function installHostPlugin(md, options, host) {
117
206
  const conversion = {
118
207
  adapter: host.adapter,
119
208
  token: host.token,
209
+ textReferences: host.textReferences,
120
210
  // A block the host renders is rendered once the ids and titles cudoc
121
211
  // settles are on the host's heading tokens, so a table of contents
122
212
  // built from them links to the headings the page shows. It is rendered
@@ -131,6 +221,18 @@ export function installHostPlugin(md, options, host) {
131
221
  origins,
132
222
  };
133
223
  const tree = tokensToAst(tokens, state.src, options, conversion);
224
+ // The host renders its code and HTML blocks from its own tokens, so a
225
+ // variable in one is replaced there too. The tree was read from them
226
+ // first: normalization replaces the variables in it once, as written,
227
+ // and reports a marker that names no variable, so the page and the
228
+ // stored tree hold the same text even when a value holds a marker.
229
+ if (options.variables)
230
+ for (const token of state.tokens)
231
+ if (HOST_BLOCKS.includes(token.type) &&
232
+ !CUDOC_FENCES.includes(token.info.trim())) {
233
+ token.content = replaceVariables(token.content, options.variables);
234
+ token.info = replaceVariables(token.info, options.variables);
235
+ }
134
236
  // The host slugged every heading before this rule without knowing the
135
237
  // ids cudoc settles from `(#id)`. Its ids are held aside until those are
136
238
  // known, so the duplicate check sees only ids written in the document,
@@ -154,17 +256,41 @@ export function installHostPlugin(md, options, host) {
154
256
  if (tokens !== state.tokens)
155
257
  for (const [node, token] of origins)
156
258
  origins.set(node, state.tokens[tokens.indexOf(token)] ?? token);
157
- const diagnostics = normalizeDocument(tree, state.src, { ...options, host: host.host, format: "md", headingIds: "host" }, (source) => {
259
+ // The host resolved the shared references before inline parsing; what
260
+ // is left as `[text][label]` was escaped or names no label.
261
+ const diagnostics = normalizeDocument(tree, state.src, {
262
+ ...options,
263
+ host: host.host,
264
+ format: "md",
265
+ headingIds: "host",
266
+ linkReferences: undefined,
267
+ }, (source) => {
158
268
  const inline = [];
159
269
  const env = { ...state.env, links: [] };
160
270
  md.inline.parse(source, md, env, inline);
161
- for (const token of inline)
162
- if (token.type === "text_special")
271
+ for (const token of inline) {
272
+ if (token.type !== "text_special")
273
+ continue;
274
+ // Where the host's text keeps references, a brace written as one
275
+ // stays one, as the page's own text does (`decoded` in tokens.ts).
276
+ if (host.textReferences &&
277
+ token.info === "entity" &&
278
+ (token.content === "{" || token.content === "}")) {
279
+ token.type = "html_inline";
280
+ token.content = token.content === "{" ? "&#123;" : "&#125;";
281
+ }
282
+ else
163
283
  token.type = "text";
284
+ }
285
+ if (addressVariables)
286
+ replaceAddressVariables(md, inline, addressVariables);
164
287
  if (host.resolveInlineAttributes)
165
288
  md.renderer.renderInline(inline, md.options, env);
289
+ // Parsed inline alone, the text was never joined: its references
290
+ // are decoded already.
166
291
  return tokensToAst(inline, source, options, {
167
292
  ...conversion,
293
+ textReferences: false,
168
294
  render: renderHosted(env),
169
295
  }).children;
170
296
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GAGjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAA0B,MAAM,cAAc,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAS,EAAE,CACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE;IAChE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI;IACpD,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI;CAClD,CAAC,CAAA;AAWJ,0EAA0E;AAC1E,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAA;AAEvD,0EAA0E;AAC1E,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAU,CAAA;AAElE,yDAAyD;AACzD,MAAM,SAAS,GAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,uBAAuB,GAAG,CAC9B,EAAc,EACd,MAAe,EACf,SAAiC,EAC3B,EAAE;IACR,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QAC5B,IAAI,KAAK,CAAC,QAAQ;YAAE,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;QAC1D,IAAI,QAAQ,KAAK,OAAO;YAAE,SAAQ;QAClC,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,IAAK,EAAE,UAAU,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,2CAA2C;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAChC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;YACxB,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAA;QACrB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,KAAK,CAAE,CAAC,IAAI,KAAK,WAAW;gBAAE,KAAK,EAAE,CAAA;iBAC3C,IAAI,MAAM,CAAC,KAAK,CAAE,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,EAAE,KAAK,CAAC;gBAAE,MAAK;QACvE,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACvB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,YAAY,GAChB,sEAAsE,CAAA;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAAc,EACd,OAA0B,EAC1B,IAAoB;IAEpB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAmB,CAAA;IAC9C,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAA;IAC1C,MAAM,MAAM,GACV,OAAO,CAAC,YAAY;QACpB,CAAC,CAAC,UAA8B,EAAE,UAAkB,EAAE,EAAE,CACtD,OAAO,CAAC,IAAI,CACV,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CACpH,CAAC,CAAA;IAEN;;;;OAIG;IACH,MAAM,YAAY,GAChB,CAAC,GAA4B,EAAE,EAAE,CACjC,CAAC,IAAa,EAAE,KAAa,EAAE,GAAW,EAAE,MAAe,EAAU,EAAE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACpC,IAAI,MAAM;YACR,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,EAC1B,EAAE,CAAC,OAAO,EACV,MAAM,CACP,CAAA;QACH,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;YACtB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI;gBACF,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACrB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;oBACpE,CAAC,CAAC,IAAI;wBACJ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC;wBAChD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAEH,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;IAC3C,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CACpE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC;QACrC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IAEtD,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzD,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,IAAI,CAAC,QAAQ;YAAE,OAAO,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAA;QAC9D,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACnD,IAAI,GAAG,WAAW,CAChB,EAAE,CAAC,QAAQ,EACX,QAAQ,EACR,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAC9C,aAAa,EACb,GAAG,CACJ,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,sEAAsE;YACtE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,iEAAiE;IACjE,2EAA2E;IAC3E,yEAAyE;IACzE,6DAA6D;IAC7D,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QACzD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBACxB,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,sEAAsE;IACtE,6BAA6B;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,MAAM;QACf,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,MAAM,GAAG,GAAG,KAAK,CAAC,GAEjB,CAAA;YACD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAA;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBAC9C,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;oBAAE,SAAQ;gBAC5C,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;gBAChE,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACxC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAA;YACtD,CAAC;QACH,CAAC,CAAC,CAAA;IAEJ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,gBAAgB;YAClB,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QAC7D,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QACzB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACrC,KAAK,MAAM,KAAK,IAAI,MAAM;gBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ;oBAC3C,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE;wBACnD,GAAG,KAAK,CAAC,GAAG;wBACZ,KAAK,EAAE,EAAE;qBACV,CAAC,CAAA;QACR,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;QAChD,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,qEAAqE;YACrE,mEAAmE;YACnE,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,EAAE,CAAC,IAAa,EAAE,KAAa,EAAE,GAAW,EAAE,MAAe,EAAE,EAAE;gBACrE,IAAI,MAAM;oBAAE,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBACtD,MAAM,MAAM,GAAG,sBAAsB,QAAQ,CAAC,IAAI,QAAQ,CAAA;gBAC1D,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACxB,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CACpE,CAAA;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,OAAO;SACR,CAAA;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAChE,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,mEAAmE;QACnE,IAAI,OAAO,CAAC,SAAS;YACnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM;gBAC9B,IACE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAoC,CAAC;oBAChE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EACzC,CAAC;oBACD,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;oBAClE,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;gBAC9D,CAAC;QACL,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAA;YACzC,IACE,IAAI,CAAC,IAAI,KAAK,SAAS;gBACvB,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI;gBACrC,OAAO,UAAU,EAAE,EAAE,KAAK,QAAQ,EAClC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;gBACpD,OAAO,UAAU,CAAC,EAAE,CAAA;YACtB,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrC,CAAC,CAAA;QACD,WAAW,CAAC,IAA+B,CAAC,CAAA;QAC5C,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;YACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO;gBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAA;QACnE,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,WAAW,GAAG,iBAAiB,CACnC,IAAI,EACJ,KAAK,CAAC,GAAG,EACT;YACE,GAAG,OAAO;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,MAAM;YAClB,cAAc,EAAE,SAAS;SAC1B,EACD,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,MAAM,GAAY,EAAE,CAAA;YAC1B,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YACvC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAQ;gBAC3C,iEAAiE;gBACjE,mEAAmE;gBACnE,IACE,IAAI,CAAC,cAAc;oBACnB,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACvB,CAAC,KAAK,CAAC,OAAO,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,EAChD,CAAC;oBACD,KAAK,CAAC,IAAI,GAAG,aAAa,CAAA;oBAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC7D,CAAC;;oBAAM,KAAK,CAAC,IAAI,GAAG,MAAM,CAAA;YAC5B,CAAC;YACD,IAAI,gBAAgB;gBAClB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;YACvD,IAAI,IAAI,CAAC,uBAAuB;gBAC9B,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACnD,iEAAiE;YACjE,uBAAuB;YACvB,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1C,GAAG,UAAU;gBACb,cAAc,EAAE,KAAK;gBACrB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAC,QAA6B,CAAA;QAClC,CAAC,CACF,CAAA;QACD,MAAM,QAAQ,GAAmB,EAAE,CAAA;QACnC,MAAM,UAAU,GAAG,CAAC,IAAkB,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACpC,CAAC,CAAA;QACD,UAAU,CAAC,IAA+B,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,QAAQ;aACL,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CACxD,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAClE,SAAQ;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,IAAI,EAAE,GAAG,IAAI,CAAA;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;YACvD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACb,IAAI,CAAC,IAAI,GAAG;gBACV,GAAG,IAAI,CAAC,IAAI;gBACZ,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;aAC/C,CAAA;QACH,CAAC;QACD,MAAM,UAAU,GAAG,GAAW,EAAE;YAC9B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,UAAU,CAAA;YACnB,CAAC;QACH,CAAC,CAAA;QACD,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;YACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO;gBAC/B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI;gBACvD,CAAC,CAAC,SAAS,CAAA;YACb,0DAA0D;YAC1D,MAAM,IAAI,GAAG,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAA;YACxD,MAAM,MAAM,GACV,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;qBAC/D,MAAM;gBACX,CAAC,CAAC,CAAC,CAAA;YACP,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,EAAE,CACzC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;YACzD,KAAK,MAAM,UAAU,IAAI,WAAW;gBAClC,MAAM,CACJ,MAAM,IAAI,UAAU,CAAC,QAAQ;oBAC3B,CAAC,CAAC;wBACE,GAAG,UAAU;wBACb,QAAQ,EAAE;4BACR,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAE;4BACxC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAE;yBACP;qBAChC;oBACH,CAAC,CAAC,UAAU,EACd,EAAE,CACH,CAAA;QACL,CAAC;QACD,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;oBACxC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5C,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;wBAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAA;oBACrE,CAAC;gBACH,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QACvC,CAAC,CAAA;QACD,aAAa,CAAC,IAA+B,CAAC,CAAA;QAC9C,uEAAuE;QACvE,qEAAqE;QACrE,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAA;QAClD,MAAM,eAAe,GAAG,CAAC,IAAkB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ;gBAC1C,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QACzC,CAAC,CAAA;QACD,eAAe,CAAC,IAA+B,CAAC,CAAA;QAChD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAM;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1D,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAA;YACxC,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;YAC9B,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ;gBACd,EAAE,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CACnE;iBACA,GAAG,CAAC,QAAQ,CAAC;iBACb,IAAI,CAAC,EAAE,CAAC;iBACR,IAAI,EAAE,IAAI,EAAE,CAAA;YACjB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;YACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC5C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;YACrB,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAA;YACzB,sEAAsE;YACtE,oDAAoD;YACpD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,WACM,CAAA;gBACrC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,YAAY,CAAC,CAAA;gBACvC,IACE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,WAAW;oBACvC,OAAO,IAAI,KAAK,QAAQ;oBACxB,OAAO;oBACP,OAAO,KAAK,KAAK;oBAEjB,UAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,CAAC,IAAkB,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,MAAM;oBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,CAAA;YACnC,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAA;QACD,IAAI,CAAC,IAA+B,CAAC,CAAA;QACrC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG;YAChB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,KAAK,CAAC,GAAG;YACjB,WAAW;SACZ,CAAA;QACD,OAAO,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACjE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,UAAU;YAAE,OAAM;QACtB,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAC9D,CAAA;QACD,IAAI,SAAS;YAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CACnB,IAAU,EACV,GAAW,EACX,GAA4B,EAC5B,EAAE;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC/B,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,OAAO,+DAA+D,CAC/E,CAAA;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACzD,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,sEAAsE;YACtE,qEAAqE;YACrE,iBAAiB;YACjB,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrD,MAAM,KAAK,GAAG,IAAI;iBACf,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;iBAClC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACzB,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACnB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAElD,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM;oBAChD,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,2JAA2J;oBAC3L,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,4BAA4B,UAAU,uBAAuB,CACjF,CAAA;QACL,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,MAAM,MAAM,GAAG,CAAC,IAAkB,EAAE,EAAE;gBACpC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,OAAM;gBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;wBACvD,OAAO,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,KAAM,CAAC,EAAE;4BACzD,UAAU;4BACV,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;yBAC3B,CAAC,CAAC,QAAqC,CAAA;oBAC1C,MAAM,CAAC,KAAK,CAAC,CAAA;oBACb,OAAO,CAAC,KAAK,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA;YACD,MAAM,CAAC,IAA+B,CAAC,CAAA;YACvC,OAAM;QACR,CAAC;QACD,oBAAoB,CAAC,IAAI,EAAE;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,kBAAkB;YAC5C,UAAU;YACV,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG;SACrC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAuC,CAAA;AAClE,6DAA6D;AAC7D,MAAM,eAAe,GAAG,CAAC,OAAgB,EAA+B,EAAE;IACxE,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAClB,QAAkB,EAClB,QAAiB,EACjB,YAA0B,EAC1B,aAAoC,EACpC,GAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAA;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA+C,CAAA;IACtE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAU,CAAC,CAAA;IACrE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,IAAI;gBACf,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YAC5C,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAE,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;IACH,IAAI,CAAC;QACH,YAAY,EAAE,CAAA;IAChB,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAsB,EAAE;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,SAAS,CAAA;QAC1C,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7D,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAA;QACvC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;QACpB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,OAAO,KAAK;YACV,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC;YACjD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;IACrD,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,CAAC,IAAkB,EAAE,EAAE;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC5B,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,KAAK,CAAC,CAAA;gBACtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACpD,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,UAAU,CAAC,QAAQ,CAAC,IAA+B,CAAC,CAAA;IACpD,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACtC,CAAC"}
package/dist/tokens.d.ts CHANGED
@@ -9,6 +9,13 @@ import type Token from "markdown-it/lib/token.mjs";
9
9
  import type { Root } from "mdast";
10
10
  import { type DocumentNode, type DocumentOptions } from "@cudoment/cudoc/document";
11
11
  import type { TokenNode } from "./host.js";
12
+ /** The `meta` key a fence token keeps its info under, as the author wrote it. */
13
+ export declare const WRITTEN_INFO = "cudocInfo";
14
+ /**
15
+ * The `meta` key a link or image token keeps its address under, as the author
16
+ * wrote it, once the plugin has replaced its variables.
17
+ */
18
+ export declare const WRITTEN_ADDRESS = "cudocAddress";
12
19
  export type TokenConversion = {
13
20
  /** Adapter package name used when a token has no mapping. */
14
21
  adapter?: string;
@@ -30,6 +37,11 @@ export type TokenConversion = {
30
37
  * from, so a renderer can put the host's own output for that token back.
31
38
  */
32
39
  origins?: Map<DocumentNode, Token>;
40
+ /**
41
+ * The text tokens hold character references as written, `&copy;` rather
42
+ * than `©`, which conversion decodes. See `MarkdownItHost.textReferences`.
43
+ */
44
+ textReferences?: boolean;
33
45
  };
34
46
  /** Converts the actual markdown-it tokens; it does not parse Markdown again. */
35
47
  export declare function tokensToAst(tokens: Token[], source: string, options?: DocumentOptions, conversion?: TokenConversion): Root;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,MAAM,eAAe,GAAG;IAC5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,CACP,MAAM,EAAE,KAAK,EAAE,EACf,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,KACZ,MAAM,CAAA;IACX;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;CACnC,CAAA;AAuED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,EAC7B,UAAU,GAAE,eAAoB,GAC/B,IAAI,CAoRN"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,iFAAiF;AACjF,eAAO,MAAM,YAAY,cAAc,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAuB7C,MAAM,MAAM,eAAe,GAAG;IAC5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,CACP,MAAM,EAAE,KAAK,EAAE,EACf,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,KACZ,MAAM,CAAA;IACX;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AA2ED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,EAC7B,UAAU,GAAE,eAAoB,GAC/B,IAAI,CAiWN"}
package/dist/tokens.js CHANGED
@@ -5,7 +5,35 @@
5
5
  * host already produced, and never parses the Markdown a second time. Tokens
6
6
  * contributed by a host's own plugins go through the host's `token` hook first.
7
7
  */
8
- import { makeCallout, resolveSyntax, isHost, } from "@cudoment/cudoc/document";
8
+ import { decodeCharacterReferences, makeCallout, resolveSyntax, isHost, } from "@cudoment/cudoc/document";
9
+ /** The `meta` key a fence token keeps its info under, as the author wrote it. */
10
+ export const WRITTEN_INFO = "cudocInfo";
11
+ /**
12
+ * The `meta` key a link or image token keeps its address under, as the author
13
+ * wrote it, once the plugin has replaced its variables.
14
+ */
15
+ export const WRITTEN_ADDRESS = "cudocAddress";
16
+ /** The address a token held as written, for normalization to report from. */
17
+ const writtenAddress = (token) => {
18
+ const written = token.meta?.[WRITTEN_ADDRESS];
19
+ return typeof written === "string" ? { cudocWrittenAddress: written } : {};
20
+ };
21
+ /**
22
+ * A fence's language and meta, from its info as written. VitePress also
23
+ * reads line ranges joined to the language, `js{4}`; they become meta.
24
+ */
25
+ const fenceInfo = (token) => {
26
+ const written = token.meta?.[WRITTEN_INFO];
27
+ const info = typeof written === "string" ? written : token.info;
28
+ const [first = "", ...words] = info.trim().split(/\s+/);
29
+ const joined = first.match(/^(.+?)(\{[\d,\s-]+\})$/);
30
+ return {
31
+ lang: (joined ? joined[1] : first) || null,
32
+ meta: [joined?.[2], ...words].filter(Boolean).join(" "),
33
+ };
34
+ };
35
+ /** A character reference that stands for `{` or `}`. */
36
+ const BRACE_REFERENCE = /&(?:#0*12[35]|#[xX]0*7[bBdD]|lbrace|lcub|rbrace|rcub);/g;
9
37
  /**
10
38
  * Container names that mean a callout: the five cudoc types, and the host
11
39
  * names `canonicalCalloutType` maps onto them. A container the site
@@ -72,6 +100,45 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
72
100
  ...CONTAINER_CALLOUTS,
73
101
  ...(options.calloutTypes ?? []).map((type) => type.toLowerCase()),
74
102
  ]);
103
+ const tabsFromHost = isHost(resolveSyntax(options.syntax).tabs);
104
+ /**
105
+ * Text whose character references are decoded, for a host whose text keeps
106
+ * them as written. A brace written as a reference stays one, as an `html`
107
+ * node: VitePress compiles a page as a Vue template, where an author writes
108
+ * `&#123;&#123;` exactly so that it is not read as an interpolation, and a
109
+ * library collected there is embedded into such pages.
110
+ */
111
+ const decoded = (text) => {
112
+ if (!conversion.textReferences)
113
+ return [{ type: "text", value: text }];
114
+ const nodes = [];
115
+ let at = 0;
116
+ for (const brace of text.matchAll(BRACE_REFERENCE)) {
117
+ const before = decodeCharacterReferences(text.slice(at, brace.index));
118
+ if (before)
119
+ nodes.push({ type: "text", value: before });
120
+ const open = decodeCharacterReferences(brace[0]) === "{";
121
+ nodes.push({ type: "html", value: open ? "&#123;" : "&#125;" });
122
+ at = brace.index + brace[0].length;
123
+ }
124
+ const rest = decodeCharacterReferences(text.slice(at));
125
+ if (rest || !nodes.length)
126
+ nodes.push({ type: "text", value: rest });
127
+ return nodes;
128
+ };
129
+ // The title of an alert is source text, which VitePress writes into the
130
+ // page as it is; a container's title is Markdown it renders inline, so a
131
+ // backslash there escapes the character after it.
132
+ const alertTitle = (title) => title ? decoded(title) : [];
133
+ const containerTitle = (title) => !title
134
+ ? []
135
+ : !conversion.textReferences
136
+ ? [{ type: "text", value: title }]
137
+ : title
138
+ .split(/(\\[!-/:-@[-`{-~])/)
139
+ .flatMap((part, index) => index % 2 ? [{ type: "text", value: part[1] }] : decoded(part))
140
+ .filter((node) => node.type !== "text" || node.value);
141
+ const codeGroup = (token) => tabsFromHost && token.type === "container_code-group_open";
75
142
  const root = { type: "root", children: [] };
76
143
  const stack = [root];
77
144
  const offsets = [0];
@@ -132,7 +199,8 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
132
199
  // anchor or an embed inside it is still one.
133
200
  if (!inline &&
134
201
  token.nesting === 1 &&
135
- token.type.startsWith("container_")) {
202
+ token.type.startsWith("container_") &&
203
+ !codeGroup(token)) {
136
204
  hostContainers.push(token.type.replace(/_open$/, "_close"));
137
205
  hosted(list, i, i, inline);
138
206
  continue;
@@ -183,6 +251,12 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
183
251
  let node;
184
252
  if (hosted)
185
253
  node = hosted;
254
+ else if (token.type === "text" && conversion.textReferences) {
255
+ const nodes = decoded(token.content);
256
+ for (const piece of nodes.slice(0, -1))
257
+ add(piece);
258
+ node = nodes.at(-1);
259
+ }
186
260
  else if (["text", "text_special"].includes(token.type))
187
261
  node = { type: "text", value: token.content };
188
262
  // markdown-it-emoji, which VitePress enables: the token holds the emoji.
@@ -198,10 +272,13 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
198
272
  node = {
199
273
  type: "code",
200
274
  value: token.content.replace(/\n$/, ""),
201
- lang: token.info.split(/\s+/)[0] || null,
202
- meta: token.info.split(/\s+/).slice(1).join(" "),
275
+ ...fenceInfo(token),
203
276
  ...common,
204
277
  };
278
+ // VitePress's code group labels each fence's tab with its `[name]`,
279
+ // which is then no code title; normalization reads the mark and drops it.
280
+ if (hostContainers.includes("container_code-group_close"))
281
+ node.data = { ...node.data, cudocCodeGroup: true };
205
282
  conversion.origins?.set(node, token);
206
283
  }
207
284
  else if (token.type === "image") {
@@ -212,6 +289,8 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
212
289
  title: attrs.title ?? null,
213
290
  ...common,
214
291
  };
292
+ if (token.meta?.[WRITTEN_ADDRESS] !== undefined)
293
+ node.data = { ...node.data, ...writtenAddress(token) };
215
294
  // markdown-it keeps the alt among the attributes as a placeholder its
216
295
  // renderer fills from the label, empty until then; as a hast property
217
296
  // it would win over the node's own alt.
@@ -236,7 +315,35 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
236
315
  // type is dropped and the same Markdown means the same thing everywhere.
237
316
  const label = String(token.meta.title ?? "");
238
317
  const repeatsType = label.toLowerCase() === String(token.meta.type ?? "").toLowerCase();
239
- node = makeCallout(token.meta.type, label && !repeatsType ? [{ type: "text", value: label }] : [], [], position(token));
318
+ // With callouts off the host already read the marker, so the alert
319
+ // stays the box the host draws, under the host's own title.
320
+ const off = resolveSyntax(options.syntax).callout === "off";
321
+ node = makeCallout(token.meta.type, label && (off || !repeatsType) ? alertTitle(label) : [], [], position(token));
322
+ if (off) {
323
+ node.data = {
324
+ hName: "div",
325
+ hProperties: {
326
+ className: [
327
+ String(token.meta.type),
328
+ "custom-block",
329
+ "github-alert",
330
+ ],
331
+ },
332
+ };
333
+ node.children[0].data = {
334
+ hProperties: { className: ["custom-block-title"] },
335
+ };
336
+ }
337
+ }
338
+ else if (codeGroup(token)) {
339
+ // VitePress's code group, read as a group of tabs when tabs take host
340
+ // syntax: normalization makes each fence a tab labelled by its `[name]`.
341
+ node = {
342
+ type: "blockquote",
343
+ data: { cudoc: { kind: "codeGroup" } },
344
+ position: position(token),
345
+ children: [],
346
+ };
240
347
  }
241
348
  else if (token.type.startsWith("container_") &&
242
349
  token.nesting === 1 &&
@@ -254,11 +361,13 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
254
361
  {
255
362
  type: "paragraph",
256
363
  data: { hName: "summary" },
257
- children: [{ type: "text", value: title || "Details" }],
364
+ children: title
365
+ ? containerTitle(title)
366
+ : [{ type: "text", value: "Details" }],
258
367
  },
259
368
  ],
260
369
  }
261
- : makeCallout(type, title ? [{ type: "text", value: title }] : [], [], position(token));
370
+ : makeCallout(type, containerTitle(title), [], position(token));
262
371
  if (type !== "details" &&
263
372
  !isHost(resolveSyntax(options.syntax).callout)) {
264
373
  node.data = {
@@ -293,6 +402,8 @@ export function tokensToAst(tokens, source, options = {}, conversion = {}) {
293
402
  if (node.type === "link") {
294
403
  node.url = String(attrs.href ?? "");
295
404
  node.title = attrs.title ?? null;
405
+ if (token.meta?.[WRITTEN_ADDRESS] !== undefined)
406
+ node.data = { ...node.data, ...writtenAddress(token) };
296
407
  // A host's heading permalink is marked here, before normalization, so
297
408
  // every transform that reads a heading's own text can exclude it. Its
298
409
  // href is corrected afterwards, once the heading id is resolved.
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cudoc-markdown-it",
3
- "version": "0.9.0",
3
+ "version": "1.1.0",
4
4
  "description": "Shared markdown-it pipeline for cudoc host adapters",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -44,7 +44,7 @@
44
44
  "dependencies": {
45
45
  "@types/mdast": "^4.0.4",
46
46
  "@types/unist": "^3.0.3",
47
- "@cudoment/cudoc": "0.9.0"
47
+ "@cudoment/cudoc": "1.1.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "markdown-it": "^14.1.0",
@@ -55,7 +55,7 @@
55
55
  },
56
56
  "author": "cudoment",
57
57
  "engines": {
58
- "node": ">=20"
58
+ "node": ">=22"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "@types/markdown-it": {