Website and blog for Greenroom, a 1976 Space Sailer 22.
The site is available at:
Greenroom is a static site built with:
The Build Awesome tooling and Node dependencies live in the .build directory.
Node.js and npm are required.
The site is currently developed using Node.js 22.
After cloning the repository:
cd .build
npm installFor a clean, reproducible install using the committed lockfile:
npm ciFrom .build:
npm startThis starts the Eleventy development server and rebuilds the site as files change.
To preview a production build locally:
npm run stageFrom .build:
npm run buildThe generated static site is written to:
.build/_site/
The generated _site directory is not committed to Git.
Site content lives primarily in the blog directory.
Individual articles are Markdown files:
blog/
├── index.njk
├── posts.json
├── restoring-sail.md
├── engine-v2.md
└── ...
blog/index.njk generates the site homepage at /.
Images are generally hosted separately at:
https://images.pudiga.org/greenroom/
The site uses Build Awesome One's standard Markdown configuration with the additional markdown-it-task-checkbox plugin to support task lists:
- [x] Completed
- [ ] Still to doGreenroom-specific Eleventy configuration is in:
.build/greenroom.config.js
This imports the standard Build Awesome One configuration and then applies Greenroom-specific customisation.
The site is published using GitHub Pages.
Pushing to the main branch triggers the GitHub Actions workflow:
.github/workflows/pages.yml
The workflow:
- Checks out the repository.
- Installs the Node dependencies from
.build/package-lock.json. - Runs the production build.
- Uploads
.build/_siteas the GitHub Pages artifact. - Deploys the artifact to GitHub Pages.
There is no need to build or commit the generated site manually.
Normal publishing is therefore simply:
git add .
git commit -m "Update site"
git pushGitHub Actions handles the build and deployment.
The public site uses the custom domain:
DNS is managed through Cloudflare, with greenroom.pudiga.org pointing to GitHub Pages.