docs(ui): publish complete component catalog
This commit is contained in:
@@ -29,6 +29,12 @@ const uiReference = existsSync(uiReferencePath)
|
||||
}>;
|
||||
})
|
||||
: undefined;
|
||||
const componentSlug = (name: string) =>
|
||||
(name === "file-upload" ? "file-upload-primitive" : name)
|
||||
.replace(/([a-z0-9])([A-Z])/g, "$1-$2")
|
||||
.replace(/[^a-zA-Z0-9]+/g, "-")
|
||||
.replace(/^-|-$/g, "")
|
||||
.toLowerCase();
|
||||
const uiReferenceText = uiReference
|
||||
? uiReference.components
|
||||
.map(
|
||||
@@ -49,6 +55,7 @@ const code = (s: string) =>
|
||||
const navigation = [
|
||||
["/getting-started", "Get started"],
|
||||
["/packages", "Packages"],
|
||||
["/components", "Components"],
|
||||
["/language", "Language"],
|
||||
["/architecture", "Architecture"],
|
||||
] as const;
|
||||
@@ -119,8 +126,8 @@ function marketingShell(description: string, body: string) {
|
||||
view {
|
||||
<SkipLink label="Skip to content" href="#main" class="docs-skip-link" />
|
||||
<div class="docs-shell marketing-shell">
|
||||
<header class="topbar marketing-header"><a class="brand" href="/"><span>W</span> WRNexusJS</a><nav aria-label="Primary"><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="/language">Language</a><a href="/architecture">Architecture</a></nav><div class="topbar-actions"><a class="preview-pill" href="/access">Private preview · v${version}</a><button data-wire-theme-toggle class="theme-button" aria-label="Toggle color theme">◐</button></div></header>
|
||||
<div class="marketing-mobile-nav"><details><summary>Menu</summary><nav><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="/language">Language</a><a href="/architecture">Architecture</a><a href="/tutorial">Tutorial</a><a href="/examples">Examples</a></nav></details></div>
|
||||
<header class="topbar marketing-header"><a class="brand" href="/"><span>W</span> WRNexusJS</a><nav aria-label="Primary"><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="/components">Components</a><a href="/language">Language</a><a href="/architecture">Architecture</a></nav><div class="topbar-actions"><a class="preview-pill" href="/access">Private preview · v${version}</a><button data-wire-theme-toggle class="theme-button" aria-label="Toggle color theme">◐</button></div></header>
|
||||
<div class="marketing-mobile-nav"><details><summary>Menu</summary><nav><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="/components">Components</a><a href="/language">Language</a><a href="/architecture">Architecture</a><a href="/tutorial">Tutorial</a><a href="/examples">Examples</a></nav></details></div>
|
||||
<main id="main" class="marketing-main">${marketingBody}</main>
|
||||
<footer><div class="footer-brand"><span class="footer-mark" aria-hidden="true">W</span><p><strong>WRNexusJS ${version}</strong><span>Build from the server. Ship only what matters.</span></p></div><nav aria-label="Footer"><a href="/getting-started">Documentation</a><a href="/roadmap">Roadmap</a><a href="/security">Security</a><a href="/support">Support</a><a href="/llms.txt">AI guide</a></nav><p class="footer-meta">Bun-native · Created by <a href="https://workroot.in/">WorkRoot</a></p></footer>
|
||||
<BackToTop />
|
||||
@@ -464,6 +471,7 @@ const routes = [
|
||||
"/architecture",
|
||||
"/language",
|
||||
"/packages",
|
||||
"/components",
|
||||
...Object.keys(guides).map((x) => `/guides/${x}`),
|
||||
"/examples",
|
||||
"/showcase",
|
||||
@@ -477,7 +485,13 @@ const routes = [
|
||||
"/search",
|
||||
"/404",
|
||||
].filter(Boolean);
|
||||
const urls = [...new Set([...routes, ...packageNames.map((x) => `/packages/${x}`)])];
|
||||
const urls = [
|
||||
...new Set([
|
||||
...routes,
|
||||
...packageNames.map((x) => `/packages/${x}`),
|
||||
...(uiReference?.components.map((item) => `/components/${componentSlug(item.name)}`) ?? []),
|
||||
]),
|
||||
];
|
||||
writeFileSync(
|
||||
join(pub, "robots.txt"),
|
||||
`User-agent: *\nAllow: /\nSitemap: https://wrnexusjs.dev/sitemap.xml\n`,
|
||||
|
||||
Reference in New Issue
Block a user