2.7 KiB
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 pagewebsite/about.html- about pagewebsite/contact.html- contact pagewebsite/*.html- other top-level pageswebsite/blog/YYYY/MM/DD/*.html- dated blog postswebsite/blog/categories/*.html- blog category archive pageswebsite/blog/tags/*.html- blog tag archive pageswebsite/speeches/index.html- main speeches archivewebsite/speeches/rev-dr-sun-myung-moon/*.html- yearly speech archive pageswebsite/speeches/categories/*.html- speech category archive pageswebsite/PAGES.md- map of old folder paths to current HTML pathssrc/pages/index.html.ts- Astro endpoint for the home pagesrc/pages/[...route].ts- Astro endpoint for all other existing HTML pagessrc/lib/static-pages.ts- mapswebsite/files to Astro static routessrc/components/- Astro shared layout components for ongoing migrationdist/- generated site output, ignored by gitcss/- site-level stylesheetsjs/- site-level scriptsassets/- images, PDFs, fonts, theme files, uploads, and vendor filesdocs/- maintainer documentationscripts/components.mjs- shared nav/sidebar/footer componentsscripts/render-shared-layout.mjs- renders shared layout components into pagesscripts/organize-content.mjs- organizes exported blog and speech pagesscripts/copy-static-assets.mjs- copiesassets/,css/, andjs/intodist/docker/andcompose.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 pagesjs/jquery.min.js- shared jQuery dependency used by the pagesassets/theme/- exported theme styles, scripts, fonts, and imagesassets/vendor/- exported third-party plugin/vendor assetsassets/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