|
|
||
|---|---|---|
| .forgejo/workflows | ||
| assets | ||
| content | ||
| css | ||
| docs | ||
| js | ||
| scripts | ||
| src | ||
| website | ||
| .gitignore | ||
| AGENTS.md | ||
| astro.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
familyfedie-website
Local static website files built with Astro.
Project Structure
website/- exported HTML source pages and archive pagescontent/- extracted Markdown content archive for speeches and blog postssrc/content/pages/- preserved HTML body fragments for migrated public pagessrc/pages/- Astro routes for migrated public pages plus the static archive catch-allsrc/components/- Astro components for shared page layoutdist/- generated static output fromnpm run buildsrc/pages/index.astro- homepage route generated from migrated contentsrc/pages/about.astro- about page route generated from migrated contentsrc/pages/contact.astro- contact page route generated from migrated contentwebsite/index.html,website/about.html,website/contact.html- original exported source for migrated public pageswebsite/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
Run the static link and media audit against the generated dist/ output:
npm run audit:links
Regenerate Markdown content from the exported post HTML:
npm run extract:content
The important public pages are now Astro routes that reuse shared layout
components. The large blog and speech archive is still served from the exported
HTML through src/pages/[...route].ts.
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.