From bce9f9e1d774ee50aceffd347050e263782b55a4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 27 Nov 2025 06:41:24 +0900 Subject: feat(nuldoc): serve original Markdown files --- services/nuldoc/nuldoc-src/commands/build.ts | 14 ++++++++++++++ services/nuldoc/nuldoc-src/generators/post.ts | 2 ++ 2 files changed, 16 insertions(+) (limited to 'services/nuldoc/nuldoc-src') diff --git a/services/nuldoc/nuldoc-src/commands/build.ts b/services/nuldoc/nuldoc-src/commands/build.ts index 2b67d2b..2a9295d 100644 --- a/services/nuldoc/nuldoc-src/commands/build.ts +++ b/services/nuldoc/nuldoc-src/commands/build.ts @@ -41,6 +41,7 @@ export async function runBuildCommand(config: Config) { await copySlidesFiles(slides, config); await copyBlogAssetFiles(config); await copySlidesAssetFiles(config); + await copyPostSourceFiles(posts, config); } async function buildPostPages(config: Config): Promise { @@ -316,3 +317,16 @@ async function writePage(page: Page, config: Config) { await ensureDir(dirname(destFilePath)); await Deno.writeTextFile(destFilePath, render(page.root, page.renderer)); } + +async function copyPostSourceFiles(posts: PostPage[], config: Config) { + const cwd = Deno.cwd(); + const contentDir = join(cwd, config.locations.contentDir); + const destDir = join(cwd, config.locations.destDir, "blog"); + + for (const post of posts) { + const src = post.sourceFilePath; + const dst = join(destDir, relative(contentDir, src)); + await ensureDir(dirname(dst)); + await Deno.copyFile(src, dst); + } +} diff --git a/services/nuldoc/nuldoc-src/generators/post.ts b/services/nuldoc/nuldoc-src/generators/post.ts index 2f466b9..8720562 100644 --- a/services/nuldoc/nuldoc-src/generators/post.ts +++ b/services/nuldoc/nuldoc-src/generators/post.ts @@ -13,6 +13,7 @@ export interface PostPage extends Page { published: Date; updated: Date; uuid: string; + sourceFilePath: string; } export function getPostPublishedDate(page: { revisions: Revision[] }): Date { @@ -57,5 +58,6 @@ export async function generatePostPage( published: getPostPublishedDate(doc), updated: getPostUpdatedDate(doc), uuid: doc.uuid, + sourceFilePath: doc.sourceFilePath, }; } -- cgit v1.2.3-70-g09d2