@openuji/speculator 0.6.1 → 0.7.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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/parse/__tests__/shorthands.test.js +22 -0
- package/dist/parse/__tests__/shorthands.test.js.map +1 -1
- package/dist/parse/assembler.d.ts.map +1 -1
- package/dist/parse/assembler.js +10 -16
- package/dist/parse/assembler.js.map +1 -1
- package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/CodeHtmlParser.js +1 -0
- package/dist/parse/html/CodeHtmlParser.js.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.js +7 -0
- package/dist/parse/html/HeadingsHtmlParser.js.map +1 -1
- package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/MiscHtmlParser.js +1 -0
- package/dist/parse/html/MiscHtmlParser.js.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.js +3 -0
- package/dist/parse/html/SectionsHtmlParser.js.map +1 -1
- package/dist/parse/html/SpecStatementHtmlParser.d.ts +9 -0
- package/dist/parse/html/SpecStatementHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/SpecStatementHtmlParser.js +52 -0
- package/dist/parse/html/SpecStatementHtmlParser.js.map +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/CodeMarkdownParser.js +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.js +25 -5
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js +5 -20
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js +19 -18
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.js +2 -0
- package/dist/parse/markdown/MiscMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js +23 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -1
- package/dist/parse/normalize.d.ts +22 -0
- package/dist/parse/normalize.d.ts.map +1 -1
- package/dist/parse/normalize.js +36 -0
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/parsers.d.ts +1 -0
- package/dist/parse/parsers.d.ts.map +1 -1
- package/dist/parse/parsers.js +3 -0
- package/dist/parse/parsers.js.map +1 -1
- package/dist/parse/pipeline.d.ts.map +1 -1
- package/dist/parse/pipeline.js +1 -1
- package/dist/parse/pipeline.js.map +1 -1
- package/dist/parse/utils/hast-utils.d.ts +5 -1
- package/dist/parse/utils/hast-utils.d.ts.map +1 -1
- package/dist/parse/utils/hast-utils.js +76 -5
- package/dist/parse/utils/hast-utils.js.map +1 -1
- package/dist/parse/utils/markdown-utils.d.ts +9 -0
- package/dist/parse/utils/markdown-utils.d.ts.map +1 -0
- package/dist/parse/utils/markdown-utils.js +27 -0
- package/dist/parse/utils/markdown-utils.js.map +1 -0
- package/dist/parse/utils/normative.d.ts +31 -0
- package/dist/parse/utils/normative.d.ts.map +1 -0
- package/dist/parse/utils/normative.js +66 -0
- package/dist/parse/utils/normative.js.map +1 -0
- package/dist/pipeline/runner.d.ts +2 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +38 -16
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/types.d.ts +9 -2
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/pipeline/types.js.map +1 -1
- package/dist/pipeline/workspace-index.d.ts +6 -6
- package/dist/pipeline/workspace-index.d.ts.map +1 -1
- package/dist/pipeline/workspace-index.js +26 -47
- package/dist/pipeline/workspace-index.js.map +1 -1
- package/dist/postprocess/__tests__/bibliography.test.d.ts +2 -0
- package/dist/postprocess/__tests__/bibliography.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/bibliography.test.js +104 -0
- package/dist/postprocess/__tests__/bibliography.test.js.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts +2 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.js +61 -0
- package/dist/postprocess/__tests__/conformance.test.js.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts +5 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.js +58 -0
- package/dist/postprocess/__tests__/section-resolve.test.js.map +1 -0
- package/dist/postprocess/index.d.ts +7 -0
- package/dist/postprocess/index.d.ts.map +1 -1
- package/dist/postprocess/index.js +21 -0
- package/dist/postprocess/index.js.map +1 -1
- package/dist/postprocess/plugins/biblio-index.d.ts +9 -0
- package/dist/postprocess/plugins/biblio-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/biblio-index.js +32 -0
- package/dist/postprocess/plugins/biblio-index.js.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts +9 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.js +111 -0
- package/dist/postprocess/plugins/bibliography-generator.js.map +1 -0
- package/dist/postprocess/plugins/citation-index.d.ts +8 -0
- package/dist/postprocess/plugins/citation-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/citation-index.js +42 -0
- package/dist/postprocess/plugins/citation-index.js.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts +9 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js +82 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js.map +1 -0
- package/dist/postprocess/plugins/dfn-index.d.ts.map +1 -1
- package/dist/postprocess/plugins/dfn-index.js +20 -2
- package/dist/postprocess/plugins/dfn-index.js.map +1 -1
- package/dist/postprocess/plugins/jsonld-compute.d.ts +14 -0
- package/dist/postprocess/plugins/jsonld-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/jsonld-compute.js +122 -0
- package/dist/postprocess/plugins/jsonld-compute.js.map +1 -0
- package/dist/postprocess/plugins/section-resolve.d.ts +9 -0
- package/dist/postprocess/plugins/section-resolve.d.ts.map +1 -0
- package/dist/postprocess/plugins/section-resolve.js +35 -0
- package/dist/postprocess/plugins/section-resolve.js.map +1 -0
- package/dist/postprocess/plugins/statement-index.d.ts +11 -0
- package/dist/postprocess/plugins/statement-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/statement-index.js +135 -0
- package/dist/postprocess/plugins/statement-index.js.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts +14 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js +124 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js.map +1 -0
- package/dist/postprocess/plugins/toc.d.ts.map +1 -1
- package/dist/postprocess/plugins/toc.js +14 -7
- package/dist/postprocess/plugins/toc.js.map +1 -1
- package/dist/postprocess/walk-ast.js +1 -1
- package/dist/postprocess/walk-ast.js.map +1 -1
- package/dist/preprocess/config/doc-config.d.ts +1 -1
- package/dist/preprocess/config/doc-config.d.ts.map +1 -1
- package/dist/preprocess/config/doc-config.js +4 -2
- package/dist/preprocess/config/doc-config.js.map +1 -1
- package/dist/preprocess/config/env.d.ts +14 -0
- package/dist/preprocess/config/env.d.ts.map +1 -0
- package/dist/preprocess/config/env.js +22 -0
- package/dist/preprocess/config/env.js.map +1 -0
- package/dist/preprocess/config/loader.d.ts +1 -1
- package/dist/preprocess/config/loader.d.ts.map +1 -1
- package/dist/preprocess/config/loader.js +4 -2
- package/dist/preprocess/config/loader.js.map +1 -1
- package/dist/preprocess/config/normalize.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.js +20 -4
- package/dist/preprocess/config/normalize.js.map +1 -1
- package/dist/preprocess/config/types.d.ts +5 -0
- package/dist/preprocess/config/types.d.ts.map +1 -1
- package/dist/preprocess/index.d.ts +1 -1
- package/dist/preprocess/index.d.ts.map +1 -1
- package/dist/preprocess/pipeline.d.ts +2 -0
- package/dist/preprocess/pipeline.d.ts.map +1 -1
- package/dist/preprocess/pipeline.js +1 -1
- package/dist/preprocess/pipeline.js.map +1 -1
- package/dist/preprocess/types.d.ts +20 -2
- package/dist/preprocess/types.d.ts.map +1 -1
- package/dist/types/ast.generated.d.ts +152 -37
- package/dist/types/ast.generated.d.ts.map +1 -1
- package/dist/types/ast.generated.js +5 -3
- package/dist/types/ast.generated.js.map +1 -1
- package/dist/utils/mapping.d.ts +26 -0
- package/dist/utils/mapping.d.ts.map +1 -0
- package/dist/utils/mapping.js +46 -0
- package/dist/utils/mapping.js.map +1 -0
- package/dist/workspace/builder.d.ts +15 -7
- package/dist/workspace/builder.d.ts.map +1 -1
- package/dist/workspace/builder.js +7 -13
- package/dist/workspace/builder.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/schema/spec-ast.schema.json +247 -20
- package/dist/parse/AsideHtmlParser.d.ts +0 -12
- package/dist/parse/AsideHtmlParser.d.ts.map +0 -1
- package/dist/parse/AsideHtmlParser.js +0 -74
- package/dist/parse/AsideHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.d.ts +0 -11
- package/dist/parse/BlockquoteHtmlParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.js +0 -28
- package/dist/parse/BlockquoteHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.d.ts +0 -11
- package/dist/parse/BlockquoteMarkdownParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.js +0 -26
- package/dist/parse/BlockquoteMarkdownParser.js.map +0 -1
- package/dist/parse/CodeHtmlParser.d.ts +0 -11
- package/dist/parse/CodeHtmlParser.d.ts.map +0 -1
- package/dist/parse/CodeHtmlParser.js +0 -38
- package/dist/parse/CodeHtmlParser.js.map +0 -1
- package/dist/parse/CodeMarkdownParser.d.ts +0 -11
- package/dist/parse/CodeMarkdownParser.d.ts.map +0 -1
- package/dist/parse/CodeMarkdownParser.js +0 -29
- package/dist/parse/CodeMarkdownParser.js.map +0 -1
- package/dist/parse/DfnHtmlParser.d.ts +0 -12
- package/dist/parse/DfnHtmlParser.d.ts.map +0 -1
- package/dist/parse/DfnHtmlParser.js +0 -53
- package/dist/parse/DfnHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsHtmlParser.d.ts +0 -11
- package/dist/parse/HeadingsHtmlParser.d.ts.map +0 -1
- package/dist/parse/HeadingsHtmlParser.js +0 -30
- package/dist/parse/HeadingsHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.d.ts +0 -11
- package/dist/parse/HeadingsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.js +0 -26
- package/dist/parse/HeadingsMarkdownParser.js.map +0 -1
- package/dist/parse/InlinesHtmlParser.d.ts +0 -12
- package/dist/parse/InlinesHtmlParser.d.ts.map +0 -1
- package/dist/parse/InlinesHtmlParser.js +0 -150
- package/dist/parse/InlinesHtmlParser.js.map +0 -1
- package/dist/parse/InlinesMarkdownParser.d.ts +0 -11
- package/dist/parse/InlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/InlinesMarkdownParser.js +0 -91
- package/dist/parse/InlinesMarkdownParser.js.map +0 -1
- package/dist/parse/ListsHtmlParser.d.ts +0 -11
- package/dist/parse/ListsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ListsHtmlParser.js +0 -71
- package/dist/parse/ListsHtmlParser.js.map +0 -1
- package/dist/parse/ListsMarkdownParser.d.ts +0 -11
- package/dist/parse/ListsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ListsMarkdownParser.js +0 -46
- package/dist/parse/ListsMarkdownParser.js.map +0 -1
- package/dist/parse/MiscHtmlParser.d.ts +0 -12
- package/dist/parse/MiscHtmlParser.d.ts.map +0 -1
- package/dist/parse/MiscHtmlParser.js +0 -85
- package/dist/parse/MiscHtmlParser.js.map +0 -1
- package/dist/parse/MiscMarkdownParser.d.ts +0 -11
- package/dist/parse/MiscMarkdownParser.d.ts.map +0 -1
- package/dist/parse/MiscMarkdownParser.js +0 -38
- package/dist/parse/MiscMarkdownParser.js.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.d.ts +0 -11
- package/dist/parse/ParagraphsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.js +0 -30
- package/dist/parse/ParagraphsHtmlParser.js.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.d.ts +0 -11
- package/dist/parse/ParagraphsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.js +0 -25
- package/dist/parse/ParagraphsMarkdownParser.js.map +0 -1
- package/dist/parse/SectionsHtmlParser.d.ts +0 -12
- package/dist/parse/SectionsHtmlParser.d.ts.map +0 -1
- package/dist/parse/SectionsHtmlParser.js +0 -58
- package/dist/parse/SectionsHtmlParser.js.map +0 -1
- package/dist/parse/TablesHtmlParser.d.ts +0 -11
- package/dist/parse/TablesHtmlParser.d.ts.map +0 -1
- package/dist/parse/TablesHtmlParser.js +0 -81
- package/dist/parse/TablesHtmlParser.js.map +0 -1
- package/dist/parse/TablesMarkdownParser.d.ts +0 -11
- package/dist/parse/TablesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/TablesMarkdownParser.js +0 -56
- package/dist/parse/TablesMarkdownParser.js.map +0 -1
- package/dist/parse/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/XrefHtmlParser.js +0 -124
- package/dist/parse/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/html/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/html/XrefHtmlParser.js +0 -125
- package/dist/parse/html/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/handlers/blockquote.d.ts +0 -9
- package/dist/parse/html/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/html/handlers/blockquote.js +0 -21
- package/dist/parse/html/handlers/blockquote.js.map +0 -1
- package/dist/parse/html/handlers/code.d.ts +0 -9
- package/dist/parse/html/handlers/code.d.ts.map +0 -1
- package/dist/parse/html/handlers/code.js +0 -31
- package/dist/parse/html/handlers/code.js.map +0 -1
- package/dist/parse/html/handlers/containers.d.ts +0 -16
- package/dist/parse/html/handlers/containers.d.ts.map +0 -1
- package/dist/parse/html/handlers/containers.js +0 -25
- package/dist/parse/html/handlers/containers.js.map +0 -1
- package/dist/parse/html/handlers/heading.d.ts +0 -9
- package/dist/parse/html/handlers/heading.d.ts.map +0 -1
- package/dist/parse/html/handlers/heading.js +0 -26
- package/dist/parse/html/handlers/heading.js.map +0 -1
- package/dist/parse/html/handlers/index.d.ts +0 -23
- package/dist/parse/html/handlers/index.d.ts.map +0 -1
- package/dist/parse/html/handlers/index.js +0 -47
- package/dist/parse/html/handlers/index.js.map +0 -1
- package/dist/parse/html/handlers/inline.d.ts +0 -35
- package/dist/parse/html/handlers/inline.d.ts.map +0 -1
- package/dist/parse/html/handlers/inline.js +0 -119
- package/dist/parse/html/handlers/inline.js.map +0 -1
- package/dist/parse/html/handlers/list.d.ts +0 -9
- package/dist/parse/html/handlers/list.d.ts.map +0 -1
- package/dist/parse/html/handlers/list.js +0 -63
- package/dist/parse/html/handlers/list.js.map +0 -1
- package/dist/parse/html/handlers/paragraph.d.ts +0 -9
- package/dist/parse/html/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/html/handlers/paragraph.js +0 -20
- package/dist/parse/html/handlers/paragraph.js.map +0 -1
- package/dist/parse/html/handlers/section.d.ts +0 -9
- package/dist/parse/html/handlers/section.d.ts.map +0 -1
- package/dist/parse/html/handlers/section.js +0 -53
- package/dist/parse/html/handlers/section.js.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts +0 -12
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js +0 -187
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.d.ts +0 -9
- package/dist/parse/markdown/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.js +0 -22
- package/dist/parse/markdown/handlers/blockquote.js.map +0 -1
- package/dist/parse/markdown/handlers/code.d.ts +0 -9
- package/dist/parse/markdown/handlers/code.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/code.js +0 -25
- package/dist/parse/markdown/handlers/code.js.map +0 -1
- package/dist/parse/markdown/handlers/heading.d.ts +0 -9
- package/dist/parse/markdown/handlers/heading.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/heading.js +0 -22
- package/dist/parse/markdown/handlers/heading.js.map +0 -1
- package/dist/parse/markdown/handlers/index.d.ts +0 -23
- package/dist/parse/markdown/handlers/index.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/index.js +0 -47
- package/dist/parse/markdown/handlers/index.js.map +0 -1
- package/dist/parse/markdown/handlers/inline.d.ts +0 -35
- package/dist/parse/markdown/handlers/inline.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/inline.js +0 -126
- package/dist/parse/markdown/handlers/inline.js.map +0 -1
- package/dist/parse/markdown/handlers/list.d.ts +0 -9
- package/dist/parse/markdown/handlers/list.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/list.js +0 -42
- package/dist/parse/markdown/handlers/list.js.map +0 -1
- package/dist/parse/markdown/handlers/misc.d.ts +0 -15
- package/dist/parse/markdown/handlers/misc.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/misc.js +0 -38
- package/dist/parse/markdown/handlers/misc.js.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.d.ts +0 -9
- package/dist/parse/markdown/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.js +0 -21
- package/dist/parse/markdown/handlers/paragraph.js.map +0 -1
- package/dist/parse/markdown/handlers/table.d.ts +0 -9
- package/dist/parse/markdown/handlers/table.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/table.js +0 -52
- package/dist/parse/markdown/handlers/table.js.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/plugins/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.js +0 -89
- package/dist/plugins/__tests__/citation-transform.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.js +0 -65
- package/dist/plugins/__tests__/dfn-parsing.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts +0 -5
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.js +0 -152
- package/dist/plugins/__tests__/dfn-resolve.test.js.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/xref-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.js +0 -66
- package/dist/plugins/__tests__/xref-parsing.test.js.map +0 -1
- package/dist/plugins/aside.d.ts +0 -12
- package/dist/plugins/aside.d.ts.map +0 -1
- package/dist/plugins/aside.js +0 -78
- package/dist/plugins/aside.js.map +0 -1
- package/dist/plugins/blockquote.d.ts +0 -11
- package/dist/plugins/blockquote.d.ts.map +0 -1
- package/dist/plugins/blockquote.js +0 -47
- package/dist/plugins/blockquote.js.map +0 -1
- package/dist/plugins/citation-transform.d.ts +0 -19
- package/dist/plugins/citation-transform.d.ts.map +0 -1
- package/dist/plugins/citation-transform.js +0 -176
- package/dist/plugins/citation-transform.js.map +0 -1
- package/dist/plugins/citation.d.ts +0 -21
- package/dist/plugins/citation.d.ts.map +0 -1
- package/dist/plugins/citation.js +0 -131
- package/dist/plugins/citation.js.map +0 -1
- package/dist/plugins/code.d.ts +0 -11
- package/dist/plugins/code.d.ts.map +0 -1
- package/dist/plugins/code.js +0 -60
- package/dist/plugins/code.js.map +0 -1
- package/dist/plugins/core-html.d.ts +0 -27
- package/dist/plugins/core-html.d.ts.map +0 -1
- package/dist/plugins/core-html.js +0 -53
- package/dist/plugins/core-html.js.map +0 -1
- package/dist/plugins/core-markdown.d.ts +0 -26
- package/dist/plugins/core-markdown.d.ts.map +0 -1
- package/dist/plugins/core-markdown.js +0 -55
- package/dist/plugins/core-markdown.js.map +0 -1
- package/dist/plugins/data-cite.d.ts +0 -12
- package/dist/plugins/data-cite.d.ts.map +0 -1
- package/dist/plugins/data-cite.js +0 -50
- package/dist/plugins/data-cite.js.map +0 -1
- package/dist/plugins/dfn-resolve.d.ts +0 -15
- package/dist/plugins/dfn-resolve.d.ts.map +0 -1
- package/dist/plugins/dfn-resolve.js +0 -257
- package/dist/plugins/dfn-resolve.js.map +0 -1
- package/dist/plugins/dfn.d.ts +0 -12
- package/dist/plugins/dfn.d.ts.map +0 -1
- package/dist/plugins/dfn.js +0 -57
- package/dist/plugins/dfn.js.map +0 -1
- package/dist/plugins/directives.d.ts +0 -8
- package/dist/plugins/directives.d.ts.map +0 -1
- package/dist/plugins/directives.js +0 -34
- package/dist/plugins/directives.js.map +0 -1
- package/dist/plugins/heading.d.ts +0 -11
- package/dist/plugins/heading.d.ts.map +0 -1
- package/dist/plugins/heading.js +0 -49
- package/dist/plugins/heading.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -12
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -26
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/inline.d.ts +0 -12
- package/dist/plugins/inline.d.ts.map +0 -1
- package/dist/plugins/inline.js +0 -234
- package/dist/plugins/inline.js.map +0 -1
- package/dist/plugins/list.d.ts +0 -11
- package/dist/plugins/list.d.ts.map +0 -1
- package/dist/plugins/list.js +0 -110
- package/dist/plugins/list.js.map +0 -1
- package/dist/plugins/misc.d.ts +0 -12
- package/dist/plugins/misc.d.ts.map +0 -1
- package/dist/plugins/misc.js +0 -116
- package/dist/plugins/misc.js.map +0 -1
- package/dist/plugins/paragraph.d.ts +0 -11
- package/dist/plugins/paragraph.d.ts.map +0 -1
- package/dist/plugins/paragraph.js +0 -48
- package/dist/plugins/paragraph.js.map +0 -1
- package/dist/plugins/section.d.ts +0 -12
- package/dist/plugins/section.d.ts.map +0 -1
- package/dist/plugins/section.js +0 -62
- package/dist/plugins/section.js.map +0 -1
- package/dist/plugins/table.d.ts +0 -11
- package/dist/plugins/table.d.ts.map +0 -1
- package/dist/plugins/table.js +0 -130
- package/dist/plugins/table.js.map +0 -1
- package/dist/plugins/xref.d.ts +0 -12
- package/dist/plugins/xref.d.ts.map +0 -1
- package/dist/plugins/xref.js +0 -92
- package/dist/plugins/xref.js.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/postprocess/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.js +0 -89
- package/dist/postprocess/__tests__/citation-transform.test.js.map +0 -1
- package/dist/postprocess/citation-transform.d.ts +0 -19
- package/dist/postprocess/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/citation-transform.js +0 -176
- package/dist/postprocess/citation-transform.js.map +0 -1
- package/dist/postprocess/dfn-index.d.ts +0 -16
- package/dist/postprocess/dfn-index.d.ts.map +0 -1
- package/dist/postprocess/dfn-index.js +0 -72
- package/dist/postprocess/dfn-index.js.map +0 -1
- package/dist/postprocess/dfn-resolve.d.ts +0 -15
- package/dist/postprocess/dfn-resolve.d.ts.map +0 -1
- package/dist/postprocess/dfn-resolve.js +0 -257
- package/dist/postprocess/dfn-resolve.js.map +0 -1
- package/dist/postprocess/plugins/citation-transform.d.ts +0 -19
- package/dist/postprocess/plugins/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/plugins/citation-transform.js +0 -179
- package/dist/postprocess/plugins/citation-transform.js.map +0 -1
- package/dist/postprocess/plugins/walk-ast.d.ts +0 -38
- package/dist/postprocess/plugins/walk-ast.d.ts.map +0 -1
- package/dist/postprocess/plugins/walk-ast.js +0 -92
- package/dist/postprocess/plugins/walk-ast.js.map +0 -1
- package/dist/postprocess/reference-resolve.d.ts +0 -19
- package/dist/postprocess/reference-resolve.d.ts.map +0 -1
- package/dist/postprocess/reference-resolve.js +0 -105
- package/dist/postprocess/reference-resolve.js.map +0 -1
|
@@ -7,14 +7,21 @@
|
|
|
7
7
|
* Note: Parsing logic has been moved to dedicated parser modules in src/parse/.
|
|
8
8
|
*/
|
|
9
9
|
// Transform plugins
|
|
10
|
+
export { conformanceBoilerplatePlugin } from './plugins/conformance-boilerplate.js';
|
|
10
11
|
// Index plugins
|
|
11
12
|
export { sectionIdPlugin } from './plugins/section-id.js';
|
|
12
13
|
export { dfnIndexPlugin } from './plugins/dfn-index.js';
|
|
14
|
+
export { biblioIndexPlugin } from './plugins/biblio-index.js';
|
|
15
|
+
export { citationIndexPlugin } from './plugins/citation-index.js';
|
|
16
|
+
export { statementIndexPlugin } from './plugins/statement-index.js';
|
|
13
17
|
// Resolve plugins
|
|
14
18
|
export { referenceResolvePlugin } from './plugins/reference-resolve.js';
|
|
15
19
|
export { citationResolvePlugin } from './plugins/citation-resolve.js';
|
|
16
20
|
// Compute plugins
|
|
21
|
+
export { bibliographyGeneratorPlugin } from './plugins/bibliography-generator.js';
|
|
17
22
|
export { tocPlugin } from './plugins/toc.js';
|
|
23
|
+
export { sectionResolvePlugin } from './plugins/section-resolve.js';
|
|
24
|
+
export { statementsJsonLdComputePlugin } from './plugins/statementsJsonLd-compute.js';
|
|
18
25
|
// Utilities
|
|
19
26
|
export { walkDocument } from './walk-ast.js';
|
|
20
27
|
/**
|
|
@@ -22,20 +29,34 @@ export { walkDocument } from './walk-ast.js';
|
|
|
22
29
|
*
|
|
23
30
|
* Phase execution order: transform → index → resolve → compute → render
|
|
24
31
|
*/
|
|
32
|
+
import { conformanceBoilerplatePlugin } from './plugins/conformance-boilerplate.js';
|
|
25
33
|
import { sectionIdPlugin } from './plugins/section-id.js';
|
|
26
34
|
import { dfnIndexPlugin } from './plugins/dfn-index.js';
|
|
35
|
+
import { biblioIndexPlugin } from './plugins/biblio-index.js';
|
|
36
|
+
import { citationIndexPlugin } from './plugins/citation-index.js';
|
|
37
|
+
import { statementIndexPlugin } from './plugins/statement-index.js';
|
|
27
38
|
import { referenceResolvePlugin } from './plugins/reference-resolve.js';
|
|
28
39
|
import { citationResolvePlugin } from './plugins/citation-resolve.js';
|
|
40
|
+
import { bibliographyGeneratorPlugin } from './plugins/bibliography-generator.js';
|
|
29
41
|
import { tocPlugin } from './plugins/toc.js';
|
|
42
|
+
import { sectionResolvePlugin } from './plugins/section-resolve.js';
|
|
43
|
+
import { statementsJsonLdComputePlugin } from './plugins/statementsJsonLd-compute.js';
|
|
30
44
|
export const corePlugins = [
|
|
31
45
|
// Transform plugins
|
|
46
|
+
conformanceBoilerplatePlugin, // order: { transform: 20 }
|
|
32
47
|
// Index plugins
|
|
33
48
|
sectionIdPlugin, // order: { index: 5 }
|
|
34
49
|
dfnIndexPlugin, // order: { index: 10 }
|
|
50
|
+
biblioIndexPlugin, // order: { index: 1 }
|
|
51
|
+
citationIndexPlugin, // order: { index: 12 }
|
|
52
|
+
statementIndexPlugin, // order: { index: 15 }
|
|
35
53
|
// Resolve plugins
|
|
36
54
|
referenceResolvePlugin, // order: { resolve: 10 }
|
|
37
55
|
citationResolvePlugin, // order: { resolve: 15 }
|
|
38
56
|
// Compute plugins
|
|
57
|
+
bibliographyGeneratorPlugin, // order: { compute: 5 }
|
|
39
58
|
tocPlugin, // order: { compute: 10 }
|
|
59
|
+
sectionResolvePlugin, // order: { compute: 20 }
|
|
60
|
+
statementsJsonLdComputePlugin, // order: { compute: 25 }
|
|
40
61
|
];
|
|
41
62
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postprocess/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAoB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postprocess/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAoB;AACpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,kBAAkB;AAClB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,YAAY;AACZ,OAAO,EAAE,YAAY,EAAmB,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,oBAAoB;IACpB,4BAA4B,EAAE,2BAA2B;IACzD,gBAAgB;IAChB,eAAe,EAAa,sBAAsB;IAClD,cAAc,EAAc,uBAAuB;IACnD,iBAAiB,EAAW,sBAAsB;IAClD,mBAAmB,EAAS,uBAAuB;IACnD,oBAAoB,EAAQ,uBAAuB;IACnD,kBAAkB;IAClB,sBAAsB,EAAM,yBAAyB;IACrD,qBAAqB,EAAO,yBAAyB;IACrD,kBAAkB;IAClB,2BAA2B,EAAE,wBAAwB;IACrD,SAAS,EAAmB,yBAAyB;IACrD,oBAAoB,EAAQ,yBAAyB;IACrD,6BAA6B,EAAE,yBAAyB;CAC3D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bibliography Index Plugin
|
|
3
|
+
*
|
|
4
|
+
* Aggregates local bibliography entries from spec configuration into the global index.
|
|
5
|
+
* This runs during the INDEX phase for each document.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
8
|
+
export declare const biblioIndexPlugin: Plugin;
|
|
9
|
+
//# sourceMappingURL=biblio-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biblio-index.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/biblio-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAEhE,eAAO,MAAM,iBAAiB,EAAE,MA4B/B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bibliography Index Plugin
|
|
3
|
+
*
|
|
4
|
+
* Aggregates local bibliography entries from spec configuration into the global index.
|
|
5
|
+
* This runs during the INDEX phase for each document.
|
|
6
|
+
*/
|
|
7
|
+
export const biblioIndexPlugin = {
|
|
8
|
+
name: 'biblio-index',
|
|
9
|
+
order: { index: 1 }, // Run early in the index phase
|
|
10
|
+
async index(ctx) {
|
|
11
|
+
const { config, workspace } = ctx;
|
|
12
|
+
if (!workspace || !config.localBiblio) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const globalBiblio = workspace.globalIndex.bibliography;
|
|
16
|
+
for (const [key, entry] of Object.entries(config.localBiblio)) {
|
|
17
|
+
if (!globalBiblio.has(key)) {
|
|
18
|
+
globalBiblio.set(key, {
|
|
19
|
+
key,
|
|
20
|
+
title: entry.title,
|
|
21
|
+
url: entry.url,
|
|
22
|
+
authors: entry.authors,
|
|
23
|
+
date: entry.date,
|
|
24
|
+
publisher: entry.publisher,
|
|
25
|
+
status: entry.status,
|
|
26
|
+
raw: entry.raw,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=biblio-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biblio-index.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/biblio-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAW;IACrC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,+BAA+B;IAEpD,KAAK,CAAC,KAAK,CAAC,GAAiB;QACzB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAElC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAExD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClB,GAAG;oBACH,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,GAAG,EAAE,KAAK,CAAC,GAAG;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bibliography Generator Plugin
|
|
3
|
+
*
|
|
4
|
+
* Generates "Normative References" and "Informative References" sections
|
|
5
|
+
* based on collected citations and bibliography data.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
8
|
+
export declare const bibliographyGeneratorPlugin: Plugin;
|
|
9
|
+
//# sourceMappingURL=bibliography-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography-generator.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/bibliography-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AA2DlE,eAAO,MAAM,2BAA2B,EAAE,MAqEzC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bibliography Generator Plugin
|
|
3
|
+
*
|
|
4
|
+
* Generates "Normative References" and "Informative References" sections
|
|
5
|
+
* based on collected citations and bibliography data.
|
|
6
|
+
*/
|
|
7
|
+
function generateBiblioHtml(entry) {
|
|
8
|
+
const authors = entry.authors?.map(a => `<span class="person-name">${a}</span>`).join(', ') || '';
|
|
9
|
+
const date = entry.date ? `, ${entry.date}` : '';
|
|
10
|
+
const status = entry.status ? `, ${entry.status}` : '';
|
|
11
|
+
const publisher = entry.publisher ? `. ${entry.publisher}` : '';
|
|
12
|
+
// Construct the DD content
|
|
13
|
+
let ddContent = '';
|
|
14
|
+
if (entry.title) {
|
|
15
|
+
ddContent += `<cite><a href="${entry.url || '#'}">${entry.title}</a></cite>`;
|
|
16
|
+
}
|
|
17
|
+
if (authors) {
|
|
18
|
+
ddContent += `. ${authors}`;
|
|
19
|
+
}
|
|
20
|
+
ddContent += date;
|
|
21
|
+
ddContent += status;
|
|
22
|
+
ddContent += publisher;
|
|
23
|
+
ddContent += '.';
|
|
24
|
+
if (entry.url) {
|
|
25
|
+
ddContent += ` <a href="${entry.url}" class="bib-url">${entry.url}</a>`;
|
|
26
|
+
}
|
|
27
|
+
// Use raw fallback if available and we didn't build much
|
|
28
|
+
if (entry.raw && !entry.title) {
|
|
29
|
+
ddContent = entry.raw;
|
|
30
|
+
}
|
|
31
|
+
return `<dt id="bib-${entry.key}">[${entry.key}]</dt><dd>${ddContent}</dd>`;
|
|
32
|
+
}
|
|
33
|
+
function createReferenceSection(title, id, citations, biblioMap) {
|
|
34
|
+
if (citations.length === 0)
|
|
35
|
+
return null;
|
|
36
|
+
const dlContent = citations.map(key => {
|
|
37
|
+
const entry = biblioMap.get(key) || { key, title: key, url: '' }; // Fallback
|
|
38
|
+
return generateBiblioHtml(entry);
|
|
39
|
+
}).join('\n');
|
|
40
|
+
return {
|
|
41
|
+
type: 'section',
|
|
42
|
+
id,
|
|
43
|
+
heading: {
|
|
44
|
+
type: 'heading',
|
|
45
|
+
depth: 3,
|
|
46
|
+
children: [{ type: 'text', value: title }]
|
|
47
|
+
},
|
|
48
|
+
children: [
|
|
49
|
+
{
|
|
50
|
+
type: 'html',
|
|
51
|
+
value: `<dl class="bibliography">${dlContent}</dl>`,
|
|
52
|
+
children: [],
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export const bibliographyGeneratorPlugin = {
|
|
58
|
+
name: 'bibliography-generator',
|
|
59
|
+
order: { compute: 5 }, // Before TOC
|
|
60
|
+
async compute(ctx) {
|
|
61
|
+
const { workspace, document } = ctx;
|
|
62
|
+
if (!workspace || !workspace.globalIndex?.bibliography)
|
|
63
|
+
return;
|
|
64
|
+
// 1. Identify citations relevant to this document
|
|
65
|
+
const docCitations = document.indexes?.citations || [];
|
|
66
|
+
if (docCitations.length === 0)
|
|
67
|
+
return;
|
|
68
|
+
// 2. Resolve entries
|
|
69
|
+
const biblioMap = new Map();
|
|
70
|
+
workspace.globalIndex.bibliography.forEach(entry => biblioMap.set(entry.key, entry));
|
|
71
|
+
// 3. Group by kind
|
|
72
|
+
const normativeKeys = new Set();
|
|
73
|
+
const informativeKeys = new Set();
|
|
74
|
+
docCitations.forEach(cite => {
|
|
75
|
+
if (cite.kind === 'normative') {
|
|
76
|
+
normativeKeys.add(cite.key);
|
|
77
|
+
informativeKeys.delete(cite.key); // Normative wins if mixed? Usually yes.
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (!normativeKeys.has(cite.key)) {
|
|
81
|
+
informativeKeys.add(cite.key);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// Ensure RFC2199/RFC8174 are treated as normative if they were injected
|
|
86
|
+
// (They might be in docCitations if index ran after transform)
|
|
87
|
+
const normativeSection = createReferenceSection('Normative References', 'bibliography-generator-normative-references', Array.from(normativeKeys).sort(), biblioMap);
|
|
88
|
+
const informativeSection = createReferenceSection('Informative References', 'bibliography-generator-informative-references', Array.from(informativeKeys).sort(), biblioMap);
|
|
89
|
+
if (!normativeSection && !informativeSection)
|
|
90
|
+
return;
|
|
91
|
+
// 4. Create wrapper section
|
|
92
|
+
const wrapperSection = {
|
|
93
|
+
type: 'section',
|
|
94
|
+
unnumbered: true,
|
|
95
|
+
id: 'references',
|
|
96
|
+
heading: {
|
|
97
|
+
type: 'heading',
|
|
98
|
+
depth: 2,
|
|
99
|
+
children: [{ type: 'text', value: 'References' }]
|
|
100
|
+
},
|
|
101
|
+
children: []
|
|
102
|
+
};
|
|
103
|
+
if (normativeSection)
|
|
104
|
+
wrapperSection.children.push(normativeSection);
|
|
105
|
+
if (informativeSection)
|
|
106
|
+
wrapperSection.children.push(informativeSection);
|
|
107
|
+
// 5. Append to document
|
|
108
|
+
document.children.push(wrapperSection);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=bibliography-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography-generator.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/bibliography-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Citation Index Plugin
|
|
3
|
+
*
|
|
4
|
+
* Indexes all citations (cite) in the document into document.indexes.citations.
|
|
5
|
+
*/
|
|
6
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
7
|
+
export declare const citationIndexPlugin: Plugin;
|
|
8
|
+
//# sourceMappingURL=citation-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-index.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/citation-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAqChE,eAAO,MAAM,mBAAmB,EAAE,MAOjC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Citation Index Plugin
|
|
3
|
+
*
|
|
4
|
+
* Indexes all citations (cite) in the document into document.indexes.citations.
|
|
5
|
+
*/
|
|
6
|
+
import { walkDocument } from '../walk-ast.js';
|
|
7
|
+
function buildCitationIndex(document) {
|
|
8
|
+
if (!document.indexes) {
|
|
9
|
+
document.indexes = {};
|
|
10
|
+
}
|
|
11
|
+
if (!document.indexes.citations) {
|
|
12
|
+
document.indexes.citations = [];
|
|
13
|
+
}
|
|
14
|
+
const citationIndex = document.indexes.citations;
|
|
15
|
+
walkDocument(document, {
|
|
16
|
+
visitInline: (inline) => {
|
|
17
|
+
if (inline.type === 'cite') {
|
|
18
|
+
const cite = inline;
|
|
19
|
+
const entry = {
|
|
20
|
+
key: cite.key,
|
|
21
|
+
kind: cite.forcedNormative ? 'normative' :
|
|
22
|
+
cite.forcedInformative ? 'informative' :
|
|
23
|
+
'informative', // Default to informative if unknown? Or logic based on section?
|
|
24
|
+
sourcePos: cite.sourcePos || { file: document.sourcePos?.file || 'unknown', line: 0, column: 0 }
|
|
25
|
+
};
|
|
26
|
+
// Fallback for missing file
|
|
27
|
+
if (entry.sourcePos && !entry.sourcePos.file) {
|
|
28
|
+
entry.sourcePos.file = document.sourcePos?.file || 'unknown';
|
|
29
|
+
}
|
|
30
|
+
citationIndex.push(entry);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export const citationIndexPlugin = {
|
|
36
|
+
name: 'citation-index',
|
|
37
|
+
order: { index: 12 }, // Run after standard indexing
|
|
38
|
+
async index(ctx) {
|
|
39
|
+
buildCitationIndex(ctx.document);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=citation-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-index.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/citation-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,kBAAkB,CAAC,QAAkB;IAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;IAEjD,YAAY,CAAC,QAAQ,EAAE;QACnB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAoB,CAAC;gBAElC,MAAM,KAAK,GAAmB;oBAC1B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBACpC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;4BACxC,aAAa,EAAE,gEAAgE;oBACrF,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACnG,CAAC;gBAEF,4BAA4B;gBAC5B,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC3C,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,SAAS,CAAC;gBACjE,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAW;IACvC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,8BAA8B;IAEpD,KAAK,CAAC,KAAK,CAAC,GAAiB;QACzB,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conformance Boilerplate Plugin
|
|
3
|
+
*
|
|
4
|
+
* Injects the standard Conformance section if it doesn't exist.
|
|
5
|
+
* Ensures normative references to RFC2119 and RFC8174 are present.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
8
|
+
export declare const conformanceBoilerplatePlugin: Plugin;
|
|
9
|
+
//# sourceMappingURL=conformance-boilerplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance-boilerplate.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/conformance-boilerplate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAiEpE,eAAO,MAAM,4BAA4B,EAAE,MAoB1C,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conformance Boilerplate Plugin
|
|
3
|
+
*
|
|
4
|
+
* Injects the standard Conformance section if it doesn't exist.
|
|
5
|
+
* Ensures normative references to RFC2119 and RFC8174 are present.
|
|
6
|
+
*/
|
|
7
|
+
const RFC2119_KEY = 'RFC2119';
|
|
8
|
+
const RFC8174_KEY = 'RFC8174';
|
|
9
|
+
function createConformanceSection(depth = 2) {
|
|
10
|
+
return {
|
|
11
|
+
type: 'section',
|
|
12
|
+
unnumbered: true,
|
|
13
|
+
id: 'conformance',
|
|
14
|
+
heading: {
|
|
15
|
+
type: 'heading',
|
|
16
|
+
depth: depth,
|
|
17
|
+
children: [{ type: 'text', value: 'Conformance' }]
|
|
18
|
+
},
|
|
19
|
+
children: [
|
|
20
|
+
{
|
|
21
|
+
type: 'paragraph',
|
|
22
|
+
children: [
|
|
23
|
+
{ type: 'text', value: 'As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.' }
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'paragraph',
|
|
28
|
+
children: [
|
|
29
|
+
{ type: 'text', value: 'The key words ' },
|
|
30
|
+
{ type: 'requirement', keyword: 'MAY' },
|
|
31
|
+
{ type: 'text', value: ', ' },
|
|
32
|
+
{ type: 'requirement', keyword: 'MUST' },
|
|
33
|
+
{ type: 'text', value: ', ' },
|
|
34
|
+
{ type: 'requirement', keyword: 'MUST NOT' },
|
|
35
|
+
{ type: 'text', value: ', ' },
|
|
36
|
+
{ type: 'requirement', keyword: 'OPTIONAL' },
|
|
37
|
+
{ type: 'text', value: ', ' },
|
|
38
|
+
{ type: 'requirement', keyword: 'RECOMMENDED' },
|
|
39
|
+
{ type: 'text', value: ', ' },
|
|
40
|
+
{ type: 'requirement', keyword: 'REQUIRED' },
|
|
41
|
+
{ type: 'text', value: ', ' },
|
|
42
|
+
{ type: 'requirement', keyword: 'SHALL' },
|
|
43
|
+
{ type: 'text', value: ', ' },
|
|
44
|
+
{ type: 'requirement', keyword: 'SHALL NOT' },
|
|
45
|
+
{ type: 'text', value: ', ' },
|
|
46
|
+
{ type: 'requirement', keyword: 'SHOULD' },
|
|
47
|
+
{ type: 'text', value: ', and ' },
|
|
48
|
+
{ type: 'requirement', keyword: 'SHOULD NOT' },
|
|
49
|
+
{ type: 'text', value: ' in this document are to be interpreted as described in ' },
|
|
50
|
+
{
|
|
51
|
+
type: 'cite',
|
|
52
|
+
key: RFC2119_KEY,
|
|
53
|
+
forcedNormative: true
|
|
54
|
+
},
|
|
55
|
+
{ type: 'text', value: ' and ' },
|
|
56
|
+
{
|
|
57
|
+
type: 'cite',
|
|
58
|
+
key: RFC8174_KEY,
|
|
59
|
+
forcedNormative: true
|
|
60
|
+
},
|
|
61
|
+
{ type: 'text', value: ' when, and only when, they appear in all capitals, as shown here.' }
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export const conformanceBoilerplatePlugin = {
|
|
68
|
+
name: 'conformance-boilerplate',
|
|
69
|
+
order: { transform: 20 }, // Run after standard compilation but before indexing
|
|
70
|
+
async transform(ctx) {
|
|
71
|
+
const { document } = ctx;
|
|
72
|
+
if (document.metadata?.noConformance)
|
|
73
|
+
return;
|
|
74
|
+
// 1. Check if compliance section exists
|
|
75
|
+
const hasConformance = document.children.some(node => node.type === 'section' && (node.id === 'conformance' || node.id === 'conformance-requirements'));
|
|
76
|
+
if (hasConformance || document.metadata?.noConformance)
|
|
77
|
+
return;
|
|
78
|
+
const conformanceSection = createConformanceSection();
|
|
79
|
+
document.children.unshift(conformanceSection);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=conformance-boilerplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance-boilerplate.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/conformance-boilerplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dfn-index.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/dfn-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dfn-index.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/dfn-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAyEhE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MA2B5B,CAAC"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* 2. Generate IDs for definitions without explicit IDs
|
|
9
9
|
* 3. Build index entries with term, linkTexts, forContexts, dfnType
|
|
10
10
|
*/
|
|
11
|
-
import { walkDocument } from '
|
|
11
|
+
import { walkDocument } from '#src/postprocess/walk-ast';
|
|
12
|
+
import { normalizeTerm } from '#src/parse/normalize';
|
|
12
13
|
/**
|
|
13
14
|
* Generate a unique ID for a definition if not already set
|
|
14
15
|
*/
|
|
@@ -63,6 +64,7 @@ function buildDefinitionIndex(document) {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
});
|
|
67
|
+
return definitionIndex;
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
70
|
* Definition index plugin
|
|
@@ -71,7 +73,23 @@ export const dfnIndexPlugin = {
|
|
|
71
73
|
name: 'dfn-index',
|
|
72
74
|
order: { index: 10 },
|
|
73
75
|
async index(ctx) {
|
|
74
|
-
buildDefinitionIndex(ctx.document);
|
|
76
|
+
const definitions = buildDefinitionIndex(ctx.document);
|
|
77
|
+
// Perform global aggregation if workspace is available
|
|
78
|
+
if (ctx.workspace) {
|
|
79
|
+
const globalDefinitions = ctx.workspace.globalIndex.definitions;
|
|
80
|
+
for (const entry of definitions) {
|
|
81
|
+
const linkTexts = entry.linkTexts || [entry.term];
|
|
82
|
+
// Add primary term and all aliases to definitions lookup
|
|
83
|
+
const termsToProcess = new Set([entry.term, ...linkTexts]);
|
|
84
|
+
for (const term of termsToProcess) {
|
|
85
|
+
const key = normalizeTerm(term);
|
|
86
|
+
const existing = globalDefinitions.get(key) || [];
|
|
87
|
+
// Add entry to definitions
|
|
88
|
+
existing.push(entry);
|
|
89
|
+
globalDefinitions.set(key, existing);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
75
93
|
},
|
|
76
94
|
};
|
|
77
95
|
//# sourceMappingURL=dfn-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dfn-index.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/dfn-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dfn-index.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/dfn-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-LD Compute Plugin
|
|
3
|
+
*
|
|
4
|
+
* Harvests document metadata and specification statements into a JSON-LD object.
|
|
5
|
+
* The result is stored in document.computed.statementsJsonLd.
|
|
6
|
+
*
|
|
7
|
+
* Conforms to Spec Terms vocabulary: http://www.w3.org/ns/spec#
|
|
8
|
+
*/
|
|
9
|
+
import type { Plugin } from '#src/pipeline/types.js';
|
|
10
|
+
/**
|
|
11
|
+
* JSON-LD Compute Plugin
|
|
12
|
+
*/
|
|
13
|
+
export declare const jsonldComputePlugin: Plugin;
|
|
14
|
+
//# sourceMappingURL=jsonld-compute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonld-compute.d.ts","sourceRoot":"","sources":["../../../src/postprocess/plugins/jsonld-compute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAsDrE;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MA0EjC,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-LD Compute Plugin
|
|
3
|
+
*
|
|
4
|
+
* Harvests document metadata and specification statements into a JSON-LD object.
|
|
5
|
+
* The result is stored in document.computed.statementsJsonLd.
|
|
6
|
+
*
|
|
7
|
+
* Conforms to Spec Terms vocabulary: http://www.w3.org/ns/spec#
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_VOCAB = 'http://www.w3.org/ns/spec#';
|
|
10
|
+
const DCT_VOCAB = 'http://purl.org/dc/terms/';
|
|
11
|
+
/**
|
|
12
|
+
* Map normative level to Spec Terms IRI.
|
|
13
|
+
* - MUST → spec:MUST
|
|
14
|
+
* - SHOULD → spec:SHOULD
|
|
15
|
+
* - MAY → spec:MAY
|
|
16
|
+
* - MUST NOT → spec:MUSTNOT
|
|
17
|
+
* - SHOULD NOT → spec:SHOULDNOT
|
|
18
|
+
*/
|
|
19
|
+
function getRequirementLevelIri(level) {
|
|
20
|
+
switch (level) {
|
|
21
|
+
case 'MUST':
|
|
22
|
+
return 'spec:MUST';
|
|
23
|
+
case 'MUST NOT':
|
|
24
|
+
return 'spec:MUSTNOT';
|
|
25
|
+
case 'SHOULD':
|
|
26
|
+
return 'spec:SHOULD';
|
|
27
|
+
case 'SHOULD NOT':
|
|
28
|
+
return 'spec:SHOULDNOT';
|
|
29
|
+
case 'MAY':
|
|
30
|
+
return 'spec:MAY';
|
|
31
|
+
default:
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Map normative level to JSON-LD type per Spec Terms:
|
|
37
|
+
* - MUST, MUST NOT → Requirement/Prohibition
|
|
38
|
+
* - SHOULD, SHOULD NOT → Recommendation
|
|
39
|
+
* - MAY → Permission
|
|
40
|
+
* - NONE/other → Statement
|
|
41
|
+
*/
|
|
42
|
+
function getJsonLdType(level) {
|
|
43
|
+
switch (level) {
|
|
44
|
+
case 'MUST':
|
|
45
|
+
return 'spec:Requirement';
|
|
46
|
+
case 'MUST NOT':
|
|
47
|
+
return 'spec:Prohibition';
|
|
48
|
+
case 'SHOULD':
|
|
49
|
+
case 'SHOULD NOT':
|
|
50
|
+
return 'spec:Recommendation';
|
|
51
|
+
case 'MAY':
|
|
52
|
+
return 'spec:Permission';
|
|
53
|
+
default:
|
|
54
|
+
return 'spec:Statement';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* JSON-LD Compute Plugin
|
|
59
|
+
*/
|
|
60
|
+
export const jsonldComputePlugin = {
|
|
61
|
+
name: 'jsonld-compute',
|
|
62
|
+
order: { compute: 25 }, // Run after ToC and section resolve
|
|
63
|
+
async compute(ctx) {
|
|
64
|
+
const { document, workspace, config } = ctx;
|
|
65
|
+
// Configuration
|
|
66
|
+
const vocab = config.jsonLd?.vocab || DEFAULT_VOCAB;
|
|
67
|
+
const baseSpecIri = config.specIri;
|
|
68
|
+
// JSON-LD Context
|
|
69
|
+
const context = {
|
|
70
|
+
dct: DCT_VOCAB,
|
|
71
|
+
spec: vocab,
|
|
72
|
+
id: '@id',
|
|
73
|
+
type: '@type',
|
|
74
|
+
...config.jsonLd?.contexts
|
|
75
|
+
};
|
|
76
|
+
// Gather statements from global index
|
|
77
|
+
const statements = workspace?.globalIndex?.statements || [];
|
|
78
|
+
const copIris = new Set();
|
|
79
|
+
const requirements = statements.map((stmt) => {
|
|
80
|
+
const type = getJsonLdType(stmt.level);
|
|
81
|
+
const levelIri = getRequirementLevelIri(stmt.level);
|
|
82
|
+
// Build entry with properties in Spec Terms order
|
|
83
|
+
const entry = {
|
|
84
|
+
id: `${baseSpecIri}#${stmt.id}`,
|
|
85
|
+
type,
|
|
86
|
+
};
|
|
87
|
+
// spec:requirementSubject comes before spec:requirementLevel per Spec Terms
|
|
88
|
+
if (stmt.subject) {
|
|
89
|
+
entry['spec:requirementSubject'] = { id: stmt.subject };
|
|
90
|
+
copIris.add(stmt.subject);
|
|
91
|
+
}
|
|
92
|
+
// spec:requirementLevel with IRI value
|
|
93
|
+
if (levelIri) {
|
|
94
|
+
entry['spec:requirementLevel'] = { id: levelIri };
|
|
95
|
+
}
|
|
96
|
+
// spec:statement last (the literal text)
|
|
97
|
+
entry['spec:statement'] = stmt.contentText;
|
|
98
|
+
return entry;
|
|
99
|
+
});
|
|
100
|
+
// Build the root JSON-LD object
|
|
101
|
+
const jsonLd = {
|
|
102
|
+
'@context': context,
|
|
103
|
+
id: baseSpecIri,
|
|
104
|
+
type: 'spec:Specification',
|
|
105
|
+
'dct:title': document.metadata?.title || 'Specification',
|
|
106
|
+
// Use spec:requirement as container (not spec:statement)
|
|
107
|
+
'spec:requirement': requirements,
|
|
108
|
+
};
|
|
109
|
+
if (copIris.size > 0) {
|
|
110
|
+
jsonLd['spec:classesOfProducts'] = Array.from(copIris).map(id => ({ id }));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
jsonLd['spec:classesOfProducts'] = [];
|
|
114
|
+
}
|
|
115
|
+
// Store in AST
|
|
116
|
+
if (!document.computed) {
|
|
117
|
+
document.computed = {};
|
|
118
|
+
}
|
|
119
|
+
document.computed.statementsJsonLd = jsonLd;
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=jsonld-compute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonld-compute.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/jsonld-compute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Resolve Plugin
|
|
3
|
+
*
|
|
4
|
+
* Resolves section references ([§#id]) to their target section numbers and titles.
|
|
5
|
+
* Requires toc plugin to run first to populate document.computed.headingNumbers and document.computed.headingTitles.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from '#src/pipeline/types.js';
|
|
8
|
+
export declare const sectionResolvePlugin: Plugin;
|
|
9
|
+
//# sourceMappingURL=section-resolve.d.ts.map
|