@terra-symposium/docs 0.1.17 → 0.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -7
- package/bin/terra-docs.mjs +187 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-130.woff +0 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-130.woff2 +0 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-150.woff +0 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-150.woff2 +0 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-90.woff +0 -0
- package/lib-dist/assets/fonts/AUTHENTICSans-90.woff2 +0 -0
- package/lib-dist/assets/fonts/Avara-Bold.woff +0 -0
- package/lib-dist/assets/fonts/Avara-BoldItalic.woff +0 -0
- package/lib-dist/assets/fonts/InterVariable-Italic-latin-20260728.woff2 +0 -0
- package/lib-dist/assets/fonts/InterVariable-latin-20260728.woff2 +0 -0
- package/lib-dist/assets/fonts/README.md +7 -0
- package/lib-dist/assets/fonts/licenses/Inter-OFL-1.1.txt +92 -0
- package/lib-dist/assets/fonts/licenses/OFL-1.1.txt +93 -0
- package/lib-dist/{Docs.d.ts → components/Docs.d.ts} +1 -1
- package/lib-dist/components/Docs.d.ts.map +1 -0
- package/lib-dist/components/Docs.js +9 -0
- package/lib-dist/components/Docs.js.map +1 -0
- package/lib-dist/{LocalDocsWorkspace.d.ts → components/LocalDocsWorkspace.d.ts} +9 -2
- package/lib-dist/components/LocalDocsWorkspace.d.ts.map +1 -0
- package/lib-dist/{LocalDocsWorkspace.js → components/LocalDocsWorkspace.js} +83 -24
- package/lib-dist/components/LocalDocsWorkspace.js.map +1 -0
- package/lib-dist/components/NotFound.d.ts +8 -0
- package/lib-dist/components/NotFound.d.ts.map +1 -0
- package/lib-dist/components/NotFound.js +6 -0
- package/lib-dist/components/NotFound.js.map +1 -0
- package/lib-dist/components/SiteLayout.d.ts +25 -0
- package/lib-dist/components/SiteLayout.d.ts.map +1 -0
- package/lib-dist/components/SiteLayout.js +12 -0
- package/lib-dist/components/SiteLayout.js.map +1 -0
- package/lib-dist/{StaticWorkspace.d.ts → components/StaticWorkspace.d.ts} +7 -3
- package/lib-dist/components/StaticWorkspace.d.ts.map +1 -0
- package/lib-dist/{StaticWorkspace.js → components/StaticWorkspace.js} +106 -34
- package/lib-dist/components/StaticWorkspace.js.map +1 -0
- package/lib-dist/components/StrictLocalWorkspaceHarness.d.ts +10 -0
- package/lib-dist/components/StrictLocalWorkspaceHarness.d.ts.map +1 -0
- package/lib-dist/components/StrictLocalWorkspaceHarness.js +12 -0
- package/lib-dist/components/StrictLocalWorkspaceHarness.js.map +1 -0
- package/lib-dist/components/blocks.d.ts.map +1 -0
- package/lib-dist/{blocks.js → components/blocks.js} +88 -13
- package/lib-dist/components/blocks.js.map +1 -0
- package/lib-dist/{navigation.d.ts → components/navigation.d.ts} +3 -1
- package/lib-dist/components/navigation.d.ts.map +1 -0
- package/lib-dist/components/navigation.js.map +1 -0
- package/lib-dist/{terra → components/terra}/Workspace.d.ts +1 -1
- package/lib-dist/components/terra/Workspace.d.ts.map +1 -0
- package/lib-dist/components/terra/Workspace.js +190 -0
- package/lib-dist/components/terra/Workspace.js.map +1 -0
- package/lib-dist/components/terra/editor/TerraContentEditor.d.ts +16 -0
- package/lib-dist/components/terra/editor/TerraContentEditor.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/TerraContentEditor.js +358 -0
- package/lib-dist/components/terra/editor/TerraContentEditor.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/_blocks.d.ts +3 -4
- package/lib-dist/components/terra/editor/_blocks.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/_blocks.js +120 -0
- package/lib-dist/components/terra/editor/_blocks.js.map +1 -0
- package/lib-dist/components/terra/editor/docs/BlockContext.d.ts +7 -0
- package/lib-dist/components/terra/editor/docs/BlockContext.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/BlockContext.js +60 -0
- package/lib-dist/components/terra/editor/docs/BlockContext.js.map +1 -0
- package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.d.ts +12 -0
- package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js +66 -0
- package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js.map +1 -0
- package/lib-dist/components/terra/editor/docs/TerraToolbar.d.ts +12 -0
- package/lib-dist/components/terra/editor/docs/TerraToolbar.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/TerraToolbar.js +169 -0
- package/lib-dist/components/terra/editor/docs/TerraToolbar.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Callout.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_Callout.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Callout.js +11 -7
- package/lib-dist/components/terra/editor/docs/_Callout.js.map +1 -0
- package/lib-dist/components/terra/editor/docs/_CodeBlock.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_CodeBlock.js +111 -46
- package/lib-dist/components/terra/editor/docs/_CodeBlock.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_DocsCode.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_DocsCode.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_DocsCode.js +47 -14
- package/lib-dist/components/terra/editor/docs/_DocsCode.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_DocsImage.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_DocsImage.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/_DocsImage.js +62 -0
- package/lib-dist/components/terra/editor/docs/_DocsImage.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Embed.d.ts +3 -1
- package/lib-dist/components/terra/editor/docs/_Embed.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/_Embed.js +73 -0
- package/lib-dist/components/terra/editor/docs/_Embed.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Math.d.ts +2 -2
- package/lib-dist/components/terra/editor/docs/_Math.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Math.js +29 -17
- package/lib-dist/components/terra/editor/docs/_Math.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Nodes.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_Nodes.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/_Nodes.js +62 -0
- package/lib-dist/components/terra/editor/docs/_Nodes.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Raw.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_Raw.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Raw.js +8 -3
- package/lib-dist/components/terra/editor/docs/_Raw.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Table.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_Table.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/_Table.js +99 -0
- package/lib-dist/components/terra/editor/docs/_Table.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Tabs.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_Tabs.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_Tabs.js +36 -15
- package/lib-dist/components/terra/editor/docs/_Tabs.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_TsDocs.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_TsDocs.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_TsDocs.js +16 -14
- package/lib-dist/components/terra/editor/docs/_TsDocs.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_math_inline.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/_math_inline.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/_math_inline.js +2 -2
- package/lib-dist/components/terra/editor/docs/_math_inline.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/heading.d.ts +1 -1
- package/lib-dist/components/terra/editor/docs/heading.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/docs/heading.js +8 -5
- package/lib-dist/components/terra/editor/docs/heading.js.map +1 -0
- package/lib-dist/components/terra/editor/docs/index.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/docs/index.js.map +1 -0
- package/lib-dist/components/terra/editor/terra-content.styles.d.ts +3 -0
- package/lib-dist/components/terra/editor/terra-content.styles.d.ts.map +1 -0
- package/lib-dist/components/terra/editor/terra-content.styles.js +3 -0
- package/lib-dist/components/terra/editor/terra-content.styles.js.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/types.d.ts +2 -2
- package/lib-dist/components/terra/editor/types.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/editor/types.js +1 -1
- package/lib-dist/components/terra/editor/types.js.map +1 -0
- package/lib-dist/{terra → components/terra}/flow/Nodes.d.ts +2 -3
- package/lib-dist/components/terra/flow/Nodes.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/flow/Nodes.js +213 -106
- package/lib-dist/components/terra/flow/Nodes.js.map +1 -0
- package/lib-dist/{terra → components/terra}/flow/_chrome.d.ts +7 -9
- package/lib-dist/components/terra/flow/_chrome.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/flow/_chrome.js +329 -118
- package/lib-dist/components/terra/flow/_chrome.js.map +1 -0
- package/lib-dist/components/terra/flow/menuContext.d.ts.map +1 -0
- package/lib-dist/components/terra/flow/menuContext.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_attachments.d.ts +1 -1
- package/lib-dist/components/terra/pages/docs/_attachments.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_attachments.js +375 -131
- package/lib-dist/components/terra/pages/docs/_attachments.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/_blocks.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_blocks.js +42 -31
- package/lib-dist/components/terra/pages/docs/_blocks.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_editable.d.ts +2 -3
- package/lib-dist/components/terra/pages/docs/_editable.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_editable.js +82 -44
- package/lib-dist/components/terra/pages/docs/_editable.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_export-dialog.d.ts +1 -1
- package/lib-dist/components/terra/pages/docs/_export-dialog.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_export-dialog.js +17 -17
- package/lib-dist/components/terra/pages/docs/_export-dialog.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/_icons.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_icons.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_main.d.ts +10 -7
- package/lib-dist/components/terra/pages/docs/_main.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_main.js +710 -0
- package/lib-dist/components/terra/pages/docs/_main.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.d.ts +10 -0
- package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js +597 -0
- package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_sidebar.d.ts +3 -12
- package/lib-dist/components/terra/pages/docs/_sidebar.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_sidebar.js +1437 -0
- package/lib-dist/components/terra/pages/docs/_sidebar.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/_toc.d.ts +4 -0
- package/lib-dist/components/terra/pages/docs/_toc.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_toc.js +212 -0
- package/lib-dist/components/terra/pages/docs/_toc.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.d.ts +15 -0
- package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js +207 -0
- package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_toolbar.d.ts +3 -5
- package/lib-dist/components/terra/pages/docs/_toolbar.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_toolbar.js +318 -350
- package/lib-dist/components/terra/pages/docs/_toolbar.js.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_tree.d.ts +1 -4
- package/lib-dist/components/terra/pages/docs/_tree.d.ts.map +1 -0
- package/lib-dist/{terra → components/terra}/pages/docs/_tree.js +219 -264
- package/lib-dist/components/terra/pages/docs/_tree.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-block-nav.d.ts +5 -0
- package/lib-dist/components/terra/pages/docs/use-block-nav.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-block-nav.js +1306 -0
- package/lib-dist/components/terra/pages/docs/use-block-nav.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-media-paste.d.ts +5 -0
- package/lib-dist/components/terra/pages/docs/use-media-paste.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-media-paste.js +391 -0
- package/lib-dist/components/terra/pages/docs/use-media-paste.js.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-render-tripwire.d.ts +2 -0
- package/lib-dist/components/terra/pages/docs/use-render-tripwire.d.ts.map +1 -0
- package/lib-dist/components/terra/pages/docs/use-render-tripwire.js +25 -0
- package/lib-dist/components/terra/pages/docs/use-render-tripwire.js.map +1 -0
- package/lib-dist/{terra/runtime → components/terra}/ui.d.ts +2 -5
- package/lib-dist/components/terra/ui.d.ts.map +1 -0
- package/lib-dist/components/terra/ui.js +20 -0
- package/lib-dist/components/terra/ui.js.map +1 -0
- package/lib-dist/components/workspace-demo-fixture.d.ts +35 -0
- package/lib-dist/components/workspace-demo-fixture.d.ts.map +1 -0
- package/lib-dist/components/workspace-demo-fixture.js +820 -0
- package/lib-dist/components/workspace-demo-fixture.js.map +1 -0
- package/lib-dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Main-Bold.woff +0 -0
- package/lib-dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/lib-dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Main-Italic.woff +0 -0
- package/lib-dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Main-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/lib-dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Math-Italic.woff +0 -0
- package/lib-dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Script-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/lib-dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/lib-dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/lib-dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/lib-dist/lib/astro.d.ts +8 -0
- package/lib-dist/lib/astro.d.ts.map +1 -0
- package/lib-dist/lib/astro.js +27 -0
- package/lib-dist/lib/astro.js.map +1 -0
- package/lib-dist/lib/docs-theme.d.ts +7 -0
- package/lib-dist/lib/docs-theme.d.ts.map +1 -0
- package/lib-dist/lib/docs-theme.js +51 -0
- package/lib-dist/lib/docs-theme.js.map +1 -0
- package/lib-dist/lib/host-runtime.d.ts.map +1 -0
- package/lib-dist/{host-runtime.js → lib/host-runtime.js} +4 -2
- package/lib-dist/lib/host-runtime.js.map +1 -0
- package/lib-dist/{host.d.ts → lib/host.d.ts} +20 -0
- package/lib-dist/lib/host.d.ts.map +1 -0
- package/lib-dist/lib/host.js.map +1 -0
- package/lib-dist/lib/index.d.ts +34 -0
- package/lib-dist/lib/index.d.ts.map +1 -0
- package/lib-dist/lib/index.js +27 -0
- package/lib-dist/lib/index.js.map +1 -0
- package/lib-dist/{markdown-model.d.ts → lib/markdown-model.d.ts} +3 -3
- package/lib-dist/lib/markdown-model.d.ts.map +1 -0
- package/lib-dist/lib/markdown-model.js +2030 -0
- package/lib-dist/lib/markdown-model.js.map +1 -0
- package/lib-dist/lib/markdown.d.ts +3 -0
- package/lib-dist/lib/markdown.d.ts.map +1 -0
- package/lib-dist/lib/markdown.js +222 -0
- package/lib-dist/lib/markdown.js.map +1 -0
- package/lib-dist/{schema.d.ts → lib/schema.d.ts} +55 -23
- package/lib-dist/lib/schema.d.ts.map +1 -0
- package/lib-dist/{schema.js → lib/schema.js} +26 -18
- package/lib-dist/lib/schema.js.map +1 -0
- package/lib-dist/{terra/pages/docs/_custom.d.ts → lib/terra/custom-components.d.ts} +2 -2
- package/lib-dist/lib/terra/custom-components.d.ts.map +1 -0
- package/lib-dist/{terra/pages/docs/_custom.js → lib/terra/custom-components.js} +1 -1
- package/lib-dist/lib/terra/custom-components.js.map +1 -0
- package/lib-dist/lib/terra/docs/archive.d.ts +3 -0
- package/lib-dist/lib/terra/docs/archive.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/archive.js +654 -0
- package/lib-dist/lib/terra/docs/archive.js.map +1 -0
- package/lib-dist/lib/terra/docs/assets.d.ts +26 -0
- package/lib-dist/lib/terra/docs/assets.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/assets.js +74 -0
- package/lib-dist/lib/terra/docs/assets.js.map +1 -0
- package/lib-dist/lib/terra/docs/attachments.d.ts +4 -0
- package/lib-dist/lib/terra/docs/attachments.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/attachments.js +5 -0
- package/lib-dist/lib/terra/docs/attachments.js.map +1 -0
- package/lib-dist/lib/terra/docs/editor-dom.d.ts +50 -0
- package/lib-dist/lib/terra/docs/editor-dom.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/editor-dom.js +236 -0
- package/lib-dist/lib/terra/docs/editor-dom.js.map +1 -0
- package/lib-dist/lib/terra/docs/mutations.d.ts +10 -0
- package/lib-dist/lib/terra/docs/mutations.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/mutations.js +105 -0
- package/lib-dist/lib/terra/docs/mutations.js.map +1 -0
- package/lib-dist/lib/terra/docs/navigation.d.ts +6 -0
- package/lib-dist/lib/terra/docs/navigation.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/navigation.js +21 -0
- package/lib-dist/lib/terra/docs/navigation.js.map +1 -0
- package/lib-dist/lib/terra/docs/state.d.ts +185 -0
- package/lib-dist/lib/terra/docs/state.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/state.js +254 -0
- package/lib-dist/lib/terra/docs/state.js.map +1 -0
- package/lib-dist/lib/terra/docs/toolbar.d.ts +11 -0
- package/lib-dist/lib/terra/docs/toolbar.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/toolbar.js +41 -0
- package/lib-dist/lib/terra/docs/toolbar.js.map +1 -0
- package/lib-dist/lib/terra/docs/tree.d.ts +15 -0
- package/lib-dist/lib/terra/docs/tree.d.ts.map +1 -0
- package/lib-dist/lib/terra/docs/tree.js +61 -0
- package/lib-dist/lib/terra/docs/tree.js.map +1 -0
- package/lib-dist/{terra/pages/docs/_helpers.d.ts → lib/terra/docs/workspace.d.ts} +6 -8
- package/lib-dist/lib/terra/docs/workspace.d.ts.map +1 -0
- package/lib-dist/{terra/pages/docs/_helpers.js → lib/terra/docs/workspace.js} +39 -28
- package/lib-dist/lib/terra/docs/workspace.js.map +1 -0
- package/lib-dist/lib/terra/flow/_layout.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/flow/_layout.js +16 -6
- package/lib-dist/lib/terra/flow/_layout.js.map +1 -0
- package/lib-dist/{terra → lib/terra}/flow/powerSource.d.ts +1 -2
- package/lib-dist/lib/terra/flow/powerSource.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/flow/powerSource.js +10 -4
- package/lib-dist/lib/terra/flow/powerSource.js.map +1 -0
- package/lib-dist/{terra → lib/terra}/regex.mjs +11 -6
- package/lib-dist/lib/terra/runtime/action-proxy.d.ts +45 -0
- package/lib-dist/lib/terra/runtime/action-proxy.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/action-proxy.js +1 -1
- package/lib-dist/lib/terra/runtime/action-proxy.js.map +1 -0
- package/lib-dist/lib/terra/runtime/content/block-jsx.d.ts +23 -0
- package/lib-dist/lib/terra/runtime/content/block-jsx.d.ts.map +1 -0
- package/lib-dist/lib/terra/runtime/content/block-jsx.js +225 -0
- package/lib-dist/lib/terra/runtime/content/block-jsx.js.map +1 -0
- package/lib-dist/lib/terra/runtime/content/document-markdown.d.ts +41 -0
- package/lib-dist/lib/terra/runtime/content/document-markdown.d.ts.map +1 -0
- package/lib-dist/lib/terra/runtime/content/document-markdown.js +536 -0
- package/lib-dist/lib/terra/runtime/content/document-markdown.js.map +1 -0
- package/lib-dist/lib/terra/runtime/content/markdown.d.ts +109 -0
- package/lib-dist/lib/terra/runtime/content/markdown.d.ts.map +1 -0
- package/lib-dist/lib/terra/runtime/content/markdown.js +428 -0
- package/lib-dist/lib/terra/runtime/content/markdown.js.map +1 -0
- package/lib-dist/lib/terra/runtime/content.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/content.js +147 -62
- package/lib-dist/lib/terra/runtime/content.js.map +1 -0
- package/lib-dist/lib/terra/runtime/leaf.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/leaf.js +1 -1
- package/lib-dist/lib/terra/runtime/leaf.js.map +1 -0
- package/lib-dist/lib/terra/runtime/nodes.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/nodes.js +103 -31
- package/lib-dist/lib/terra/runtime/nodes.js.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/runtime.d.ts +8 -2
- package/lib-dist/lib/terra/runtime/runtime.d.ts.map +1 -0
- package/lib-dist/lib/terra/runtime/runtime.js +86 -0
- package/lib-dist/lib/terra/runtime/runtime.js.map +1 -0
- package/lib-dist/lib/terra/runtime/shared.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/shared.js +56 -11
- package/lib-dist/lib/terra/runtime/shared.js.map +1 -0
- package/lib-dist/lib/terra/runtime/types.d.ts +529 -0
- package/lib-dist/lib/terra/runtime/types.d.ts.map +1 -0
- package/lib-dist/{terra → lib/terra}/runtime/types.js +28 -2
- package/lib-dist/lib/terra/runtime/types.js.map +1 -0
- package/lib-dist/lib/workspace-types.d.ts +32 -0
- package/lib-dist/lib/workspace-types.d.ts.map +1 -0
- package/lib-dist/lib/workspace-types.js +2 -0
- package/lib-dist/lib/workspace-types.js.map +1 -0
- package/lib-dist/style.css +237 -1
- package/package.json +63 -38
- package/site/astro.config.mjs +67 -0
- package/site/docs-content-plugin.mjs +62 -0
- package/site/src/components/DocsSiteSearch.tsx +108 -0
- package/site/src/lib/catalog.ts +151 -0
- package/site/src/pages/404.astro +38 -0
- package/site/src/pages/[...slug].astro +49 -0
- package/site/src/styles/search.css +56 -0
- package/src/components/NotFound.astro +6 -0
- package/src/components/NotFound.tsx +48 -0
- package/src/{SiteLayout.astro → components/SiteLayout.astro} +17 -5
- package/src/{navigation.tsx → components/navigation.tsx} +3 -1
- package/lib-dist/Docs.d.ts.map +0 -1
- package/lib-dist/Docs.js +0 -60
- package/lib-dist/Docs.js.map +0 -1
- package/lib-dist/LocalDocsWorkspace.d.ts.map +0 -1
- package/lib-dist/LocalDocsWorkspace.js.map +0 -1
- package/lib-dist/SiteLayout.d.ts +0 -30
- package/lib-dist/SiteLayout.d.ts.map +0 -1
- package/lib-dist/SiteLayout.js +0 -34
- package/lib-dist/SiteLayout.js.map +0 -1
- package/lib-dist/StaticWorkspace.d.ts.map +0 -1
- package/lib-dist/StaticWorkspace.js.map +0 -1
- package/lib-dist/_Toolbar.d.ts +0 -7
- package/lib-dist/_Toolbar.d.ts.map +0 -1
- package/lib-dist/_Toolbar.js +0 -85
- package/lib-dist/_Toolbar.js.map +0 -1
- package/lib-dist/blocks.d.ts.map +0 -1
- package/lib-dist/blocks.js.map +0 -1
- package/lib-dist/docs-catalog.d.ts +0 -5
- package/lib-dist/docs-catalog.d.ts.map +0 -1
- package/lib-dist/docs-catalog.js +0 -38
- package/lib-dist/docs-catalog.js.map +0 -1
- package/lib-dist/docs-style.css +0 -31
- package/lib-dist/fonts/README.md +0 -5
- package/lib-dist/host-runtime.d.ts.map +0 -1
- package/lib-dist/host-runtime.js.map +0 -1
- package/lib-dist/host.d.ts.map +0 -1
- package/lib-dist/host.js.map +0 -1
- package/lib-dist/index.d.ts +0 -35
- package/lib-dist/index.d.ts.map +0 -1
- package/lib-dist/index.js +0 -28
- package/lib-dist/index.js.map +0 -1
- package/lib-dist/markdown-model.d.ts.map +0 -1
- package/lib-dist/markdown-model.js +0 -181
- package/lib-dist/markdown-model.js.map +0 -1
- package/lib-dist/markdown.d.ts +0 -3
- package/lib-dist/markdown.d.ts.map +0 -1
- package/lib-dist/markdown.js +0 -83
- package/lib-dist/markdown.js.map +0 -1
- package/lib-dist/navigation.d.ts.map +0 -1
- package/lib-dist/navigation.js.map +0 -1
- package/lib-dist/schema.d.ts.map +0 -1
- package/lib-dist/schema.js.map +0 -1
- package/lib-dist/terra/Workspace.d.ts.map +0 -1
- package/lib-dist/terra/Workspace.js +0 -9
- package/lib-dist/terra/Workspace.js.map +0 -1
- package/lib-dist/terra/editor/TerraContentEditor.d.ts +0 -10
- package/lib-dist/terra/editor/TerraContentEditor.d.ts.map +0 -1
- package/lib-dist/terra/editor/TerraContentEditor.js +0 -47
- package/lib-dist/terra/editor/TerraContentEditor.js.map +0 -1
- package/lib-dist/terra/editor/_blocks.d.ts.map +0 -1
- package/lib-dist/terra/editor/_blocks.js +0 -110
- package/lib-dist/terra/editor/_blocks.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Callout.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Callout.js.map +0 -1
- package/lib-dist/terra/editor/docs/_CodeBlock.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_CodeBlock.js.map +0 -1
- package/lib-dist/terra/editor/docs/_DocsCode.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_DocsCode.js.map +0 -1
- package/lib-dist/terra/editor/docs/_DocsImage.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_DocsImage.js +0 -62
- package/lib-dist/terra/editor/docs/_DocsImage.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Embed.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Embed.js +0 -27
- package/lib-dist/terra/editor/docs/_Embed.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Math.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Math.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Nodes.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Nodes.js +0 -52
- package/lib-dist/terra/editor/docs/_Nodes.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Raw.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Raw.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Table.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Table.js +0 -71
- package/lib-dist/terra/editor/docs/_Table.js.map +0 -1
- package/lib-dist/terra/editor/docs/_Tabs.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_Tabs.js.map +0 -1
- package/lib-dist/terra/editor/docs/_TsDocs.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_TsDocs.js.map +0 -1
- package/lib-dist/terra/editor/docs/_math_inline.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/_math_inline.js.map +0 -1
- package/lib-dist/terra/editor/docs/heading.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/heading.js.map +0 -1
- package/lib-dist/terra/editor/docs/index.d.ts.map +0 -1
- package/lib-dist/terra/editor/docs/index.js.map +0 -1
- package/lib-dist/terra/editor/types.d.ts.map +0 -1
- package/lib-dist/terra/editor/types.js.map +0 -1
- package/lib-dist/terra/flow/Nodes.d.ts.map +0 -1
- package/lib-dist/terra/flow/Nodes.js.map +0 -1
- package/lib-dist/terra/flow/_chrome.d.ts.map +0 -1
- package/lib-dist/terra/flow/_chrome.js.map +0 -1
- package/lib-dist/terra/flow/_layout.d.ts.map +0 -1
- package/lib-dist/terra/flow/_layout.js.map +0 -1
- package/lib-dist/terra/flow/menuContext.d.ts.map +0 -1
- package/lib-dist/terra/flow/menuContext.js.map +0 -1
- package/lib-dist/terra/flow/powerSource.d.ts.map +0 -1
- package/lib-dist/terra/flow/powerSource.js.map +0 -1
- package/lib-dist/terra/pages/docs/_attachments.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_attachments.js.map +0 -1
- package/lib-dist/terra/pages/docs/_blocks.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_blocks.js.map +0 -1
- package/lib-dist/terra/pages/docs/_custom.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_custom.js.map +0 -1
- package/lib-dist/terra/pages/docs/_editable.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_editable.js.map +0 -1
- package/lib-dist/terra/pages/docs/_export-dialog.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_export-dialog.js.map +0 -1
- package/lib-dist/terra/pages/docs/_helpers.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_helpers.js.map +0 -1
- package/lib-dist/terra/pages/docs/_icons.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_icons.js.map +0 -1
- package/lib-dist/terra/pages/docs/_main.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_main.js +0 -1959
- package/lib-dist/terra/pages/docs/_main.js.map +0 -1
- package/lib-dist/terra/pages/docs/_sidebar.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_sidebar.js +0 -2450
- package/lib-dist/terra/pages/docs/_sidebar.js.map +0 -1
- package/lib-dist/terra/pages/docs/_toolbar.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_toolbar.js.map +0 -1
- package/lib-dist/terra/pages/docs/_tree.d.ts.map +0 -1
- package/lib-dist/terra/pages/docs/_tree.js.map +0 -1
- package/lib-dist/terra/runtime/action-proxy.d.ts +0 -5
- package/lib-dist/terra/runtime/action-proxy.d.ts.map +0 -1
- package/lib-dist/terra/runtime/action-proxy.js.map +0 -1
- package/lib-dist/terra/runtime/content.d.ts.map +0 -1
- package/lib-dist/terra/runtime/content.js.map +0 -1
- package/lib-dist/terra/runtime/leaf.d.ts.map +0 -1
- package/lib-dist/terra/runtime/leaf.js.map +0 -1
- package/lib-dist/terra/runtime/nodes.d.ts.map +0 -1
- package/lib-dist/terra/runtime/nodes.js.map +0 -1
- package/lib-dist/terra/runtime/runtime.d.ts.map +0 -1
- package/lib-dist/terra/runtime/runtime.js +0 -50
- package/lib-dist/terra/runtime/runtime.js.map +0 -1
- package/lib-dist/terra/runtime/shared.d.ts.map +0 -1
- package/lib-dist/terra/runtime/shared.js.map +0 -1
- package/lib-dist/terra/runtime/types.d.ts +0 -266
- package/lib-dist/terra/runtime/types.d.ts.map +0 -1
- package/lib-dist/terra/runtime/types.js.map +0 -1
- package/lib-dist/terra/runtime/ui.d.ts.map +0 -1
- package/lib-dist/terra/runtime/ui.js +0 -16
- package/lib-dist/terra/runtime/ui.js.map +0 -1
- package/lib-dist/workspace.d.ts +0 -78
- package/lib-dist/workspace.d.ts.map +0 -1
- package/lib-dist/workspace.js +0 -151
- package/lib-dist/workspace.js.map +0 -1
- package/src/style.css +0 -733
- /package/lib-dist/{fonts → assets/fonts}/Avara-Bold.woff2 +0 -0
- /package/lib-dist/{fonts → assets/fonts}/Avara-BoldItalic.woff2 +0 -0
- /package/lib-dist/{fonts → assets/fonts}/OFL-1.1.txt +0 -0
- /package/lib-dist/{blocks.d.ts → components/blocks.d.ts} +0 -0
- /package/lib-dist/{navigation.js → components/navigation.js} +0 -0
- /package/lib-dist/{terra → components/terra}/editor/docs/_CodeBlock.d.ts +0 -0
- /package/lib-dist/{terra → components/terra}/editor/docs/index.d.ts +0 -0
- /package/lib-dist/{terra → components/terra}/editor/docs/index.js +0 -0
- /package/lib-dist/{terra → components/terra}/flow/menuContext.d.ts +0 -0
- /package/lib-dist/{terra → components/terra}/flow/menuContext.js +0 -0
- /package/lib-dist/{terra → components/terra}/pages/docs/_blocks.d.ts +0 -0
- /package/lib-dist/{terra → components/terra}/pages/docs/_icons.d.ts +0 -0
- /package/lib-dist/{terra → components/terra}/pages/docs/_icons.js +0 -0
- /package/lib-dist/{host-runtime.d.ts → lib/host-runtime.d.ts} +0 -0
- /package/lib-dist/{host.js → lib/host.js} +0 -0
- /package/lib-dist/{terra → lib/terra}/flow/_layout.d.ts +0 -0
- /package/lib-dist/{terra → lib/terra}/runtime/content.d.ts +0 -0
- /package/lib-dist/{terra → lib/terra}/runtime/leaf.d.ts +0 -0
- /package/lib-dist/{terra → lib/terra}/runtime/nodes.d.ts +0 -0
- /package/lib-dist/{terra → lib/terra}/runtime/shared.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,53 +1,90 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terra-symposium/docs",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
5
|
-
"repository":
|
|
3
|
+
"version": "0.1.72",
|
|
4
|
+
"description": "Terra Docs workspace and Markdown site generator.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/Terra-Symposium/docs.git"
|
|
8
|
+
},
|
|
6
9
|
"type": "module",
|
|
10
|
+
"packageManager": "pnpm@10.30.3",
|
|
7
11
|
"engines": {
|
|
8
12
|
"node": ">=24.12.0"
|
|
9
13
|
},
|
|
10
14
|
"files": [
|
|
11
15
|
"lib-dist",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"src/
|
|
16
|
+
"bin",
|
|
17
|
+
"site",
|
|
18
|
+
"src/components/navigation.tsx",
|
|
19
|
+
"src/components/SiteLayout.astro",
|
|
20
|
+
"src/components/NotFound.astro",
|
|
21
|
+
"src/components/NotFound.tsx"
|
|
15
22
|
],
|
|
16
23
|
"exports": {
|
|
17
24
|
".": {
|
|
18
|
-
"types": "./lib-dist/index.d.ts",
|
|
19
|
-
"import": "./lib-dist/index.js"
|
|
25
|
+
"types": "./lib-dist/lib/index.d.ts",
|
|
26
|
+
"import": "./lib-dist/lib/index.js"
|
|
20
27
|
},
|
|
21
28
|
"./style.css": "./lib-dist/style.css",
|
|
22
|
-
"./
|
|
29
|
+
"./astro": {
|
|
30
|
+
"types": "./lib-dist/lib/astro.d.ts",
|
|
31
|
+
"import": "./lib-dist/lib/astro.js"
|
|
32
|
+
},
|
|
33
|
+
"./local-workspace": {
|
|
34
|
+
"types": "./lib-dist/components/LocalDocsWorkspace.d.ts",
|
|
35
|
+
"import": "./lib-dist/components/LocalDocsWorkspace.js"
|
|
36
|
+
},
|
|
37
|
+
"./site-layout.astro": "./src/components/SiteLayout.astro",
|
|
38
|
+
"./not-found.astro": "./src/components/NotFound.astro"
|
|
23
39
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
40
|
+
"bin": {
|
|
41
|
+
"terra-docs": "bin/terra-docs.mjs"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"dev": "terra-quality-dev -- vite --host 127.0.0.1 --open",
|
|
45
|
+
"docs:dev": "pnpm build && node bin/terra-docs.mjs dev --title 'Terra Docs'",
|
|
46
|
+
"docs:build": "pnpm build && node bin/terra-docs.mjs build --title 'Terra Docs'",
|
|
47
|
+
"docs:preview": "pnpm docs:build && node bin/terra-docs.mjs preview --title 'Terra Docs'",
|
|
48
|
+
"dev:library": "tsc --watch",
|
|
49
|
+
"build": "rm -rf lib-dist && tsc && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/style.css -o lib-dist/style.css --minify && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/workspace.css -o lib-dist/workspace.css --minify && node scripts/copy-runtime.mjs",
|
|
50
|
+
"build:demo": "vite build",
|
|
51
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.demo.json",
|
|
52
|
+
"lint": "eslint .",
|
|
53
|
+
"format": "prettier --write .",
|
|
54
|
+
"format:check": "prettier --check .",
|
|
55
|
+
"check": "pnpm run format:check && pnpm run lint && pnpm run typecheck",
|
|
56
|
+
"test": "pnpm build && node --test test/*.test.mjs",
|
|
57
|
+
"test:browser": "pnpm docs:build && node scripts/acquire-playwright-port.mjs && playwright test",
|
|
58
|
+
"test:report:slides": "node scripts/generate-screenshot-deck.mjs",
|
|
59
|
+
"prepare": "husky",
|
|
60
|
+
"changeset": "changeset",
|
|
61
|
+
"version-packages": "changeset version"
|
|
28
62
|
},
|
|
29
63
|
"devDependencies": {
|
|
30
|
-
"@
|
|
64
|
+
"@changesets/cli": "^3.0.3",
|
|
31
65
|
"@eslint/js": "10.0.1",
|
|
32
66
|
"@playwright/test": "^1.64.1",
|
|
67
|
+
"@terra-symposium/standards-reporting": "0.6.2",
|
|
33
68
|
"@types/katex": "^0.16.8",
|
|
34
69
|
"@types/node": "^24.19.2",
|
|
35
70
|
"@types/react": "19.3.0",
|
|
36
71
|
"@types/react-dom": "19.3.0",
|
|
37
|
-
"@terra-symposium/styling": "file:vendor/terra-symposium-styling-0.1.6.tgz",
|
|
38
72
|
"@types/sanitize-html": "^2.16.2",
|
|
39
|
-
"
|
|
73
|
+
"@terra-symposium/standards-quality": "2.1.0",
|
|
40
74
|
"@vitejs/plugin-react": "6.1.2",
|
|
41
|
-
"astro": "^7.4.2",
|
|
42
75
|
"eslint": "10.13.0",
|
|
76
|
+
"husky": "^9.1.7",
|
|
77
|
+
"postcss": "8.5.31",
|
|
78
|
+
"postcss-import": "15.1.0",
|
|
43
79
|
"prettier": "3.9.10",
|
|
44
|
-
"
|
|
45
|
-
"react-dom": "19.3.1",
|
|
80
|
+
"tailwindcss": "^3.4.3",
|
|
46
81
|
"typescript": "5.9.3",
|
|
47
82
|
"typescript-eslint": "8.71.2",
|
|
48
83
|
"vite": "8.3.4"
|
|
49
84
|
},
|
|
50
85
|
"dependencies": {
|
|
86
|
+
"@astrojs/mdx": "8.1.2",
|
|
87
|
+
"@astrojs/react": "^7.1.0",
|
|
51
88
|
"@carbon/icons-react": "11.90.0",
|
|
52
89
|
"@codemirror/commands": "^6.10.0",
|
|
53
90
|
"@codemirror/lang-markdown": "^6.1.3",
|
|
@@ -63,31 +100,19 @@
|
|
|
63
100
|
"@radix-ui/react-select": "2.4.1",
|
|
64
101
|
"@uiw/codemirror-theme-github": "^4.25.9",
|
|
65
102
|
"@xyflow/react": "^12.3.6",
|
|
103
|
+
"@terra-symposium/styling": "0.1.34",
|
|
104
|
+
"astro": "^7.4.2",
|
|
105
|
+
"jszip": "^3.10.1",
|
|
66
106
|
"katex": "^0.19.1",
|
|
67
107
|
"lexical": "^0.35.0",
|
|
68
108
|
"marked": "^18.1.1",
|
|
69
109
|
"nanostores": "^1.3.0",
|
|
70
110
|
"pdf-lib": "^1.17.1",
|
|
111
|
+
"react": "^19.3.1",
|
|
112
|
+
"react-dom": "^19.3.1",
|
|
71
113
|
"sanitize-html": "^2.18.1",
|
|
72
114
|
"sonner": "^1.4.41",
|
|
73
|
-
"jszip": "^3.10.1",
|
|
74
115
|
"yaml": "^2.7.0"
|
|
75
116
|
},
|
|
76
|
-
"license": "Apache-2.0"
|
|
77
|
-
|
|
78
|
-
"dev": "vite --host 127.0.0.1 --open",
|
|
79
|
-
"docs:dev": "astro dev --host 127.0.0.1 --open",
|
|
80
|
-
"docs:build": "pnpm build && astro build",
|
|
81
|
-
"docs:preview": "astro preview --host 127.0.0.1",
|
|
82
|
-
"dev:library": "tsc --watch",
|
|
83
|
-
"build": "tsc && tailwindcss -c tailwind.docs.config.mjs -i src/style.css -o lib-dist/docs-style.css --minify && node scripts/copy-runtime.mjs",
|
|
84
|
-
"build:demo": "vite build",
|
|
85
|
-
"typecheck": "tsc --noEmit && tsc -p tsconfig.demo.json",
|
|
86
|
-
"lint": "eslint .",
|
|
87
|
-
"format": "prettier --write .",
|
|
88
|
-
"format:check": "prettier --check .",
|
|
89
|
-
"check": "pnpm run format:check && pnpm run lint && pnpm run typecheck",
|
|
90
|
-
"test": "pnpm build && node --test test/*.test.mjs",
|
|
91
|
-
"test:browser": "pnpm docs:build && playwright test"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
117
|
+
"license": "Apache-2.0"
|
|
118
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { createRequire } from 'node:module';
|
|
5
|
+
import { defineConfig } from 'astro/config';
|
|
6
|
+
import mdx from '@astrojs/mdx';
|
|
7
|
+
import react from '@astrojs/react';
|
|
8
|
+
import { docsContentPlugin } from './docs-content-plugin.mjs';
|
|
9
|
+
|
|
10
|
+
const packageRoot = fileURLToPath(new URL('../', import.meta.url));
|
|
11
|
+
const requireFromPackage = createRequire(import.meta.url);
|
|
12
|
+
const projectRoot = process.env.TERRA_DOCS_ROOT ?? process.cwd();
|
|
13
|
+
const publicDir = resolve(projectRoot, '.terra-docs/public');
|
|
14
|
+
const outDir = resolve(projectRoot, process.env.TERRA_DOCS_OUT ?? 'docs-dist');
|
|
15
|
+
const site = process.env.TERRA_DOCS_SITE;
|
|
16
|
+
const projectManifest = (() => {
|
|
17
|
+
try {
|
|
18
|
+
return JSON.parse(readFileSync(resolve(projectRoot, 'package.json'), 'utf8'));
|
|
19
|
+
} catch {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
function packageExportAliases() {
|
|
25
|
+
if (!projectManifest.name || !projectManifest.exports) return [];
|
|
26
|
+
const escapeRegex = (value) => value.replace(/[|\\{}()[\]^$+?.]/g, '\\$&');
|
|
27
|
+
return Object.entries(projectManifest.exports).flatMap(([key, value]) => {
|
|
28
|
+
const target = typeof value === 'string' ? value : value?.import ?? value?.default;
|
|
29
|
+
if (!target?.startsWith('./')) return [];
|
|
30
|
+
const prefix = projectManifest.name + (key === '.' ? '' : key.slice(1));
|
|
31
|
+
if (key.includes('*')) {
|
|
32
|
+
const matcher = new RegExp(`^${escapeRegex(prefix).replace('*', '(.+)')}$`);
|
|
33
|
+
return [{ find: matcher, replacement: resolve(projectRoot, target.replace('*', '$1')) }];
|
|
34
|
+
}
|
|
35
|
+
return [{ find: new RegExp(`^${escapeRegex(prefix)}$`), replacement: resolve(projectRoot, target) }];
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const packageDependencyResolver = {
|
|
40
|
+
name: 'terra-docs-package-dependencies',
|
|
41
|
+
enforce: 'pre',
|
|
42
|
+
resolveId(source) {
|
|
43
|
+
if (!/^(?:astro|@astrojs\/(?:mdx|react))(?:\/|$)/.test(source)) return null;
|
|
44
|
+
try {
|
|
45
|
+
return requireFromPackage.resolve(source);
|
|
46
|
+
} catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default defineConfig({
|
|
53
|
+
root: projectRoot,
|
|
54
|
+
srcDir: resolve(packageRoot, 'site/src'),
|
|
55
|
+
publicDir,
|
|
56
|
+
outDir,
|
|
57
|
+
...(site ? { site } : {}),
|
|
58
|
+
base: process.env.TERRA_DOCS_BASE ?? '/',
|
|
59
|
+
devToolbar: { enabled: false },
|
|
60
|
+
build: { format: 'directory' },
|
|
61
|
+
integrations: [react(), mdx()],
|
|
62
|
+
vite: {
|
|
63
|
+
plugins: [packageDependencyResolver, docsContentPlugin({ root: projectRoot, base: process.env.TERRA_DOCS_BASE ?? '/' })],
|
|
64
|
+
resolve: { alias: packageExportAliases() },
|
|
65
|
+
server: { fs: { allow: [projectRoot, packageRoot] } },
|
|
66
|
+
},
|
|
67
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { extname, relative, resolve, sep } from 'node:path';
|
|
3
|
+
|
|
4
|
+
const markdownExtensions = new Set(['.md', '.mdx']);
|
|
5
|
+
|
|
6
|
+
function publicRoute(file, docsRoot, base) {
|
|
7
|
+
const path = relative(docsRoot, file).split(sep).join('/').replace(/\.(?:md|mdx)$/i, '');
|
|
8
|
+
const route = path.replace(/(?:^|\/)index$/i, '').replace(/^\/+|\/+$/g, '');
|
|
9
|
+
return `${base}${route ? `${route}/` : ''}`;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function rewriteTarget(rawTarget, sourceFile, docsRoot, base) {
|
|
13
|
+
const target = rawTarget.trim();
|
|
14
|
+
if (!target || /^(?:[a-z][a-z\d+.-]*:|\/\/|\/|#)/i.test(target)) return rawTarget;
|
|
15
|
+
const match = /^(<[^>]+>|[^\s]+)([\s\S]*)$/.exec(target);
|
|
16
|
+
if (!match) return rawTarget;
|
|
17
|
+
const bracketed = match[1].startsWith('<') && match[1].endsWith('>');
|
|
18
|
+
const pathname = bracketed ? match[1].slice(1, -1) : match[1];
|
|
19
|
+
const suffix = match[2];
|
|
20
|
+
const [filePath, ...hashParts] = pathname.split('#');
|
|
21
|
+
const [cleanPath, ...queryParts] = filePath.split('?');
|
|
22
|
+
let resolvedPath;
|
|
23
|
+
try {
|
|
24
|
+
resolvedPath = resolve(sourceFile, '..', decodeURIComponent(cleanPath));
|
|
25
|
+
} catch {
|
|
26
|
+
return rawTarget;
|
|
27
|
+
}
|
|
28
|
+
const relativePath = relative(docsRoot, resolvedPath);
|
|
29
|
+
if (relativePath.startsWith(`..${sep}`) || relativePath === '..' || !existsSync(resolvedPath)) return rawTarget;
|
|
30
|
+
const extension = extname(resolvedPath).toLowerCase();
|
|
31
|
+
const fragment = hashParts.length ? `#${hashParts.join('#')}` : '';
|
|
32
|
+
const query = queryParts.length ? `?${queryParts.join('?')}` : '';
|
|
33
|
+
const rewritten = markdownExtensions.has(extension)
|
|
34
|
+
? publicRoute(resolvedPath, docsRoot, base)
|
|
35
|
+
: `${base}_terra-docs/assets/${relativePath.split(sep).join('/')}`;
|
|
36
|
+
return `${bracketed ? `<${rewritten}${query}${fragment}>` : `${rewritten}${query}${fragment}`}${suffix}`;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function mapOutsideCode(source, callback) {
|
|
40
|
+
const sections = source.split(/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g);
|
|
41
|
+
return sections.map((section, index) => index % 2 ? section : callback(section)).join('');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function docsContentPlugin({ root, base }) {
|
|
45
|
+
const docsRoot = resolve(root, 'docs');
|
|
46
|
+
return {
|
|
47
|
+
name: 'terra-docs-content-assets',
|
|
48
|
+
enforce: 'pre',
|
|
49
|
+
transform(source, id) {
|
|
50
|
+
if (id.includes('?') || !markdownExtensions.has(extname(id).toLowerCase())) return null;
|
|
51
|
+
const sourceFile = resolve(id);
|
|
52
|
+
const relativePath = relative(docsRoot, sourceFile);
|
|
53
|
+
if (relativePath.startsWith(`..${sep}`) || relativePath === '..') return null;
|
|
54
|
+
const withMarkdownLinks = source.replace(/(!?\[[^\]]*\]\()([^)]+)(\))/g, (_full, before, target, after) =>
|
|
55
|
+
`${before}${rewriteTarget(target, sourceFile, docsRoot, base)}${after}`,
|
|
56
|
+
);
|
|
57
|
+
return mapOutsideCode(withMarkdownLinks, (section) => section.replace(/\b(src|href)=(['"])(.*?)\2/g, (full, attribute, quote, target) =>
|
|
58
|
+
`${attribute}=${quote}${rewriteTarget(target, sourceFile, docsRoot, base)}${quote}`,
|
|
59
|
+
));
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
+
|
|
3
|
+
type SearchDocument = {
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
href: string;
|
|
7
|
+
text: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
type Props = { base?: string };
|
|
11
|
+
|
|
12
|
+
function excerpt(text: string, query: string): string {
|
|
13
|
+
const normalized = text.replace(/\s+/g, ' ').trim();
|
|
14
|
+
const offset = normalized.toLowerCase().indexOf(query.toLowerCase());
|
|
15
|
+
const start = Math.max(0, offset - 72);
|
|
16
|
+
const end = Math.min(normalized.length, start + 190);
|
|
17
|
+
return `${start > 0 ? '…' : ''}${normalized.slice(start, end)}${end < normalized.length ? '…' : ''}`;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function DocsSiteSearch({ base = '/' }: Props) {
|
|
21
|
+
const dialog = useRef<HTMLDialogElement>(null);
|
|
22
|
+
const input = useRef<HTMLInputElement>(null);
|
|
23
|
+
const [query, setQuery] = useState('');
|
|
24
|
+
const [documents, setDocuments] = useState<SearchDocument[]>([]);
|
|
25
|
+
const [loaded, setLoaded] = useState(false);
|
|
26
|
+
const [failed, setFailed] = useState(false);
|
|
27
|
+
const [opened, setOpened] = useState(false);
|
|
28
|
+
const normalizedBase = base.endsWith('/') ? base : `${base}/`;
|
|
29
|
+
|
|
30
|
+
const open = () => {
|
|
31
|
+
if (!dialog.current?.open) dialog.current?.showModal();
|
|
32
|
+
setOpened(true);
|
|
33
|
+
window.setTimeout(() => input.current?.focus(), 0);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
const onKeyDown = (event: KeyboardEvent) => {
|
|
38
|
+
if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k') {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
open();
|
|
41
|
+
} else if (event.key === '/' && !/input|textarea|select/i.test((event.target as HTMLElement)?.tagName ?? '')) {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
open();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
document.addEventListener('keydown', onKeyDown);
|
|
47
|
+
return () => document.removeEventListener('keydown', onKeyDown);
|
|
48
|
+
}, []);
|
|
49
|
+
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (!opened || loaded) return;
|
|
52
|
+
fetch(`${normalizedBase}_terra-docs/search-index.json`)
|
|
53
|
+
.then((response) => {
|
|
54
|
+
if (!response.ok) throw new Error(`Search index returned ${response.status}`);
|
|
55
|
+
return response.json() as Promise<SearchDocument[]>;
|
|
56
|
+
})
|
|
57
|
+
.then((data) => {
|
|
58
|
+
setDocuments(data);
|
|
59
|
+
setLoaded(true);
|
|
60
|
+
})
|
|
61
|
+
.catch(() => setFailed(true));
|
|
62
|
+
}, [loaded, normalizedBase, opened]);
|
|
63
|
+
|
|
64
|
+
const results = useMemo(() => {
|
|
65
|
+
const terms = query.toLowerCase().trim().split(/\s+/).filter(Boolean);
|
|
66
|
+
if (!terms.length) return [];
|
|
67
|
+
return documents
|
|
68
|
+
.map((document) => {
|
|
69
|
+
const title = document.title.toLowerCase();
|
|
70
|
+
const text = `${document.description} ${document.text}`.toLowerCase();
|
|
71
|
+
const matches = terms.filter((term) => title.includes(term) || text.includes(term));
|
|
72
|
+
const score = matches.length * 10 + terms.filter((term) => title.includes(term)).length * 5;
|
|
73
|
+
return { document, score };
|
|
74
|
+
})
|
|
75
|
+
.filter((result) => result.score > 0)
|
|
76
|
+
.sort((left, right) => right.score - left.score || left.document.title.localeCompare(right.document.title))
|
|
77
|
+
.slice(0, 10);
|
|
78
|
+
}, [documents, query]);
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
<div className="terra-docs-search">
|
|
82
|
+
<button className="terra-docs-search-trigger" type="button" onClick={open} aria-label="Search documentation">
|
|
83
|
+
<span aria-hidden="true">⌕</span><span>Search docs</span><kbd>⌘ K</kbd>
|
|
84
|
+
</button>
|
|
85
|
+
<dialog className="terra-docs-search-dialog" ref={dialog} onClose={() => setQuery('')}>
|
|
86
|
+
<div className="terra-docs-search-panel">
|
|
87
|
+
<label className="terra-docs-search-input-row">
|
|
88
|
+
<span aria-hidden="true">⌕</span>
|
|
89
|
+
<input ref={input} value={query} onChange={(event) => setQuery(event.currentTarget.value)} placeholder="Search documentation…" />
|
|
90
|
+
<button type="button" onClick={() => dialog.current?.close()} aria-label="Close search">Esc</button>
|
|
91
|
+
</label>
|
|
92
|
+
<div className="terra-docs-search-results" aria-live="polite">
|
|
93
|
+
{failed ? <p>Search is unavailable right now.</p> : null}
|
|
94
|
+
{!loaded && !failed ? <p>Loading search…</p> : null}
|
|
95
|
+
{loaded && query.trim() && results.length === 0 ? <p>No matching pages.</p> : null}
|
|
96
|
+
{results.map(({ document }) => (
|
|
97
|
+
<a key={document.href} href={document.href} onClick={() => dialog.current?.close()}>
|
|
98
|
+
<strong>{document.title}</strong>
|
|
99
|
+
{document.description ? <span>{document.description}</span> : null}
|
|
100
|
+
<small>{excerpt(document.text, query.trim().split(/\s+/)[0] ?? query)}</small>
|
|
101
|
+
</a>
|
|
102
|
+
))}
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</dialog>
|
|
106
|
+
</div>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
|
|
3
|
+
import type { DocsNavNode } from '../../../src/components/navigation.js';
|
|
4
|
+
|
|
5
|
+
type SidebarFrontmatter = {
|
|
6
|
+
label?: string;
|
|
7
|
+
order?: number;
|
|
8
|
+
hidden?: boolean;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
type DocsFrontmatter = {
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
hue?: number | null;
|
|
15
|
+
label?: string;
|
|
16
|
+
order?: number;
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
visibility?: 'visible' | 'hidden';
|
|
19
|
+
sidebar?: SidebarFrontmatter;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type ContentModule = {
|
|
23
|
+
Content?: unknown;
|
|
24
|
+
default?: unknown;
|
|
25
|
+
frontmatter?: DocsFrontmatter;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type SitePage = {
|
|
29
|
+
file: string;
|
|
30
|
+
slug: string;
|
|
31
|
+
title: string;
|
|
32
|
+
sidebarLabel?: string;
|
|
33
|
+
description: string;
|
|
34
|
+
hue?: number | null;
|
|
35
|
+
hidden: boolean;
|
|
36
|
+
order: number;
|
|
37
|
+
content: unknown;
|
|
38
|
+
markdown: string;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const modules = import.meta.glob<ContentModule>('/docs/**/*.{md,mdx}', { eager: true });
|
|
42
|
+
const sources = import.meta.glob<string>('/docs/**/*.{md,mdx}', {
|
|
43
|
+
query: '?raw',
|
|
44
|
+
import: 'default',
|
|
45
|
+
eager: true,
|
|
46
|
+
});
|
|
47
|
+
const base = import.meta.env.BASE_URL;
|
|
48
|
+
|
|
49
|
+
function titleFromSource(source: string, slug: string): string {
|
|
50
|
+
const body = source.replace(/^---\s*\n[\s\S]*?\n---\s*\n/, '');
|
|
51
|
+
const heading = /^#\s+(.+?)\s*#*\s*$/m.exec(body)?.[1]?.trim();
|
|
52
|
+
if (heading) return heading;
|
|
53
|
+
const name = slug.split('/').at(-1) || 'Overview';
|
|
54
|
+
return name.replace(/[-_]+/g, ' ').replace(/\b\p{L}/gu, (letter) => letter.toUpperCase());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function routeForFile(file: string): string {
|
|
58
|
+
const relative = file.replace(/^\/?docs\//, '').replace(/\.(?:md|mdx)$/i, '');
|
|
59
|
+
return relative.replace(/(?:^|\/)index$/i, '').replace(/^\/+|\/+$/g, '');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const routes = new Map<string, string>();
|
|
63
|
+
export const sitePages: SitePage[] = Object.entries(modules)
|
|
64
|
+
.map(([file, module]) => {
|
|
65
|
+
const slug = routeForFile(file);
|
|
66
|
+
const previous = routes.get(slug);
|
|
67
|
+
if (previous) {
|
|
68
|
+
throw new Error(`Duplicate Docs route "${slug || '/'}": ${previous} and ${file}`);
|
|
69
|
+
}
|
|
70
|
+
routes.set(slug, file);
|
|
71
|
+
const markdown = sources[file] ?? '';
|
|
72
|
+
const frontmatter = module.frontmatter ?? {};
|
|
73
|
+
return {
|
|
74
|
+
file,
|
|
75
|
+
slug,
|
|
76
|
+
title: frontmatter.title ?? titleFromSource(markdown, slug),
|
|
77
|
+
...((frontmatter.sidebar?.label ?? frontmatter.label) ? { sidebarLabel: frontmatter.sidebar?.label ?? frontmatter.label } : {}),
|
|
78
|
+
description: frontmatter.description ?? '',
|
|
79
|
+
...(frontmatter.hue !== undefined ? { hue: frontmatter.hue } : {}),
|
|
80
|
+
hidden: frontmatter.sidebar?.hidden ?? frontmatter.hidden ?? frontmatter.visibility === 'hidden',
|
|
81
|
+
order: frontmatter.sidebar?.order ?? frontmatter.order ?? Number.MAX_SAFE_INTEGER,
|
|
82
|
+
content: module.Content ?? module.default,
|
|
83
|
+
markdown: markdown.replace(/^---\s*\n[\s\S]*?\n---\s*\n/, ''),
|
|
84
|
+
};
|
|
85
|
+
})
|
|
86
|
+
.sort((left, right) => left.order - right.order || left.file.localeCompare(right.file));
|
|
87
|
+
|
|
88
|
+
if (sitePages.length === 0) {
|
|
89
|
+
throw new Error('No Markdown files found in docs/. Add docs/index.md to start a Terra Docs site.');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type MutableNode = Omit<DocsNavNode, 'children'> & { children: Map<string, MutableNode> };
|
|
93
|
+
const rootNodes = new Map<string, MutableNode>();
|
|
94
|
+
|
|
95
|
+
function label(value: string): string {
|
|
96
|
+
return value.replace(/[-_]+/g, ' ').replace(/\b\p{L}/gu, (letter) => letter.toUpperCase());
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
for (const page of sitePages.filter((item) => !item.hidden && item.slug !== '404')) {
|
|
100
|
+
const segments = page.slug.split('/').filter(Boolean);
|
|
101
|
+
let currentNodes = rootNodes;
|
|
102
|
+
let current: MutableNode | undefined;
|
|
103
|
+
let prefix = '';
|
|
104
|
+
if (segments.length === 0) {
|
|
105
|
+
const overview = currentNodes.get('overview') ?? {
|
|
106
|
+
id: 'overview', title: 'Overview', children: new Map(),
|
|
107
|
+
};
|
|
108
|
+
if (!currentNodes.has('overview')) currentNodes.set('overview', overview);
|
|
109
|
+
Object.assign(overview, pageMetadata(page, pageHref('', base)));
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
for (const segment of segments) {
|
|
113
|
+
prefix = prefix ? `${prefix}/${segment}` : segment;
|
|
114
|
+
let node = currentNodes.get(segment);
|
|
115
|
+
if (!node) {
|
|
116
|
+
node = { id: prefix, title: label(segment), children: new Map() };
|
|
117
|
+
currentNodes.set(segment, node);
|
|
118
|
+
}
|
|
119
|
+
current = node;
|
|
120
|
+
currentNodes = node.children;
|
|
121
|
+
}
|
|
122
|
+
if (current) Object.assign(current, pageMetadata(page, pageHref(page.slug, base)));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function pageMetadata(page: SitePage, href: string): Partial<MutableNode> {
|
|
126
|
+
return {
|
|
127
|
+
id: page.slug || 'index',
|
|
128
|
+
title: page.sidebarLabel ?? page.title,
|
|
129
|
+
href,
|
|
130
|
+
...(page.description ? { description: page.description } : {}),
|
|
131
|
+
...(page.hue !== undefined ? { hue: page.hue } : {}),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function materialize(nodes: Map<string, MutableNode>): DocsNavNode[] {
|
|
136
|
+
return [...nodes.values()].map(({ children, ...node }) => ({
|
|
137
|
+
...node,
|
|
138
|
+
...(children.size ? { children: materialize(children) } : {}),
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export const siteNavigation = materialize(rootNodes);
|
|
143
|
+
|
|
144
|
+
export function pageHref(slug: string, base = '/'): string {
|
|
145
|
+
const prefix = base === '/' ? '' : `/${base.replace(/^\/+|\/+$/g, '')}`;
|
|
146
|
+
return slug ? `${prefix}/${slug}/` : `${prefix}/`;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function pageForSlug(slug: string): SitePage | undefined {
|
|
150
|
+
return sitePages.find((page) => page.slug === slug);
|
|
151
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsNotFound from '../../../src/components/NotFound.astro';
|
|
3
|
+
import DocsSiteLayout from '../../../src/components/SiteLayout.astro';
|
|
4
|
+
import { pageForSlug, pageHref, siteNavigation } from '../lib/catalog.js';
|
|
5
|
+
|
|
6
|
+
const title = import.meta.env.PUBLIC_TERRA_DOCS_TITLE ?? 'Documentation';
|
|
7
|
+
const description = import.meta.env.PUBLIC_TERRA_DOCS_DESCRIPTION ?? '';
|
|
8
|
+
const base = import.meta.env.BASE_URL;
|
|
9
|
+
const page = pageForSlug('404');
|
|
10
|
+
const PageContent = page?.content;
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<html lang="en">
|
|
14
|
+
<head>
|
|
15
|
+
<meta charset="utf-8" />
|
|
16
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
17
|
+
<meta name="robots" content="noindex" />
|
|
18
|
+
<title>Page not found · {title}</title>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
{PageContent ? (
|
|
22
|
+
<DocsSiteLayout
|
|
23
|
+
title={title}
|
|
24
|
+
homeHref={pageHref('', base)}
|
|
25
|
+
description={description}
|
|
26
|
+
pageTitle={page.title}
|
|
27
|
+
nodes={siteNavigation}
|
|
28
|
+
currentPath={`${base}404/`}
|
|
29
|
+
rootPath={pageHref('', base)}
|
|
30
|
+
searchBase={base}
|
|
31
|
+
>
|
|
32
|
+
<PageContent />
|
|
33
|
+
</DocsSiteLayout>
|
|
34
|
+
) : (
|
|
35
|
+
<DocsNotFound appName={title} homeHref={pageHref('', base)} />
|
|
36
|
+
)}
|
|
37
|
+
</body>
|
|
38
|
+
</html>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocsSiteLayout from '../../../src/components/SiteLayout.astro';
|
|
3
|
+
import { pageForSlug, pageHref, siteNavigation, sitePages } from '../lib/catalog.js';
|
|
4
|
+
|
|
5
|
+
const title = import.meta.env.PUBLIC_TERRA_DOCS_TITLE ?? 'Documentation';
|
|
6
|
+
const description = import.meta.env.PUBLIC_TERRA_DOCS_DESCRIPTION ?? '';
|
|
7
|
+
const base = import.meta.env.BASE_URL;
|
|
8
|
+
|
|
9
|
+
export function getStaticPaths() {
|
|
10
|
+
return sitePages.filter((page) => page.slug !== '404').map((page) => ({
|
|
11
|
+
params: { slug: page.slug || undefined },
|
|
12
|
+
props: { slug: page.slug },
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const { slug = '' } = Astro.props;
|
|
17
|
+
const page = pageForSlug(slug);
|
|
18
|
+
const PageContent = page?.content;
|
|
19
|
+
const currentPath = pageHref(slug, base);
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
{page && PageContent ? (
|
|
23
|
+
<html lang="en">
|
|
24
|
+
<head>
|
|
25
|
+
<meta charset="utf-8" />
|
|
26
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
27
|
+
{page.description ? <meta name="description" content={page.description} /> : description ? <meta name="description" content={description} /> : null}
|
|
28
|
+
<title>{page.title} · {title}</title>
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<DocsSiteLayout
|
|
32
|
+
title={title}
|
|
33
|
+
homeHref={pageHref('', base)}
|
|
34
|
+
description={description}
|
|
35
|
+
pageTitle={page.title}
|
|
36
|
+
nodes={siteNavigation}
|
|
37
|
+
currentPath={currentPath}
|
|
38
|
+
rootPath={pageHref('', base)}
|
|
39
|
+
searchBase={base}
|
|
40
|
+
>
|
|
41
|
+
<div class="terra-docs-page-content"><PageContent /></div>
|
|
42
|
+
</DocsSiteLayout>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|
|
45
|
+
) : null}
|
|
46
|
+
|
|
47
|
+
<style is:global>
|
|
48
|
+
.terra-docs-page-content { max-width: 100%; }
|
|
49
|
+
</style>
|