new source of truth
Some checks are pending
/ deploy (push) Waiting to run

This commit is contained in:
Loyyd 2026-06-11 10:01:45 +02:00
parent 9d0a823351
commit d74495ddef
936 changed files with 80 additions and 69 deletions

View file

@ -1,30 +1,31 @@
# Site Structure
This is a local static site built with Astro. The current exported HTML source
is kept in `website/`, while Astro emits the served site into `dist/`.
This is a local static site built with Astro. `content/` is the future source of
truth for editable blog and speech content. Legacy exported HTML is kept in
`archive-source/` while Astro emits the served site into `dist/`.
## Root
- `website/index.html` - home page
- `website/about.html` - about page
- `website/contact.html` - contact page
- `website/*.html` - other top-level pages
- `website/blog/YYYY/MM/DD/*.html` - dated blog posts
- `website/blog/categories/*.html` - blog category archive pages
- `website/blog/tags/*.html` - blog tag archive pages
- `website/speeches/index.html` - main speeches archive
- `website/speeches/rev-dr-sun-myung-moon/*.html` - yearly speech archive pages
- `website/speeches/categories/*.html` - speech category archive pages
- `website/PAGES.md` - map of old folder paths to current HTML paths
- `content/speeches/<year>/*.md` - extracted speech content by speech year
- `content/speeches/mrs-hak-ja-han-moon/*.md` - extracted Mrs. Hak Ja Han Moon speeches
- `content/blog/<year>/*.md` - extracted non-speech blog content by publish year
- `content/README.md` - content archive notes
- `content/speeches/<year>/*.md` - editable speech content by speech year
- `content/speeches/mrs-hak-ja-han-moon/*.md` - editable Mrs. Hak Ja Han Moon speeches
- `content/blog/<year>/*.md` - editable non-speech blog content by publish year
- `content/README.md` - content notes
- `archive-source/index.html` - legacy home page export
- `archive-source/about.html` - legacy about page export
- `archive-source/contact.html` - legacy contact page export
- `archive-source/*.html` - other legacy top-level page exports
- `archive-source/blog/YYYY/MM/DD/*.html` - legacy dated blog posts
- `archive-source/blog/categories/*.html` - legacy blog category archive pages
- `archive-source/blog/tags/*.html` - legacy blog tag archive pages
- `archive-source/speeches/index.html` - legacy main speeches archive
- `archive-source/speeches/rev-dr-sun-myung-moon/*.html` - legacy yearly speech archive pages
- `archive-source/speeches/categories/*.html` - legacy speech category archive pages
- `archive-source/PAGES.md` - map of old folder paths to current HTML paths
- `src/content/pages/*.html` - preserved body fragments for migrated public pages
- `src/pages/index.astro` - Astro home page route
- `src/pages/about.astro`, `src/pages/contact.astro`, `src/pages/events.astro`, `src/pages/services.astro`, `src/pages/videos.astro`, `src/pages/the-founders.astro` - migrated public page routes
- `src/pages/[...route].ts` - Astro endpoint for the remaining exported HTML archive pages
- `src/lib/static-pages.ts` - maps `website/` files to Astro static routes and excludes migrated pages from the catch-all
- `src/lib/static-pages.ts` - maps `archive-source/` files to Astro static routes and excludes migrated pages from the catch-all
- `src/components/` - Astro shared layout components
- `dist/` - generated site output, ignored by git
- `css/` - site-level stylesheets
@ -54,11 +55,11 @@ The large blog and speech archive remains static exported HTML served through
those exported files is still generated from `scripts/components.mjs`; run
`npm run render:layout` after editing those legacy components.
## Content Archive
## Content
Run `npm run extract:content` to regenerate the Markdown content archive from
`website/blog/`. The generated Markdown keeps the original post body HTML inside
the file so formatting is preserved while metadata becomes frontmatter.
Run `npm run extract:content` to regenerate Markdown content from
`archive-source/blog/`. The generated Markdown keeps the original post body HTML
inside the file so formatting is preserved while metadata becomes frontmatter.
## Asset Layout