familyfedie-website/docs/SITE-STRUCTURE.md
Loyyd 830585e2ba
Some checks are pending
/ deploy (push) Waiting to run
using astro
2026-06-11 08:29:29 +02:00

2.7 KiB

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/.

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
  • src/pages/index.html.ts - Astro endpoint for the home page
  • src/pages/[...route].ts - Astro endpoint for all other existing HTML pages
  • src/lib/static-pages.ts - maps website/ files to Astro static routes
  • src/components/ - Astro shared layout components for ongoing migration
  • dist/ - generated site output, ignored by git
  • css/ - site-level stylesheets
  • js/ - site-level scripts
  • assets/ - images, PDFs, fonts, theme files, uploads, and vendor files
  • docs/ - maintainer documentation
  • scripts/components.mjs - shared nav/sidebar/footer components
  • scripts/render-shared-layout.mjs - renders shared layout components into pages
  • scripts/organize-content.mjs - organizes exported blog and speech pages
  • scripts/copy-static-assets.mjs - copies assets/, css/, and js/ into dist/
  • docker/ and compose.yaml - local static server preview
  • .forgejo/ - deployment automation

Shared Layout

The current source pages remain static HTML, but common navigation, sidebar, and footer markup is generated from scripts/components.mjs. Run npm run render:layout after editing those components.

Astro components in src/components/ are available for the next migration step: converting individual pages from exported HTML into .astro or Markdown content while reusing the same layout structure.

Asset Layout

  • css/block-library.css - WordPress block styles used by the pages
  • js/jquery.min.js - shared jQuery dependency used by the pages
  • assets/theme/ - exported theme styles, scripts, fonts, and images
  • assets/vendor/ - exported third-party plugin/vendor assets
  • assets/uploads/ - uploaded images and PDFs used by content pages

Local Preview

Run:

npm run dev

Then open Astro's local URL, usually:

http://localhost:4321

For the Nginx preview, build first:

npm run build
docker compose up

Then open:

http://localhost:8080