- Data-driven pages built from JSON datasets (
data/projects.json,data/interests.json,data/publications.json). - Homepage curation with merged “latest interests” feed, featured projects, and an accessibility-first hero.
- Responsive media with light/dark theme switching, modern typography, and retina-friendly thumbnails.
- Feeds & automation: JSON/RSS feeds for interests and publications regenerate via
npm run build.
.
├── assets/ # Global CSS, JS, and images
├── data/ # JSON/JS data sources consumed by Eleventy
├── src/ # Eleventy templates (Nunjucks)
├── projects/, publications/, interests/
│ # Legacy static pages retained for reference
└── eleventy.config.js # Eleventy configuration
-
Install dependencies:
npm install
-
Start a live-reload dev server:
npm run start
The generated site lives in
_site/and is served athttp://localhost:8080/by default. -
Generate a production build:
npm run build
-
Clean the output directory:
npm run clean
-
Project thumbnails live under
assets/img/projects/with both-640and-1280variants. -
When adding artwork, drop the original as
*-source.*and usesips(macOS) or any image tool to resize:sips --resampleWidth 1280 path/to/source.png --out assets/img/projects/name-1280.png sips --resampleWidth 640 path/to/source.png --out assets/img/projects/name-640.png
-
Update the corresponding entry in
data/projects.json(heroImage,image,image2x, andimageAlt).
- Every push to
maintriggers the CI & Deploy GitHub Actions workflow. - The workflow installs dependencies, runs
npm run build, uploads the_site/directory viaactions/upload-pages-artifact, and publishes it withactions/deploy-pages. - To monitor a run, open the repository’s Actions tab (or run
gh run list/gh run watch <run-id>locally). - If you need to redeploy without new code, re-run the latest workflow from GitHub’s Actions UI or push an empty commit.
- GitHub Pages is configured for the workflow build type; no manual pushes to
gh-pagesare required.
npm run buildsucceeds without warnings.- Images include descriptive
imageAlttext. - Feeds under
_site/feed/update correctly after content edits.
Content and imagery © Christopher Fiorelli. Code is shared privately unless otherwise noted.
