Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/thatdeveloperguy-website / scripts/compile-content.ts |
| Date | Not specified in source |
| Repository | Janady13/thatdeveloperguy-website |
| Revision | 2bea2ebdff0e34494bff597d4fa9c8422a0c3a94 |
| Branch | main |
| Path or archive member | scripts/compile-content.ts |
| Original SHA-256 | f892f83ac8920bff08697b609d95971a4a67979884f34e22f00cd131ac017cb4 |
| Git blob SHA | 1618843b39fad0f524dfaedac2f838a82707ea77 |
| Reading-copy SHA-256 | f892f83ac8920bff08697b609d95971a4a67979884f34e22f00cd131ac017cb4 |
Recovered source transcript
Download complete source text ↓16 lines · 1.8 KB
/** content/ → src/generated/ (route manifest + one JSON per page + an index module). Never hand-edit src/generated. */
import { mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
import { resolve } from 'node:path';
import { compilePages, CONTENT_DIR, type PublicationLevel } from '../src/publication/compile-pages.server.ts';
const level = (process.env.TDG_PUBLICATION_LEVEL ?? 'published') as PublicationLevel;
if (!['published', 'demo'].includes(level)) throw new Error(`TDG_PUBLICATION_LEVEL must be published or demo, got ${level}`);
const out = resolve(import.meta.dirname, '../src/generated');
const { pages, manifest, drafts } = compilePages(CONTENT_DIR, level);
rmSync(resolve(out, 'pages'), { recursive: true, force: true }); mkdirSync(resolve(out, 'pages'), { recursive: true });
for (const page of pages) writeFileSync(resolve(out, 'pages', `${page.id}.json`), JSON.stringify(page, null, 2) + '\n');
writeFileSync(resolve(out, 'route-manifest.json'), JSON.stringify({ level, routes: manifest, drafts }, null, 2) + '\n');
const imports = pages.map((p, i) => `import p${i} from './pages/${p.id}.json';`).join('\n');
writeFileSync(resolve(out, 'index.ts'), `// GENERATED by scripts/compile-content.ts — do not edit.\nimport type { CompiledPage } from '../contracts/page.ts';\n${imports}\nexport const pages: CompiledPage[] = [${pages.map((_, i) => `p${i} as unknown as CompiledPage`).join(', ')}];\nexport const pagesById: Record<string, CompiledPage> = Object.fromEntries(pages.map(p => [p.id, p]));\nexport const pagesByPath: Record<string, CompiledPage> = Object.fromEntries(pages.map(p => [p.path, p]));\n`);
console.log(`${level}: ${pages.length} pages compiled (${readdirSync(resolve(out, 'pages')).length} files), ${drafts.length} drafts held back: ${drafts.join(', ') || 'none'}`);