mdsvr 2.3.1 → 2.3.4
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 +8 -3
- package/dist/generators/sitemap.d.ts.map +1 -1
- package/dist/generators/sitemap.js +6 -1
- package/dist/generators/sitemap.js.map +1 -1
- package/dist/generators/static-export.d.ts.map +1 -1
- package/dist/generators/static-export.js +40 -151
- package/dist/generators/static-export.js.map +1 -1
- package/dist/link-transform.d.ts +10 -0
- package/dist/link-transform.d.ts.map +1 -0
- package/dist/link-transform.js +29 -0
- package/dist/link-transform.js.map +1 -0
- package/dist/render-page.d.ts +45 -0
- package/dist/render-page.d.ts.map +1 -0
- package/dist/render-page.js +142 -0
- package/dist/render-page.js.map +1 -0
- package/dist/renderer/markdown.d.ts.map +1 -1
- package/dist/renderer/markdown.js +3 -0
- package/dist/renderer/markdown.js.map +1 -1
- package/dist/renderer/math.d.ts +15 -0
- package/dist/renderer/math.d.ts.map +1 -0
- package/dist/renderer/math.js +191 -0
- package/dist/renderer/math.js.map +1 -0
- package/dist/renderer/mdx.d.ts.map +1 -1
- package/dist/renderer/mdx.js +9 -2
- package/dist/renderer/mdx.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +92 -105
- package/dist/router.js.map +1 -1
- package/dist/server.d.ts +4 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +19 -18
- package/dist/server.js.map +1 -1
- package/dist/settings/index.d.ts +2 -1
- package/dist/settings/index.d.ts.map +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/settings/index.js.map +1 -1
- package/dist/settings/schema.d.ts +8 -0
- package/dist/settings/schema.d.ts.map +1 -1
- package/dist/settings/schema.js +3 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/template/index.d.ts.map +1 -1
- package/dist/template/index.js +12 -0
- package/dist/template/index.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -101,6 +101,8 @@ When navigating to a directory without a README, mdsvr renders a clean listing o
|
|
|
101
101
|
- Sensitive extensions (`.env`, `.key`, `.pem`, etc.) are blocked by default
|
|
102
102
|
- Server is strictly read-only — no write operations exposed
|
|
103
103
|
|
|
104
|
+
> **Trusted content only:** mdsvr renders raw HTML in Markdown and executes MDX inside the server process. These protections control _file access_ — they are not content sandboxing. Only serve a docs root you trust; do not accept Markdown/MDX uploads from untrusted users.
|
|
105
|
+
|
|
104
106
|
## Quick Start
|
|
105
107
|
|
|
106
108
|
```bash
|
|
@@ -136,8 +138,8 @@ mdsvr ./docs
|
|
|
136
138
|
Pull and run with Docker:
|
|
137
139
|
|
|
138
140
|
```bash
|
|
139
|
-
docker pull
|
|
140
|
-
docker run -d --name docs-server -p 1800:1800 -v /path/to/docs:/app/docs
|
|
141
|
+
docker pull ghcr.io/satoshiman/mdsvr:latest
|
|
142
|
+
docker run -d --name docs-server -p 1800:1800 -v /path/to/docs:/app/docs:ro ghcr.io/satoshiman/mdsvr:latest
|
|
141
143
|
```
|
|
142
144
|
|
|
143
145
|
Then open http://localhost:1800 in your browser.
|
|
@@ -146,7 +148,7 @@ Then open http://localhost:1800 in your browser.
|
|
|
146
148
|
|
|
147
149
|
```bash
|
|
148
150
|
docker build -t mdsvr:latest .
|
|
149
|
-
docker run -d --name docs-server -p 1800:1800 -v /path/to/docs:/app/docs mdsvr:latest
|
|
151
|
+
docker run -d --name docs-server -p 1800:1800 -v /path/to/docs:/app/docs:ro mdsvr:latest
|
|
150
152
|
```
|
|
151
153
|
|
|
152
154
|
## CLI Usage
|
|
@@ -275,6 +277,8 @@ await server.reloadSettings();
|
|
|
275
277
|
process.on("SIGINT", () => server.close());
|
|
276
278
|
```
|
|
277
279
|
|
|
280
|
+
> **Warning:** MDX is compiled and executed inside the server process at render time. Only point `createServer` at a docs root you trust — mdsvr is not a sandbox for untrusted content.
|
|
281
|
+
|
|
278
282
|
### Accessing Settings
|
|
279
283
|
|
|
280
284
|
```typescript
|
|
@@ -418,6 +422,7 @@ docs/
|
|
|
418
422
|
- **Hidden files**: Files starting with `_` or listed in `_mdsvr/settings.json` are hidden
|
|
419
423
|
- **Blocked extensions**: `.env`, `.key`, `.pem`, etc. are blocked by default
|
|
420
424
|
- **Read-only**: Server only serves files, no write operations
|
|
425
|
+
- **Trusted content required**: Raw HTML in Markdown is rendered and MDX is executed in the server process. File-access protection above is not a content sandbox — only serve docs roots you trust.
|
|
421
426
|
|
|
422
427
|
## Requirements
|
|
423
428
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../src/generators/sitemap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../src/generators/sitemap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA+FrD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CA6BjB"}
|
|
@@ -28,7 +28,12 @@ async function readDirRecursive(dirPath, rootDir, baseUrl, settings) {
|
|
|
28
28
|
(item.name.endsWith(".mdx") && settings.mdx.enabled)) {
|
|
29
29
|
try {
|
|
30
30
|
const relativePath = "/" + path.relative(rootDir, fullPath).replace(/\\/g, "/");
|
|
31
|
-
|
|
31
|
+
let urlPath = relativePath.replace(/\.(md|mdx)$/, "");
|
|
32
|
+
// README files render at the directory index URL
|
|
33
|
+
if (path.basename(urlPath).toLowerCase() === "readme") {
|
|
34
|
+
const dirPath = path.dirname(urlPath);
|
|
35
|
+
urlPath = dirPath === "/" ? "/" : `${dirPath}/`;
|
|
36
|
+
}
|
|
32
37
|
const fullUrl = `${baseUrl.replace(/\/$/, "")}${urlPath}`;
|
|
33
38
|
// Try to get lastmod from frontmatter or file stat
|
|
34
39
|
let lastmod;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/generators/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AASjC,SAAS,QAAQ,CAAC,QAAgB,EAAE,QAAkB;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAe,EACf,OAAe,EACf,OAAe,EACf,QAAkB;IAElB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAAE,SAAS;QAE3C,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,IACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EACpD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,YAAY,GAChB,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC7D,
|
|
1
|
+
{"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/generators/sitemap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-export.d.ts","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAkBrD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"static-export.d.ts","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAkBrD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6M5E"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { promises as fs } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
|
-
import {
|
|
5
|
-
import { renderMdx } from "../renderer/mdx.js";
|
|
6
|
-
import { renderPage } from "../template/index.js";
|
|
7
|
-
import { buildSidebar } from "../template/sidebar.js";
|
|
8
|
-
import { renderDirectory } from "../directory.js";
|
|
4
|
+
import { renderPageService, renderDirectoryPage, isHidden, isBlocked, isAllowedExtension, } from "../render-page.js";
|
|
9
5
|
import { buildSearchIndex } from "./search-index.js";
|
|
6
|
+
import { generateSitemap } from "./sitemap.js";
|
|
7
|
+
import { generateFeed } from "./feed.js";
|
|
10
8
|
import { generateOgImage, getOgImagePath, } from "../og/index.js";
|
|
11
9
|
import { loadExportState, saveExportState, migrateOldState, cleanupOrphanedFiles, calculateFileHash, calculateSettingsHash, } from "../export-state.js";
|
|
12
10
|
export async function exportStaticSite(options) {
|
|
@@ -126,7 +124,25 @@ export async function exportStaticSite(options) {
|
|
|
126
124
|
console.log(` ✓ search-index.json (${searchIndex.length} entries)`);
|
|
127
125
|
}
|
|
128
126
|
}
|
|
129
|
-
// 7.
|
|
127
|
+
// 7. Generate sitemap.xml if enabled
|
|
128
|
+
if (settings.seo.generateSitemap) {
|
|
129
|
+
const sitemap = await generateSitemap(absRootDir, settings);
|
|
130
|
+
const sitemapPath = path.join(absOutputDir, "sitemap.xml");
|
|
131
|
+
await fs.writeFile(sitemapPath, sitemap, "utf-8");
|
|
132
|
+
if (!silent) {
|
|
133
|
+
console.log(` ✓ sitemap.xml`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// 8. Generate RSS/Atom feed if enabled
|
|
137
|
+
if (settings.seo.generateRssFeed) {
|
|
138
|
+
const feed = await generateFeed(absRootDir, settings);
|
|
139
|
+
const feedPath = path.join(absOutputDir, "feed.xml");
|
|
140
|
+
await fs.writeFile(feedPath, feed, "utf-8");
|
|
141
|
+
if (!silent) {
|
|
142
|
+
console.log(` ✓ feed.xml`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// 9. Save new export state (only OG state)
|
|
130
146
|
const finalState = {
|
|
131
147
|
settingsHash: currentSettingsHash,
|
|
132
148
|
html: {},
|
|
@@ -238,46 +254,21 @@ async function processDirectory(dirPath, outputPath, rootDir, outputDir, setting
|
|
|
238
254
|
return count;
|
|
239
255
|
}
|
|
240
256
|
async function renderMarkdownFile(filePath, outputPath, urlPath, rootDir, outputDir, settings) {
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
let result;
|
|
244
|
-
if (ext === ".mdx" && settings.mdx.enabled) {
|
|
245
|
-
result = await renderMdx(content, settings);
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
result = renderMarkdown(content, settings);
|
|
249
|
-
}
|
|
250
|
-
const title = result.frontmatter.title ||
|
|
251
|
-
extractFirstHeading(content) ||
|
|
252
|
-
humanizeFilename(path.basename(filePath, ext));
|
|
253
|
-
// Build sidebar if enabled
|
|
254
|
-
let sidebar = [];
|
|
255
|
-
if (settings.navigation.sidebar.enabled) {
|
|
256
|
-
sidebar = await buildSidebar(rootDir, urlPath, settings, true);
|
|
257
|
-
}
|
|
258
|
-
// Fix asset paths for subdirectories
|
|
259
|
-
const fixedHtml = fixAssetPaths(result.html, urlPath);
|
|
260
|
-
// Convert .md/.mdx links to clean URLs for static export
|
|
261
|
-
const cleanUrlHtml = convertMarkdownLinks(fixedHtml);
|
|
262
|
-
const html = renderPage({
|
|
263
|
-
title,
|
|
264
|
-
body: cleanUrlHtml,
|
|
265
|
-
filePath: urlPath,
|
|
266
|
-
settings,
|
|
267
|
-
frontmatter: result.frontmatter,
|
|
268
|
-
toc: result.toc,
|
|
269
|
-
sidebar,
|
|
257
|
+
const page = await renderPageService({
|
|
258
|
+
sourcePath: filePath,
|
|
270
259
|
urlPath,
|
|
271
|
-
|
|
260
|
+
rootDir,
|
|
261
|
+
settings,
|
|
262
|
+
mode: "static",
|
|
272
263
|
});
|
|
273
|
-
await fs.writeFile(outputPath, html, "utf-8");
|
|
264
|
+
await fs.writeFile(outputPath, page.html, "utf-8");
|
|
274
265
|
// Return page info for OG generation
|
|
275
266
|
return {
|
|
276
267
|
urlPath,
|
|
277
268
|
outputPath,
|
|
278
269
|
sourcePath: filePath,
|
|
279
|
-
title,
|
|
280
|
-
description:
|
|
270
|
+
title: page.title,
|
|
271
|
+
description: page.description,
|
|
281
272
|
};
|
|
282
273
|
}
|
|
283
274
|
async function copyFile(src, dest) {
|
|
@@ -285,23 +276,6 @@ async function copyFile(src, dest) {
|
|
|
285
276
|
const data = await fs.readFile(src);
|
|
286
277
|
await fs.writeFile(dest, data);
|
|
287
278
|
}
|
|
288
|
-
function isHidden(filename, settings) {
|
|
289
|
-
for (const pattern of settings.files.extensions.hidden) {
|
|
290
|
-
if (filename === pattern)
|
|
291
|
-
return true;
|
|
292
|
-
if (pattern.startsWith("*") && filename.endsWith(pattern.slice(1)))
|
|
293
|
-
return true;
|
|
294
|
-
}
|
|
295
|
-
if (filename.startsWith("_"))
|
|
296
|
-
return true;
|
|
297
|
-
return false;
|
|
298
|
-
}
|
|
299
|
-
function isBlocked(ext, settings) {
|
|
300
|
-
return settings.files.extensions.block.includes(ext);
|
|
301
|
-
}
|
|
302
|
-
function isAllowedExtension(ext, settings) {
|
|
303
|
-
return settings.files.extensions.serve.includes(ext);
|
|
304
|
-
}
|
|
305
279
|
function isStaticFolder(folderName, settings) {
|
|
306
280
|
return settings.files.staticFolders.includes(folderName);
|
|
307
281
|
}
|
|
@@ -328,66 +302,6 @@ async function copyStaticFolder(srcDir, destDir, rootDir, silent) {
|
|
|
328
302
|
}
|
|
329
303
|
}
|
|
330
304
|
}
|
|
331
|
-
function extractFirstHeading(content) {
|
|
332
|
-
const h1Match = content.match(/^#\s+(.+)$/m);
|
|
333
|
-
if (h1Match) {
|
|
334
|
-
return h1Match[1].trim();
|
|
335
|
-
}
|
|
336
|
-
return null;
|
|
337
|
-
}
|
|
338
|
-
function fixAssetPaths(html, urlPath) {
|
|
339
|
-
// Calculate the root path for assets (everything up to the current directory)
|
|
340
|
-
const pathSegments = urlPath.split("/").filter(Boolean);
|
|
341
|
-
// Build the absolute assets path based on the current directory structure
|
|
342
|
-
let absoluteAssetsPath = "";
|
|
343
|
-
if (pathSegments.length === 0) {
|
|
344
|
-
// Root level: /assets/
|
|
345
|
-
absoluteAssetsPath = "/assets/";
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
// Subdirectory: assets are at the root level of the project
|
|
349
|
-
// Use all segments except the last one to build the path to assets
|
|
350
|
-
// For /k8s/LFS158-docs/12/, assets should be at /k8s/LFS158-docs/assets/
|
|
351
|
-
const rootSegments = pathSegments.slice(0, -1);
|
|
352
|
-
if (rootSegments.length > 0) {
|
|
353
|
-
absoluteAssetsPath = "/" + rootSegments.join("/") + "/assets/";
|
|
354
|
-
}
|
|
355
|
-
else {
|
|
356
|
-
absoluteAssetsPath = "/assets/";
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
// Replace all relative assets/ paths with absolute paths
|
|
360
|
-
return html.replace(/(src|href|data-src|poster|content)="assets\//g, `$1="${absoluteAssetsPath}`);
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Convert .md/.mdx links to clean URLs for static export
|
|
364
|
-
* This ensures links work in static HTML where clean URLs are used
|
|
365
|
-
*/
|
|
366
|
-
function convertMarkdownLinks(html) {
|
|
367
|
-
// Match markdown links: [text](path) and [text](path#anchor)
|
|
368
|
-
// Also match image links:  - but we skip those
|
|
369
|
-
return html.replace(/(?<!\!)\[([^\]]+)\]\(([^)]+)\)/g, (match, text, url) => {
|
|
370
|
-
// Skip external links
|
|
371
|
-
if (url.startsWith("http://") ||
|
|
372
|
-
url.startsWith("https://") ||
|
|
373
|
-
url.startsWith("//")) {
|
|
374
|
-
return match;
|
|
375
|
-
}
|
|
376
|
-
// Skip mailto, tel, and other protocols
|
|
377
|
-
if (/^[a-z]+:/i.test(url) && !url.startsWith("#")) {
|
|
378
|
-
return match;
|
|
379
|
-
}
|
|
380
|
-
// Remove .md or .mdx extension from the URL
|
|
381
|
-
const cleanUrl = url.replace(/\.(md|mdx)(#|$)/i, (_m, _ext, suffix) => {
|
|
382
|
-
// If there's an anchor, preserve it
|
|
383
|
-
return suffix === "#" ? "#" : "";
|
|
384
|
-
});
|
|
385
|
-
return `[${text}](${cleanUrl})`;
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
function humanizeFilename(filename) {
|
|
389
|
-
return filename.replace(/[-_]/g, " ").replace(/^\w/, (c) => c.toUpperCase());
|
|
390
|
-
}
|
|
391
305
|
/**
|
|
392
306
|
* Calculate hash for a directory's contents (for auto-index pages)
|
|
393
307
|
* This ensures OG images for directories without README are only regenerated
|
|
@@ -546,45 +460,20 @@ async function createEmptyIndexFile(dirPath) {
|
|
|
546
460
|
}
|
|
547
461
|
}
|
|
548
462
|
async function generateAutoIndex(dirInfo, rootDir, settings) {
|
|
549
|
-
//
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
const visibleEntries = entries.filter((entry) => !entry.name.startsWith(".") &&
|
|
554
|
-
!entry.name.startsWith("_") &&
|
|
555
|
-
!settings.files.extensions.hidden.includes(entry.name) &&
|
|
556
|
-
!(entry.isFile() && entry.name === "index.html"));
|
|
557
|
-
// Add size information to entries (matching server behavior)
|
|
558
|
-
const entriesWithSize = await Promise.all(visibleEntries.map(async (entry) => {
|
|
559
|
-
if (entry.isFile()) {
|
|
560
|
-
const fullPath = path.join(dirInfo.outputPath, entry.name);
|
|
561
|
-
const stat = await fs.stat(fullPath);
|
|
562
|
-
return Object.assign(entry, { size: stat.size });
|
|
563
|
-
}
|
|
564
|
-
return Object.assign(entry, { size: 0 });
|
|
565
|
-
}));
|
|
566
|
-
// Build sidebar if enabled
|
|
567
|
-
let sidebar = [];
|
|
568
|
-
if (settings.navigation.sidebar.enabled) {
|
|
569
|
-
sidebar = await buildSidebar(rootDir, dirInfo.urlPath, settings, true);
|
|
570
|
-
}
|
|
571
|
-
// Use same renderDirectory as server, wrap in renderPage
|
|
572
|
-
const body = renderDirectory({
|
|
463
|
+
// List output directory contents (excludes dotfiles and the generated
|
|
464
|
+
// index.html itself), matching the server's directory listing behavior
|
|
465
|
+
const page = await renderDirectoryPage({
|
|
466
|
+
listDir: dirInfo.outputPath,
|
|
573
467
|
urlPath: dirInfo.urlPath,
|
|
574
|
-
|
|
575
|
-
});
|
|
576
|
-
const title = dirInfo.urlPath ? `Index of ${dirInfo.urlPath}` : "Index";
|
|
577
|
-
const html = renderPage({
|
|
578
|
-
title,
|
|
579
|
-
body,
|
|
580
|
-
filePath: dirInfo.urlPath,
|
|
468
|
+
rootDir,
|
|
581
469
|
settings,
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
470
|
+
mode: "static",
|
|
471
|
+
isEntryVisible: (entry) => !entry.name.startsWith(".") &&
|
|
472
|
+
!(entry.isFile() && entry.name === "index.html"),
|
|
473
|
+
title: dirInfo.urlPath ? `Index of ${dirInfo.urlPath}` : "Index",
|
|
585
474
|
});
|
|
586
475
|
const indexPath = path.join(dirInfo.outputPath, "index.html");
|
|
587
|
-
await fs.writeFile(indexPath, html, "utf-8");
|
|
476
|
+
await fs.writeFile(indexPath, page.html, "utf-8");
|
|
588
477
|
}
|
|
589
478
|
/**
|
|
590
479
|
* Clean up old HTML files (delete all HTML files before re-export)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-export.js","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"static-export.js","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert .md/.mdx links to clean URLs.
|
|
3
|
+
* Source content uses GitHub-compatible .md/.mdx links; this rewrites them
|
|
4
|
+
* for outputs where clean URLs are canonical (static export, cleanUrls serve).
|
|
5
|
+
*
|
|
6
|
+
* Works on rendered HTML (href attributes) as well as raw markdown
|
|
7
|
+
* [text](url) syntax.
|
|
8
|
+
*/
|
|
9
|
+
export declare function convertMarkdownLinks(html: string): string;
|
|
10
|
+
//# sourceMappingURL=link-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-transform.d.ts","sourceRoot":"","sources":["../src/link-transform.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAezD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function isExternalOrSpecial(url) {
|
|
2
|
+
if (url.startsWith("http://") ||
|
|
3
|
+
url.startsWith("https://") ||
|
|
4
|
+
url.startsWith("//")) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
// Skip mailto, tel, and other protocols (but keep #anchors)
|
|
8
|
+
return /^[a-z]+:/i.test(url) && !url.startsWith("#");
|
|
9
|
+
}
|
|
10
|
+
function stripMarkdownExt(url) {
|
|
11
|
+
return url.replace(/\.(md|mdx)(#|$)/i, (_m, _ext, suffix) => suffix === "#" ? "#" : "");
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Convert .md/.mdx links to clean URLs.
|
|
15
|
+
* Source content uses GitHub-compatible .md/.mdx links; this rewrites them
|
|
16
|
+
* for outputs where clean URLs are canonical (static export, cleanUrls serve).
|
|
17
|
+
*
|
|
18
|
+
* Works on rendered HTML (href attributes) as well as raw markdown
|
|
19
|
+
* [text](url) syntax.
|
|
20
|
+
*/
|
|
21
|
+
export function convertMarkdownLinks(html) {
|
|
22
|
+
// Rewrite HTML href attributes pointing at .md/.mdx files
|
|
23
|
+
let result = html.replace(/href="([^"]+)"/g, (match, url) => isExternalOrSpecial(url) ? match : `href="${stripMarkdownExt(url)}"`);
|
|
24
|
+
// Match markdown links: [text](path) and [text](path#anchor)
|
|
25
|
+
// Also match image links:  - but we skip those
|
|
26
|
+
result = result.replace(/(?<!\!)\[([^\]]+)\]\(([^)]+)\)/g, (match, text, url) => isExternalOrSpecial(url) ? match : `[${text}](${stripMarkdownExt(url)})`);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=link-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-transform.js","sourceRoot":"","sources":["../src/link-transform.ts"],"names":[],"mappings":"AAAA,SAAS,mBAAmB,CAAC,GAAW;IACtC,IACE,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,4DAA4D;IAC5D,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAc,EAAE,EAAE,CAClE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,0DAA0D;IAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAClE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,GAAG,CACrE,CAAC;IAEF,6DAA6D;IAC7D,4DAA4D;IAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,iCAAiC,EACjC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAW,EAAE,EAAE,CAC3B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAC3E,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type Dirent } from "node:fs";
|
|
2
|
+
import { type TocItem } from "./renderer/markdown.js";
|
|
3
|
+
import type { Settings } from "./settings/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Unified page-rendering service (ADR-0007).
|
|
6
|
+
* "dynamic" mode is used by the HTTP adapter (router); "static" mode is used
|
|
7
|
+
* by the static exporter. Static mode additionally rewrites asset paths and
|
|
8
|
+
* converts .md/.mdx links to clean URLs.
|
|
9
|
+
*/
|
|
10
|
+
export type RenderMode = "dynamic" | "static";
|
|
11
|
+
export interface RenderPageInput {
|
|
12
|
+
sourcePath: string;
|
|
13
|
+
urlPath: string;
|
|
14
|
+
rootDir: string;
|
|
15
|
+
settings: Settings;
|
|
16
|
+
mode: RenderMode;
|
|
17
|
+
}
|
|
18
|
+
export interface RenderedPage {
|
|
19
|
+
html: string;
|
|
20
|
+
title: string;
|
|
21
|
+
frontmatter: Record<string, unknown>;
|
|
22
|
+
toc: TocItem[];
|
|
23
|
+
description?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function renderPageService(input: RenderPageInput): Promise<RenderedPage>;
|
|
26
|
+
export interface RenderDirectoryPageInput {
|
|
27
|
+
/** Directory whose entries are listed (source dir when dynamic, output dir when static). */
|
|
28
|
+
listDir: string;
|
|
29
|
+
urlPath: string;
|
|
30
|
+
rootDir: string;
|
|
31
|
+
settings: Settings;
|
|
32
|
+
mode: RenderMode;
|
|
33
|
+
/** Extra filter applied to entry names before rendering. */
|
|
34
|
+
isEntryVisible?: (entry: Dirent) => boolean;
|
|
35
|
+
/** Override the page title (defaults to a humanized directory name). */
|
|
36
|
+
title?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function renderDirectoryPage(input: RenderDirectoryPageInput): Promise<RenderedPage>;
|
|
39
|
+
export declare function isHidden(filename: string, settings: Settings): boolean;
|
|
40
|
+
export declare function isBlocked(ext: string, settings: Settings): boolean;
|
|
41
|
+
export declare function isAllowedExtension(ext: string, settings: Settings): boolean;
|
|
42
|
+
export declare function extractFirstHeading(content: string): string | null;
|
|
43
|
+
export declare function humanizeFilename(filename: string): string;
|
|
44
|
+
export declare function fixAssetPaths(html: string, urlPath: string): string;
|
|
45
|
+
//# sourceMappingURL=render-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-page.d.ts","sourceRoot":"","sources":["../src/render-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,CAmDvB;AAED,MAAM,WAAW,wBAAwB;IACvC,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAQtE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAElE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE3E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BnE"}
|