feat: add fullscreen docs demo routes

This commit is contained in:
3252a8
2026-05-28 14:59:54 +03:00
parent 7e0e8ff319
commit d544ebd879
10 changed files with 369 additions and 32 deletions
@@ -0,0 +1,65 @@
import { copyFile, mkdir } from "node:fs/promises";
import path from "node:path";
import { fileURLToPath } from "node:url";
const siteRoot = path.resolve(fileURLToPath(new URL("..", import.meta.url)));
const distRoot = path.join(siteRoot, "dist");
const userRoutes = [
"home",
"install",
"trial",
"invite",
"devices",
"support",
"settings",
];
const adminRoutes = [
"stats",
"users",
"payments",
"promos",
"ads",
"broadcast",
"logs",
"support",
"tariffs",
"appearance",
"translations",
"backups",
"settings",
];
const demoRoutes = [
...userRoutes.map((route) => `demo/${route}`),
"demo/admin",
...adminRoutes.map((route) => `demo/admin/${route}`),
];
const runtimeRoutes = [
...userRoutes.map((route) => `demo/runtime/${route}`),
"demo/runtime/admin",
...adminRoutes.map((route) => `demo/runtime/admin/${route}`),
];
async function copyHtml(source, route) {
const targetDir = path.join(distRoot, route);
await mkdir(targetDir, { recursive: true });
await copyFile(source, path.join(targetDir, "index.html"));
}
const demoShell = path.join(distRoot, "demo", "index.html");
const runtimeApp = path.join(distRoot, "demo", "runtime", "app.html");
for (const route of demoRoutes) {
await copyHtml(demoShell, route);
}
for (const route of runtimeRoutes) {
await copyHtml(runtimeApp, route);
}
console.log(
`Materialized ${demoRoutes.length} public demo routes and ${runtimeRoutes.length} runtime routes`,
);
+1 -1
View File
@@ -102,7 +102,7 @@ function extraFrontmatter(sourceRelativePath) {
' html: \'<img class="minishop-hero-screenshot" src="/remnawave-minishop.webp" alt="Интерфейс Remnawave Minishop" width="1920" height="1080" loading="eager" decoding="async" />\'',
' actions:',
' - text: "Демо"',
' link: /demo/',
' link: /demo/home',
' icon: right-arrow',
' - text: "Установка"',
' link: /getting-started/setup/',