mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
Embedded documentation pages converted from the website's Mintlify sources carry Mintlify components that the two existing `system.documentation` consumers did not understand: the built-in `/docs` page dropped a `<Tab>` (an unknown element is sanitized away with its whole subtree, losing e.g. all three syntax variants of `azureBlobStorage`), and the client `help` renderer printed the raw JSX for `<Note>` / `<Tab>` / `<Card>` literally. Teach both presentation layers the component set the converted bodies use, keeping `system.documentation` itself as the raw single source of truth: - `docs.html`: map `<Note>`/`<Warning>`/`<Tip>`/`<Info>`/`<Check>`/ `<Danger>`/`<Caution>` onto the `:::type` admonition syntax (rendered by the existing admonition extension), keep `<Tab title>`/`<TabItem label>`/`<Card title>` titles as bold lines, strip the remaining known component tags while preserving their children, and strip any leftover self-closing PascalCase component (an unimported website snippet would otherwise swallow the rest of the document as its subtree). - `TerminalMarkdownRenderer`: render a whole-line `<Note>`...`</Note>` like its `:::note` equivalent, keep `Tab`/`Card` titles as bold lines, drop the other known component tag lines and self-closing components, and keep rendering unknown non-self-closing tags literally so `<...>` placeholders in prose survive. Covered by new `TerminalMarkdownRenderer` unit tests and the stateless test `04601_docs_web_ui_mintlify_components`.