Local Development¶
Run homebase locally to preview your changes before pushing.
Prerequisites¶
- Node.js 18 or later
- npm (included with Node.js)
Install Dependencies¶
Dev Server¶
Start the Eleventy dev server with live reload:
The site is served at http://localhost:8080. Changes to _data/site.yaml or any source file automatically rebuild and reload the browser.
Production Build¶
Build the static output to _site/:
The _site/ directory contains everything needed to deploy -- plain HTML, CSS, and assets.
Cleaning the Output¶
Remove the _site/ directory:
Project Structure¶
| Path | Purpose |
|---|---|
_data/site.yaml |
All content and configuration |
src/index.njk |
Main page template (Nunjucks) |
src/_includes/ |
Shared Nunjucks partials |
src/_includes/integrations/ |
Optional widget partials (FAQ, etc.) |
src/assets/ |
Base CSS and lite-youtube.js |
src/themes/ |
Theme CSS files |
src/icons/ |
SVG brand icon files |
src/llms.txt.njk |
Auto-generated /llms.txt for AI crawlers |
src/llms-full.txt.njk |
Auto-generated /llms-full.txt full-text companion |
src/robots.txt.njk |
Auto-generated /robots.txt |
.eleventy.js |
Eleventy configuration |
_site/ |
Build output (gitignored) |
Adding a New Icon¶
- Add an SVG file to
src/icons/-- name itmyicon.svg - Reference it in
site.yamlwithicon: myicon - Eleventy will inline the SVG at build time
Adding a New Theme¶
See Themes for the full guide on creating and applying custom themes.
Contributing¶
Pull requests are welcome. Please keep changes minimal and focused on a single concern per PR.