Quick static site generator that combines the Chobble Template with your content.
- Add your content - Edit markdown files and images in the relevant folders
- Push to GitHub - The site builds automatically via GitHub Actions
- Deploy happens automatically - Site deploys to Bunny CDN (staging for branches, production for
main)
The .pages.yml defines all your content types:
pages/- Static pages with navigationnews/- Blog posts with datesproducts/- Shop items with prices and Etsy linkscategories/- Product categoriesteam/- Team member profilesreviews/- Customer testimonialsevents/- Upcoming eventsmenus/,menu-categories/,menu-items/- Restaurant menu systemsnippets/- Reusable content bitsimages/- All your images
When you push to GitHub:
- GitHub Actions merges your content with the template
- Builds the static site with Eleventy
- Deploys to Bunny CDN
Set these GitHub secrets for your repo:
BUNNY_ACCESS_KEY,BUNNY_PRODUCTION_*/BUNNY_STAGING_*(storage zone name, password, pull zone ID) - For deploymentFORMSPARK_ID- For contact forms (optional)BOTPOISON_PUBLIC_KEY- For spam protection (optional)INDEXNOW_KEY- For IndexNow search submission (optional)NTFY_TOPIC- For build-failure notifications (optional)
This project uses Bun. The Chobble Template is vendored as the
chobble-template git submodule, which provides the @chobble/js-toolkit
dependency and the Eleventy build.
git submodule update --init # populate chobble-template (first checkout only)
bun install # install dependencies
bun run serve # dev server with hot reload
bun run build # build the site into _site/
bun run test # run the template test suiteCloning with git clone --recurse-submodules initialises the submodule for you.
If bun install fails with ENOENT ... @chobble/js-toolkit, the submodule
hasn't been checked out yet - run the git submodule update --init step above.