3.6 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 pathscontent/speeches/<year>/*.md- extracted speech content by speech yearcontent/speeches/mrs-hak-ja-han-moon/*.md- extracted Mrs. Hak Ja Han Moon speechescontent/blog/<year>/*.md- extracted non-speech blog content by publish yearcontent/README.md- content archive notessrc/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 stylesheetscss/theme.css- extracted Parabola inline theme settingscss/site.css- extracted shared site fixes and homepage/frontpage rulesjs/- 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/scripts/extract-content.mjs- extracts dated post pages intocontent/scripts/extract-theme-css.mjs- extracts repeated inline CSS intocss/theme.cssandcss/site.css.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.
Content Archive
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.
Asset Layout
css/block-library.css- WordPress block styles used by the pagescss/theme.css- CSS extracted from the repeated Parabola inline exportcss/site.css- shared site fixes, shortcode rule, and homepage slider/frontpage CSSjs/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 a production-style Astro preview, build first:
npm run build
npm run preview
Then open:
http://localhost:4321