78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
Then open Astro's local URL, usually:
|
|
|
|
```text
|
|
http://localhost:4321
|
|
```
|
|
|
|
For the Nginx preview, build first:
|
|
|
|
```bash
|
|
npm run build
|
|
docker compose up
|
|
```
|
|
|
|
Then open:
|
|
|
|
```text
|
|
http://localhost:8080
|
|
```
|