@openuji/speculator 0.7.5 → 0.9.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 (158) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/parse/assembler.d.ts +1 -1
  6. package/dist/parse/assembler.d.ts.map +1 -1
  7. package/dist/parse/assembler.js +69 -27
  8. package/dist/parse/assembler.js.map +1 -1
  9. package/dist/parse/html/AsideHtmlParser.d.ts.map +1 -1
  10. package/dist/parse/html/AsideHtmlParser.js +85 -3
  11. package/dist/parse/html/AsideHtmlParser.js.map +1 -1
  12. package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -1
  13. package/dist/parse/html/CodeHtmlParser.js +6 -2
  14. package/dist/parse/html/CodeHtmlParser.js.map +1 -1
  15. package/dist/parse/html/HeadingsHtmlParser.d.ts.map +1 -1
  16. package/dist/parse/html/HeadingsHtmlParser.js +3 -4
  17. package/dist/parse/html/HeadingsHtmlParser.js.map +1 -1
  18. package/dist/parse/html/IdlHtmlParser.d.ts +0 -4
  19. package/dist/parse/html/IdlHtmlParser.d.ts.map +1 -1
  20. package/dist/parse/html/IdlHtmlParser.js +2 -138
  21. package/dist/parse/html/IdlHtmlParser.js.map +1 -1
  22. package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -1
  23. package/dist/parse/html/MiscHtmlParser.js +2 -42
  24. package/dist/parse/html/MiscHtmlParser.js.map +1 -1
  25. package/dist/parse/html/SectionsHtmlParser.d.ts.map +1 -1
  26. package/dist/parse/html/SectionsHtmlParser.js +17 -26
  27. package/dist/parse/html/SectionsHtmlParser.js.map +1 -1
  28. package/dist/parse/html/VocabHtmlParser.js +2 -2
  29. package/dist/parse/html/VocabHtmlParser.js.map +1 -1
  30. package/dist/parse/html/parser.d.ts +13 -4
  31. package/dist/parse/html/parser.d.ts.map +1 -1
  32. package/dist/parse/html/parser.js +96 -99
  33. package/dist/parse/html/parser.js.map +1 -1
  34. package/dist/parse/index.d.ts +1 -2
  35. package/dist/parse/index.d.ts.map +1 -1
  36. package/dist/parse/index.js +0 -1
  37. package/dist/parse/index.js.map +1 -1
  38. package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -1
  39. package/dist/parse/markdown/CodeMarkdownParser.js +20 -2
  40. package/dist/parse/markdown/CodeMarkdownParser.js.map +1 -1
  41. package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -1
  42. package/dist/parse/markdown/HeadingsMarkdownParser.js +6 -3
  43. package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
  44. package/dist/parse/markdown/MdxMarkdownParser.d.ts.map +1 -1
  45. package/dist/parse/markdown/MdxMarkdownParser.js +54 -13
  46. package/dist/parse/markdown/MdxMarkdownParser.js.map +1 -1
  47. package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -1
  48. package/dist/parse/markdown/ShorthandsMarkdownParser.js +57 -2
  49. package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -1
  50. package/dist/parse/markdown/parser.d.ts +12 -3
  51. package/dist/parse/markdown/parser.d.ts.map +1 -1
  52. package/dist/parse/markdown/parser.js +71 -80
  53. package/dist/parse/markdown/parser.js.map +1 -1
  54. package/dist/parse/markdown/plugins.d.ts.map +1 -1
  55. package/dist/parse/markdown/plugins.js +9 -2
  56. package/dist/parse/markdown/plugins.js.map +1 -1
  57. package/dist/parse/pipeline.d.ts.map +1 -1
  58. package/dist/parse/pipeline.js +35 -14
  59. package/dist/parse/pipeline.js.map +1 -1
  60. package/dist/parse/registry.d.ts +5 -5
  61. package/dist/parse/registry.d.ts.map +1 -1
  62. package/dist/parse/registry.js +12 -12
  63. package/dist/parse/registry.js.map +1 -1
  64. package/dist/parse/source-mapper.d.ts +42 -0
  65. package/dist/parse/source-mapper.d.ts.map +1 -0
  66. package/dist/parse/source-mapper.js +117 -0
  67. package/dist/parse/source-mapper.js.map +1 -0
  68. package/dist/parse/types.d.ts +20 -9
  69. package/dist/parse/types.d.ts.map +1 -1
  70. package/dist/parse/types.js +2 -13
  71. package/dist/parse/types.js.map +1 -1
  72. package/dist/parse/utils/hast-utils.d.ts.map +1 -1
  73. package/dist/parse/utils/hast-utils.js +63 -28
  74. package/dist/parse/utils/hast-utils.js.map +1 -1
  75. package/dist/parse/utils/idl-tokenizer.d.ts +7 -0
  76. package/dist/parse/utils/idl-tokenizer.d.ts.map +1 -0
  77. package/dist/parse/utils/idl-tokenizer.js +137 -0
  78. package/dist/parse/utils/idl-tokenizer.js.map +1 -0
  79. package/dist/pipeline/index.d.ts.map +1 -1
  80. package/dist/pipeline/index.js +1 -0
  81. package/dist/pipeline/index.js.map +1 -1
  82. package/dist/pipeline/runner.d.ts.map +1 -1
  83. package/dist/pipeline/runner.js +10 -4
  84. package/dist/pipeline/runner.js.map +1 -1
  85. package/dist/pipeline/types.d.ts +2 -0
  86. package/dist/pipeline/types.d.ts.map +1 -1
  87. package/dist/postprocess/index.d.ts +3 -1
  88. package/dist/postprocess/index.d.ts.map +1 -1
  89. package/dist/postprocess/index.js +9 -3
  90. package/dist/postprocess/index.js.map +1 -1
  91. package/dist/postprocess/plugins/biblio-index.d.ts.map +1 -1
  92. package/dist/postprocess/plugins/biblio-index.js +2 -2
  93. package/dist/postprocess/plugins/biblio-index.js.map +1 -1
  94. package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -1
  95. package/dist/postprocess/plugins/bibliography-generator.js +46 -5
  96. package/dist/postprocess/plugins/bibliography-generator.js.map +1 -1
  97. package/dist/postprocess/plugins/citation-resolve.d.ts.map +1 -1
  98. package/dist/postprocess/plugins/citation-resolve.js +255 -11
  99. package/dist/postprocess/plugins/citation-resolve.js.map +1 -1
  100. package/dist/postprocess/plugins/example-index.d.ts +16 -0
  101. package/dist/postprocess/plugins/example-index.d.ts.map +1 -0
  102. package/dist/postprocess/plugins/example-index.js +131 -0
  103. package/dist/postprocess/plugins/example-index.js.map +1 -0
  104. package/dist/postprocess/plugins/note-index.d.ts +14 -0
  105. package/dist/postprocess/plugins/note-index.d.ts.map +1 -0
  106. package/dist/postprocess/plugins/note-index.js +103 -0
  107. package/dist/postprocess/plugins/note-index.js.map +1 -0
  108. package/dist/postprocess/plugins/note-shorthands.d.ts +11 -0
  109. package/dist/postprocess/plugins/note-shorthands.d.ts.map +1 -0
  110. package/dist/postprocess/plugins/note-shorthands.js +298 -0
  111. package/dist/postprocess/plugins/note-shorthands.js.map +1 -0
  112. package/dist/postprocess/plugins/reference-resolve.d.ts.map +1 -1
  113. package/dist/postprocess/plugins/reference-resolve.js +46 -1
  114. package/dist/postprocess/plugins/reference-resolve.js.map +1 -1
  115. package/dist/postprocess/plugins/toc.d.ts.map +1 -1
  116. package/dist/postprocess/plugins/toc.js +20 -16
  117. package/dist/postprocess/plugins/toc.js.map +1 -1
  118. package/dist/postprocess/walk-ast.d.ts +5 -1
  119. package/dist/postprocess/walk-ast.d.ts.map +1 -1
  120. package/dist/postprocess/walk-ast.js +8 -0
  121. package/dist/postprocess/walk-ast.js.map +1 -1
  122. package/dist/preprocess/config/doc-config.d.ts +4 -1
  123. package/dist/preprocess/config/doc-config.d.ts.map +1 -1
  124. package/dist/preprocess/config/doc-config.js +6 -3
  125. package/dist/preprocess/config/doc-config.js.map +1 -1
  126. package/dist/preprocess/config/index.d.ts +1 -1
  127. package/dist/preprocess/config/index.d.ts.map +1 -1
  128. package/dist/preprocess/config/normalize.d.ts +2 -2
  129. package/dist/preprocess/config/normalize.d.ts.map +1 -1
  130. package/dist/preprocess/config/normalize.js +129 -85
  131. package/dist/preprocess/config/normalize.js.map +1 -1
  132. package/dist/preprocess/config/types.d.ts +31 -15
  133. package/dist/preprocess/config/types.d.ts.map +1 -1
  134. package/dist/preprocess/config/verify-person.d.ts +2 -0
  135. package/dist/preprocess/config/verify-person.d.ts.map +1 -0
  136. package/dist/preprocess/config/verify-person.js +17 -0
  137. package/dist/preprocess/config/verify-person.js.map +1 -0
  138. package/dist/preprocess/include/resolver.d.ts.map +1 -1
  139. package/dist/preprocess/include/resolver.js +86 -32
  140. package/dist/preprocess/include/resolver.js.map +1 -1
  141. package/dist/preprocess/include/scan-html.js +1 -1
  142. package/dist/preprocess/include/scan-html.js.map +1 -1
  143. package/dist/preprocess/index.d.ts +2 -2
  144. package/dist/preprocess/index.d.ts.map +1 -1
  145. package/dist/preprocess/index.js.map +1 -1
  146. package/dist/preprocess/pipeline.d.ts.map +1 -1
  147. package/dist/preprocess/pipeline.js +1 -1
  148. package/dist/preprocess/pipeline.js.map +1 -1
  149. package/dist/preprocess/types.d.ts +26 -14
  150. package/dist/preprocess/types.d.ts.map +1 -1
  151. package/dist/types/ast.generated.d.ts +44 -25
  152. package/dist/types/ast.generated.d.ts.map +1 -1
  153. package/dist/types/ast.generated.js +1 -1
  154. package/dist/types/ast.generated.js.map +1 -1
  155. package/dist/workspace/sort.js +1 -1
  156. package/dist/workspace/sort.js.map +1 -1
  157. package/package.json +2 -2
  158. package/schema/spec-ast.schema.json +41 -8
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export type { FileProvider } from './file-provider/types.js';
8
8
  export * from './types/ast.generated.js';
9
9
  export { speculate, SpeculatorPipeline, PHASES, POSTPROCESS_PHASES } from './pipeline/index.js';
10
10
  export type { Plugin, Phase, PostprocessPhase, SpeculateOptions, SpeculateResult } from './pipeline/types.js';
11
- export { dfnIndexPlugin, referenceResolvePlugin, citationResolvePlugin, tocPlugin, corePlugins, } from './postprocess/index.js';
11
+ export { dfnIndexPlugin, noteShorthandsPlugin, referenceResolvePlugin, citationResolvePlugin, tocPlugin, corePlugins, } from './postprocess/index.js';
12
12
  export { coreHtmlParsers, coreMarkdownParsers, } from './parse/parsers.js';
13
13
  export * from './workspace/index.js';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChG,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG9G,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChG,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG9G,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ export * from './types/ast.generated.js';
8
8
  // Pipeline (Single Entrypoint)
9
9
  export { speculate, SpeculatorPipeline, PHASES, POSTPROCESS_PHASES } from './pipeline/index.js';
10
10
  // Postprocess Plugins
11
- export { dfnIndexPlugin, referenceResolvePlugin, citationResolvePlugin, tocPlugin, corePlugins, } from './postprocess/index.js';
11
+ export { dfnIndexPlugin, noteShorthandsPlugin, referenceResolvePlugin, citationResolvePlugin, tocPlugin, corePlugins, } from './postprocess/index.js';
12
12
  // Parser Modules (for advanced use)
13
13
  export { coreHtmlParsers, coreMarkdownParsers, } from './parse/parsers.js';
14
14
  // Workspace Utilities
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAK1C,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhG,sBAAsB;AACtB,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAEhC,oCAAoC;AACpC,OAAO,EACH,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAK1C,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhG,sBAAsB;AACtB,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAEhC,oCAAoC;AACpC,OAAO,EACH,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,cAAc,sBAAsB,CAAC"}
@@ -12,7 +12,7 @@ import type { SpecConfig } from '#src/preprocess/types';
12
12
  * Converts headings to sections and nests content based on heading depth.
13
13
  * Pre-existing sections (from HTML) are inserted at their natural position.
14
14
  */
15
- export declare function buildSectionHierarchy(blocks: (Section | Block)[]): (Section | Block)[];
15
+ export declare function buildSectionHierarchy(blocks: (Section | Block)[], entryFile?: string): (Section | Block)[];
16
16
  /**
17
17
  * Assemble blocks into a complete document
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/parse/assembler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EAEL,QAAQ,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkDxD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAmEtF;AAgHD;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,EAC3B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,GAClB,QAAQ,CA2BV"}
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/parse/assembler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EAEL,QAAQ,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDxD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAiH1G;AA0GD;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,EAC3B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,GAClB,QAAQ,CA2BV"}
@@ -37,9 +37,13 @@ function createSectionFromHeading(heading) {
37
37
  section.sourcePos = heading.sourcePos;
38
38
  section.heading.sourcePos = heading.sourcePos;
39
39
  }
40
- if (heading.unnumbered) {
41
- section.unnumbered = true;
42
- section.heading.unnumbered = true;
40
+ if (heading.noToc) {
41
+ section.noToc = true;
42
+ section.heading.noToc = true;
43
+ }
44
+ if (heading.noTocCount) {
45
+ section.noTocCount = true;
46
+ section.heading.noTocCount = true;
43
47
  }
44
48
  if (heading.dataCopConcept) {
45
49
  section.dataCopConcept = heading.dataCopConcept;
@@ -53,14 +57,14 @@ function createSectionFromHeading(heading) {
53
57
  * Converts headings to sections and nests content based on heading depth.
54
58
  * Pre-existing sections (from HTML) are inserted at their natural position.
55
59
  */
56
- export function buildSectionHierarchy(blocks) {
60
+ export function buildSectionHierarchy(blocks, entryFile) {
57
61
  if (blocks.length === 0)
58
62
  return [];
59
63
  const result = [];
60
- // Stack of (section, depth) for tracking hierarchy
64
+ // Stack of (section, depth, file) for tracking hierarchy
61
65
  // depth 0 means top-level content before any heading
62
66
  const sectionStack = [
63
- { section: null, depth: 0 }
67
+ { section: null, depth: 0, file: entryFile }
64
68
  ];
65
69
  /**
66
70
  * Get current container for adding content
@@ -83,7 +87,49 @@ export function buildSectionHierarchy(blocks) {
83
87
  sectionStack.pop();
84
88
  }
85
89
  }
90
+ /**
91
+ * Pop sections that were started in a different file than the current one,
92
+ * unless the current file is a "child" (nested include) of the stack's file.
93
+ *
94
+ * Since we don't have the full include graph here, we use a heuristic:
95
+ * if the file actually changes, we pop everything that was deeper than the
96
+ * first occurrence of the NEW file in the stack.
97
+ */
98
+ function handleFileBoundary(currentFile) {
99
+ if (!currentFile)
100
+ return;
101
+ // Find the LATEST (deepest) point in the stack that belongs to this file.
102
+ // We want to return to the most recent context of this file.
103
+ let matchIndex = -1;
104
+ for (let i = sectionStack.length - 1; i >= 0; i--) {
105
+ if (sectionStack[i].file === currentFile) {
106
+ matchIndex = i;
107
+ break;
108
+ }
109
+ }
110
+ // If we found a match and it's not the current top, we MIGHT be returning
111
+ // from an include.
112
+ if (matchIndex !== -1 && matchIndex < sectionStack.length - 1) {
113
+ // Check if there are any sections from a DIFFERENT file "on top" of our match.
114
+ let hasIncludeToPop = false;
115
+ for (let i = matchIndex + 1; i < sectionStack.length; i++) {
116
+ if (sectionStack[i].file !== currentFile) {
117
+ hasIncludeToPop = true;
118
+ break;
119
+ }
120
+ }
121
+ // If we have sections from a different file, we MUST pop them all
122
+ // to return to our file's context.
123
+ if (hasIncludeToPop) {
124
+ while (sectionStack.length > matchIndex + 1) {
125
+ sectionStack.pop();
126
+ }
127
+ }
128
+ }
129
+ }
86
130
  for (const node of blocks) {
131
+ const currentFile = node.sourcePos?.file;
132
+ handleFileBoundary(currentFile);
87
133
  if (isSection(node)) {
88
134
  // Pre-existing section - determine its depth from heading or default to 1
89
135
  const sectionDepth = node.heading?.depth ?? 1;
@@ -92,7 +138,7 @@ export function buildSectionHierarchy(blocks) {
92
138
  // Add to current container
93
139
  getCurrentContainer().push(node);
94
140
  // Push this section onto stack
95
- sectionStack.push({ section: node, depth: sectionDepth });
141
+ sectionStack.push({ section: node, depth: sectionDepth, file: currentFile });
96
142
  }
97
143
  else if (isHeading(node)) {
98
144
  const headingDepth = node.depth;
@@ -103,7 +149,7 @@ export function buildSectionHierarchy(blocks) {
103
149
  // Add to current container
104
150
  getCurrentContainer().push(newSection);
105
151
  // Push new section onto stack
106
- sectionStack.push({ section: newSection, depth: headingDepth });
152
+ sectionStack.push({ section: newSection, depth: headingDepth, file: currentFile });
107
153
  }
108
154
  else {
109
155
  // Regular block - add to current container
@@ -142,6 +188,14 @@ function configToMetadata(config) {
142
188
  meta.version = config.version;
143
189
  hasContent = true;
144
190
  }
191
+ if (config.specIri || config.latestVersion) {
192
+ meta.respec = {};
193
+ if (config.specIri)
194
+ meta.respec.thisVersion = config.specIri;
195
+ if (config.latestVersion)
196
+ meta.respec.latestVersion = config.latestVersion;
197
+ hasContent = true;
198
+ }
145
199
  if (config.deps && config.deps.length > 0) {
146
200
  meta.deps = config.deps;
147
201
  hasContent = true;
@@ -154,24 +208,16 @@ function configToMetadata(config) {
154
208
  meta.lastUpdateDate = config.lastUpdateDate;
155
209
  hasContent = true;
156
210
  }
211
+ if (config.creationDate) {
212
+ meta.creationDate = config.creationDate;
213
+ hasContent = true;
214
+ }
157
215
  if (config.editors && config.editors.length > 0) {
158
- meta.editors = config.editors.map(e => ({
159
- name: e.name,
160
- url: e.url,
161
- company: e.company,
162
- note: e.note,
163
- w3cid: e.w3cid,
164
- }));
216
+ meta.editors = config.editors;
165
217
  hasContent = true;
166
218
  }
167
219
  if (config.authors && config.authors.length > 0) {
168
- meta.authors = config.authors.map(a => ({
169
- name: a.name,
170
- url: a.url,
171
- company: a.company,
172
- note: a.note,
173
- w3cid: a.w3cid,
174
- }));
220
+ meta.authors = config.authors;
175
221
  hasContent = true;
176
222
  }
177
223
  if (config.abstract) {
@@ -213,10 +259,6 @@ function configToMetadata(config) {
213
259
  meta.custom = config.custom;
214
260
  hasContent = true;
215
261
  }
216
- if (config.noConformance) {
217
- meta.noConformance = config.noConformance;
218
- hasContent = true;
219
- }
220
262
  return hasContent ? meta : undefined;
221
263
  }
222
264
  /**
@@ -224,7 +266,7 @@ function configToMetadata(config) {
224
266
  */
225
267
  export function assembleDocument(blocks, config, entryFile) {
226
268
  // Build section hierarchy
227
- const children = buildSectionHierarchy(blocks);
269
+ const children = buildSectionHierarchy(blocks, entryFile);
228
270
  // Create document
229
271
  const doc = {
230
272
  type: 'document',
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/parse/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/parse/assembler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AsideHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/AsideHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAgC9F;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBA6C7B,CAAC"}
1
+ {"version":3,"file":"AsideHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/AsideHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAuE9F;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBA2F7B,CAAC"}
@@ -23,18 +23,57 @@ function getNoteType(element, ctx) {
23
23
  return noteClass;
24
24
  }
25
25
  }
26
+ // Check data-type attribute
27
+ const dataType = ctx.getAttr(element, 'data-type');
28
+ if (dataType === 'example')
29
+ return 'example';
26
30
  // Check role attribute
27
31
  const role = ctx.getAttr(element, 'role');
28
32
  if (role === 'note')
29
33
  return 'note';
30
34
  return null;
31
35
  }
36
+ /**
37
+ * Recursively find the first <a> element's href or mdast link's url in content.
38
+ */
39
+ function findFirstLinkHref(nodes) {
40
+ for (const node of nodes) {
41
+ // Handle HAST elements (e.g. <a href="...">)
42
+ if (node.type === 'element') {
43
+ const el = node;
44
+ if (el.tagName === 'a') {
45
+ const href = el.properties?.href;
46
+ if (typeof href === 'string')
47
+ return href;
48
+ }
49
+ }
50
+ // Handle MDAST link elements (e.g. [text](href))
51
+ if (node.type === 'link') {
52
+ if (typeof node.url === 'string')
53
+ return node.url;
54
+ }
55
+ // Handle MDX JSX elements (e.g. <a href="..."> in mdx context)
56
+ if ((node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement') && node.name === 'a') {
57
+ const hrefAttr = node.attributes?.find((attr) => attr.name === 'href');
58
+ if (hrefAttr && typeof hrefAttr.value === 'string') {
59
+ return hrefAttr.value;
60
+ }
61
+ }
62
+ // Recurse into children of any node that has them
63
+ if (node.children && Array.isArray(node.children) && node.children.length > 0) {
64
+ const found = findFirstLinkHref(node.children);
65
+ if (found)
66
+ return found;
67
+ }
68
+ }
69
+ return null;
70
+ }
32
71
  /**
33
72
  * HTML parser module for aside and note-type elements.
34
73
  */
35
74
  export const AsideHtmlParser = {
36
75
  name: 'AsideHtmlParser',
37
- handles: ['aside', 'div'],
76
+ handles: ['aside', 'div', 'figure', 'p'],
38
77
  order: 8, // Run before misc parser but after specialized handlers
39
78
  handleBlock(element, ctx) {
40
79
  const tagName = element.tagName.toLowerCase();
@@ -44,11 +83,22 @@ export const AsideHtmlParser = {
44
83
  if (tagName === 'aside') {
45
84
  noteType = getNoteType(element, ctx) ?? 'note';
46
85
  }
86
+ else if (tagName === 'figure') {
87
+ noteType = getNoteType(element, ctx);
88
+ if (!noteType) {
89
+ // Not a note-type figure - but we might still want it as a regular figure
90
+ // For now, let's treat it as a pass-through if not an example
91
+ return ctx.transformBlockChildren(element.children);
92
+ }
93
+ }
47
94
  else {
48
- // tagName === 'div'
95
+ // tagName === 'div' or 'p'
49
96
  noteType = getNoteType(element, ctx);
50
97
  if (!noteType) {
51
- // Not a note-type div - pass through children
98
+ // Not a note-type div/p - pass through children if div,
99
+ // or return null if p to let ParagraphsHtmlParser handle it.
100
+ if (tagName === 'p')
101
+ return null;
52
102
  return ctx.transformBlockChildren(element.children);
53
103
  }
54
104
  }
@@ -58,6 +108,32 @@ export const AsideHtmlParser = {
58
108
  const childBlocks = ctx.transformBlockChildren(element.children);
59
109
  // Filter out sections if any - notes only contain blocks
60
110
  const children = childBlocks.filter((c) => c.type !== 'section');
111
+ if (noteType === 'example') {
112
+ const result = {
113
+ type: 'example',
114
+ children,
115
+ };
116
+ // For <figure>, look for <figcaption> to use as title
117
+ let title = ctx.getAttr(element, 'title') || ctx.getAttr(element, 'data-title');
118
+ if (tagName === 'figure') {
119
+ const figcaption = element.children.find(c => c.type === 'element' && c.tagName === 'figcaption');
120
+ if (figcaption) {
121
+ title = ctx.getTextContent(figcaption);
122
+ // Actually, if we use figcaption as title, we should probably exclude it from children
123
+ // to avoid duplication in rendering.
124
+ // Let's re-transform without figcaption if it exists
125
+ const filteredHastChildren = element.children.filter(c => !(c.type === 'element' && c.tagName === 'figcaption'));
126
+ result.children = ctx.transformBlockChildren(filteredHastChildren).filter((c) => c.type !== 'section');
127
+ }
128
+ }
129
+ if (title)
130
+ result.title = title;
131
+ if (id)
132
+ result.id = id;
133
+ if (sourcePos)
134
+ result.sourcePos = sourcePos;
135
+ return result;
136
+ }
61
137
  const result = {
62
138
  type: 'note',
63
139
  noteType,
@@ -68,6 +144,12 @@ export const AsideHtmlParser = {
68
144
  result.id = id;
69
145
  if (sourcePos)
70
146
  result.sourcePos = sourcePos;
147
+ // For issue-type notes, extract the href from the first link in hast children
148
+ if (noteType === 'issue') {
149
+ const href = findFirstLinkHref(element.children);
150
+ if (href)
151
+ result.src = href;
152
+ }
71
153
  return result;
72
154
  },
73
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AsideHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/AsideHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAU,CAAC;AAGpF;;GAEG;AACH,SAAS,WAAW,CAAC,OAAgB,EAAE,GAAiB;IACpD,wCAAwC;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErD,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,4BAA4B;YAC5B,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAC;YACjD,OAAO,SAAqB,CAAC;QACjC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAEnC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACzB,KAAK,EAAE,CAAC,EAAE,wDAAwD;IAElE,WAAW,CAAC,OAAgB,EAAE,GAAiB;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE9C,oCAAoC;QACpC,yCAAyC;QACzC,IAAI,QAAyB,CAAC;QAE9B,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACtB,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,oBAAoB;YACpB,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,8CAA8C;gBAC9C,OAAO,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAyB,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtC,mEAAmE;QACnE,MAAM,WAAW,GAAG,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAyB,CAAC,CAAC;QAClF,yDAAyD;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAc,EAAE,CAClD,CAAC,CAAC,IAAI,KAAK,SAAS,CACvB,CAAC;QAEF,MAAM,MAAM,GAAc;YACtB,IAAI,EAAE,MAAM;YACZ,QAAQ;YACR,WAAW,EAAE,IAAI,EAAE,qBAAqB;YACxC,QAAQ;SACX,CAAC;QAEF,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"AsideHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/AsideHtmlParser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/CodeHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAG9F;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAkC5B,CAAC"}
1
+ {"version":3,"file":"CodeHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/CodeHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAG9F;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAqC5B,CAAC"}
@@ -19,8 +19,12 @@ export const CodeHtmlParser = {
19
19
  value: codeEl ? ctx.getTextContent(codeEl) : ctx.getTextContent(element),
20
20
  children: [],
21
21
  };
22
- // Try to extract language from class
23
- if (codeEl) {
22
+ // Try to extract language from highlight attribute or class
23
+ const highlightAttr = ctx.getAttr(element, 'highlight');
24
+ if (highlightAttr) {
25
+ result.lang = highlightAttr;
26
+ }
27
+ else if (codeEl) {
24
28
  const className = ctx.getAttr(codeEl, 'class') ?? ctx.getAttr(codeEl, 'className');
25
29
  if (className) {
26
30
  const langMatch = className.match(/language-(\S+)/);
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/CodeHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC5C,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,KAAK,EAAE,EAAE;IAET,WAAW,CAAC,OAAgB,EAAE,GAAiB;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/C,+BAA+B;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAK,CAAa,CAAC,OAAO,KAAK,MAAM,CACjF,CAAC;QAEF,MAAM,MAAM,GAAmB;YAC3B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;YACxE,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,qCAAqC;QACrC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnF,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpD,IAAI,SAAS;oBAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"CodeHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/CodeHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC5C,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,KAAK,EAAE,EAAE;IAET,WAAW,CAAC,OAAgB,EAAE,GAAiB;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/C,+BAA+B;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAK,CAAa,CAAC,OAAO,KAAK,MAAM,CACjF,CAAC;QAEF,MAAM,MAAM,GAAmB;YAC3B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;YACxE,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,4DAA4D;QAC5D,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;QAChC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnF,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpD,IAAI,SAAS;oBAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingsHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/HeadingsHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAG9F;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBA8BhC,CAAC"}
1
+ {"version":3,"file":"HeadingsHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/HeadingsHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAG9F;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBA2BhC,CAAC"}
@@ -21,14 +21,13 @@ export const HeadingsHtmlParser = {
21
21
  };
22
22
  const id = ctx.getAttr(element, 'id');
23
23
  const dataCopConcept = ctx.getAttr(element, 'data-cop-concept');
24
- const className = ctx.getAttr(element, 'className') ?? '';
25
- const unnumbered = className.split(/\s+/).some(c => ['unnumbered', 'informative', 'introductory'].includes(c));
24
+ const noToc = ctx.getAttr(element, 'data-no-toc') !== undefined;
26
25
  if (id)
27
26
  result.id = id;
28
27
  if (dataCopConcept)
29
28
  result.dataCopConcept = dataCopConcept;
30
- if (unnumbered)
31
- result.unnumbered = true;
29
+ if (noToc)
30
+ result.noToc = true;
32
31
  if (sourcePos)
33
32
  result.sourcePos = sourcePos;
34
33
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingsHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/HeadingsHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAChD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7C,KAAK,EAAE,EAAE;IAET,WAAW,CAAC,OAAgB,EAAE,GAAiB;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAA0B,CAAC;QAE9F,MAAM,MAAM,GAAiB;YACzB,IAAI,EAAE,SAAS;YACf,KAAK;YACL,QAAQ,EAAE,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC1D,CAAC;QAEF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC5D,CAAC;QAEF,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,IAAI,cAAc;YAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;QAC3D,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QACzC,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"HeadingsHtmlParser.js","sourceRoot":"","sources":["../../../src/parse/html/HeadingsHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAChD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7C,KAAK,EAAE,EAAE;IAET,WAAW,CAAC,OAAgB,EAAE,GAAiB;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAA0B,CAAC;QAE9F,MAAM,MAAM,GAAiB;YACzB,IAAI,EAAE,SAAS;YACf,KAAK;YACL,QAAQ,EAAE,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC1D,CAAC;QAEF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,SAAS,CAAC;QAEhE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,IAAI,cAAc;YAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;QAC3D,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC"}
@@ -2,10 +2,6 @@
2
2
  * IDL HTML Parser
3
3
  *
4
4
  * Parses <pre class="idl"> blocks to extract WebIDL definitions.
5
- * Tokenizes the content to generate a BlockIdl node with Inline children.
6
- * - Definitions (interfaces, members) become InlineDefinition.
7
- * - Types become Reference nodes (to be linked).
8
- * - Keywords/Punctuation become Text nodes.
9
5
  */
10
6
  import type { HtmlParserModule } from '#src/parse/registry';
11
7
  export declare const IdlHtmlParser: HtmlParserModule;
@@ -1 +1 @@
1
- {"version":3,"file":"IdlHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/IdlHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAkB9F,eAAO,MAAM,aAAa,EAAE,gBAkJ3B,CAAC"}
1
+ {"version":3,"file":"IdlHtmlParser.d.ts","sourceRoot":"","sources":["../../../src/parse/html/IdlHtmlParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAK9F,eAAO,MAAM,aAAa,EAAE,gBAyB3B,CAAC"}