2.7 KiB
familyfedie-website
Local static website files built with Astro.
Project Structure
website/- top-level static pagescontent/- extracted Markdown content archive for speeches and blog postssrc/pages/- Astro endpoints that generate static HTML fromwebsite/src/components/- Astro components for the shared layout migration pathdist/- generated static output fromnpm run buildwebsite/index.html- homepagewebsite/about.html- about pagewebsite/contact.html- contact page with the formwebsite/blog/YYYY/MM/DD/- dated blog post pageswebsite/blog/categories/- blog category archive pageswebsite/blog/tags/- blog tag archive pageswebsite/speeches/- speech archive indexes and speech category pageswebsite/PAGES.md- map from the old folder URLs to the current HTML pathscss/- site-level stylesheetscss/theme.css- extracted Parabola inline theme settingscss/site.css- extracted site fixes and homepage/frontpage rulesjs/- site-level scriptsassets/- images, PDFs, fonts, theme files, uploads, and vendor filesdocs/- maintainer notesscripts/components.mjs- shared nav/sidebar/footer componentsscripts/render-shared-layout.mjs- updates repeated layout across HTML filesscripts/organize-content.mjs- organizes exported blog and speech pagesscripts/extract-content.mjs- extracts posts intocontent/scripts/extract-theme-css.mjs- extracts repeated inline theme CSS into files
Maintenance
Run Astro locally while editing:
npm run dev
Check that the generated site builds successfully:
npm run check
Regenerate Markdown content from the exported post HTML:
npm run extract:content
The repeated exported inline styles have been moved into css/theme.css and
css/site.css. Tiny one-page WordPress block-support styles may still remain
inline when they only apply to a single page.
After changing shared navigation, sidebar, or footer markup in
scripts/components.mjs, run:
npm run render:layout
Local Preview
Run Astro locally while editing:
npm run dev
Then open Astro's local URL, usually:
http://localhost:4321/
For a production-style Astro preview, build the static output first:
npm run build
Then serve dist/ with Astro preview:
npm run preview
Then open:
http://localhost:4321/
Deployment
This project deploys as a static Astro build. A deployment job should install
dependencies, run the build, and publish the generated dist/ directory:
npm ci
npm run build
Use npm run start only when you intentionally want Astro to serve the built
output in an environment such as a local or Nomad preview job.