Eleventy-based static blog starter with preconfigured Forestry CMS
hylia-eleventy-starter — Eleventy Starter Template
By heyyoudesign
Hylia is a lightweight Eleventy blog starter with preconfigured Forestry CMS, offering design tokens, a Sass utility generator, tag archives, RSS, and offline caching.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Preview provided in the project README.
One original preview is available. Open the full image to inspect the design.
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Design token driven theme, with colors, size scales, and fonts adjustable in the CMS
Sass utility generator and configurable breakpoints, supporting responsive utility output
Built-in tags and tag archives, RSS subscription, basic contact form
Service Worker caches pages, supporting offline article reading
Includes a Styleguide page to view and adjust style examples
Template Details
Hylia is a blog starter for Eleventy, with Forestry CMS preconfiguration included in the repository. It suits developers who want to build a blog with a static site generator and manage content through a visual CMS: after importing into Forestry, you can create drafts, preview, and publish posts from the backend.
The template includes a design token (tokens.json) driven theme system; colors, size scales, and fonts can be adjusted in the CMS theme settings or by editing source files directly. On the Sass side, Stalfos configuration generates utility classes and breakpoints. At the content level, it provides editable items for the homepage, posts, generic pages, global site data, and navigation, and includes tags and tag archives, RSS subscription, a basic contact form (for Netlify Forms), and a Service Worker that caches pages.
Note that the roadmap listed in the README (such as comments, Webmentions, pagination, share API, documentation site, etc.) are planned items rather than existing features; version information should be based on the actual repository dependencies. Licenses for third-party assets such as demo images and fonts must be checked separately; the MIT license covers only the code itself.
Is it right for your project?
Use Cases
- Quickly build a personal or team blog with Eleventy and manage posts through the Forestry backend
- Static site projects that need design tokens and a Sass utility system as a styling starting point
- Blogs that need basic reading experience such as tag archives, RSS, and offline caching
- As a reference project for learning Eleventy directory organization and CMS integration
Suitable For
- Front-end developers familiar with or willing to learn Eleventy and static site builds
- Blog authors who need visual CMS content editing but do not use a traditional database
- Projects that want to extend themes and features based on MIT-licensed code
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Use npm start for local development and npm run production for production builds
- 2
Use npm run sass:process and npm run sass:tokens for Sass compilation and design token regeneration respectively
- 3
After importing the repository through Forestry, you need to start the preview server in settings to create drafts and preview
- 4
When modifying tokens.json, keep the structure correct, otherwise Sass compilation will be affected
- 5
Third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are allowed.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The contact form relies on the Netlify Forms service; it must be deployed to Netlify or connected to an equivalent form backend to actually collect submissions.
- Visual content management relies on third-party Forestry CMS; you must register and import the repository before using backend editing, drafts, and preview.
- Draft preview requires manually starting the preview server in Forestry, which is an external service step and not available out of the box locally.
- The Sass system is based on the undocumented WIP v2 version of Stalfos; extending styles lacks official documentation and requires reading the source code.
- The project describes itself as early stage; features and structure may be unstable and it is not suitable to treat as a mature production-grade solution.
- Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
A basic contact form, ready for [Netlify Forms](https://docs.netlify.com/forms/setup/#html-forms)
Original README
Hylia has [Forestry CMS](https://forestry.io/) pre-configured as standard.
Original README
Once the site is imported in Forestry, go to settings/previews to start the preview server.
Original README
Hylia is based on the [WIP v2 version of Stalfos](https://github.com/hankchizljaw/stalfos/tree/feature/v2), which currently has no documentation
Original README
https://github.com/heyyoudesign/hylia-eleventy-starter/blob/forestry/LICENSE.txthttps://github.com/heyyoudesign/hylia-eleventy-starter/blob/forestry/README.mdThis project is _super_ early and feedback is very much welcome.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Less documented · 53 / 100
- Technologies
- Eleventy
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2021-02-27
- Screenshot last checked
- 2026-10-03
No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.
The catalog identifies Eleventy as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: 5a352d19165adee546b44c2c3b6d39e7025f72c1ce09f250b9915c28f39fbbc9
2026-10-03T14:38:26.538Z
Source file / repository# A simple starter kit for Eleventy
Hylia is a lightweight [Eleventy](https://11ty.io) starter kit with [Forestry CMS](https://forestry.io/) pre-configured, so that you can one-click install a progressive, accessible blog in minutes. It also gives you a well organised starting point to extend it for yourself.
[](https://app.forestry.io/quick-start?repo=dirtyf/hylia&provider=github&branch=forestry&engine=other&preview=https://hankchizljaw.imgix.net/hylia-github.jpg?auto=format&q=60)
<img src="https://hankchizljaw.imgix.net/hylia-github.jpg?auto=format&q=60" width="550" />
## Features
Hylia version 0.7.0 features:
🎨 Customisable design tokens to make it your own
🌍 Customisable global data and navigation
📂 Tags and tag archives
🎈 _Super_ lightweight front-end
✅ Progressively enhanced, semantic and accessible
🚰 Sass powered CSS system with utility class generator
⚙️ Service worker that caches pages so people can read your articles offline
🚀 An RSS feed for your posts
💌 A basic contact form, ready for [Netlify Forms](https://docs.netlify.com/forms/setup/#html-forms)
✍️ A pre-configured [Forestry CMS](https://forestry.io/) setup
## Roadmap
💬 [Netlify Forms](https://www.netlify.com/docs/form-handling/) powered comments
💡 ~~Dark/Light mode toggle~~ [Added in 0.4.0](https://github.com/hankchizljaw/hylia/releases/tag/0.4.0)
🗣 Webmentions
📖 Pagination
🐦 Web sharing API integration
🗒 Offline mode with links to cached pages
📄 Documentation site
💅 Proper Sass documentation
✍️ Proper CMS documentation
🖼 A facility for you to be able to add your logo / branding
---
## Terminal commands
### Serve the site locally
```bash
npm start
```
### Build a production version of the site
```bash
npm run production
```
### Compile Sass
```bash
npm run sass:process
```
### Re-generate design tokens for Sass
```bash
npm run sass:tokens
```
## Getting started with the CMS
[](https://app.forestry.io/quick-start?repo=dirtyf/hylia&provider=github&branch=forestry&engine=other&preview=https://camo.githubusercontent.com/8bae59778d46d15e98e701d5b6f4d0cb3a2cb880/68747470733a2f2f68616e6b6368697a6c6a61772e696d6769782e6e65742f68796c69612d6769746875622e6a70673f6175746f3d666f726d617426713d3630)
Once the site is imported in Forestry, go to settings/previews to start the preview server.
You'll be able to create drafts and preview the final rendering before publishing.
## Design Tokens and Styleguide
### Design Tokens
Although Hylia has a pretty simple design, you can configure the core design tokens that control the colours, size ratio and fonts.
---
**Note**: _Credit must be given to the hard work [Jina Anne](https://twitter.com/jina) did in order for the concept of design tokens to even exist. You should watch [this video](https://www.youtube.com/watch?v=wDBEc3dJJV8), then [read this article](https://the-pastry-box-project.net/jina-bolton/2015-march-28) and then sign up for [this course](https://aycl.uie.com/virtual_seminars/design_tokens_scaling_design_with_a_single_source_of_truth) to expand your knowledge._
---
To change the design tokens in the CMS, click on “theme settings” in the sidebar.
To change the design tokens directly, edit [`_src/data/tokens.json`](https://github.com/hankchizljaw/hylia/blob/master/src/_data/tokens.json).
The tokens are converted into maps that the Sass uses to compile the front-end CSS, so make sure that you maintain the correct structure of `tokens.json`.
### Styleguide
Your version of Hylia ships with a Styleguide by default. You can see a demo of the Styleguide at <https://hylia.website/styleguide/>.
You can edit the Styleguide by opening [`src/styleguide.njk`](https://github.com/hankchizljaw/hylia/blob/master/src/styleguide.njk). If you don’t want the Styleguide, delete that file and the page will vanish.
## Sass
Hylia is based on the [WIP v2 version of Stalfos](https://github.com/hankchizljaw/stalfos/tree/feature/v2), which currently has no documentation (I know, I’m bad). Here is some very basic documentation for elements of the new framework that you will encounter on this project.
### Configuration
The whole Sass system is powered by central config file, which lives here: [`_src/scss/_config.scss`](https://github.com/hankchizljaw/hylia/blob/master/src/scss/_config.scss).
Before Sass is compiled, a `_tokens.scss` file is generated from the [design tokens config](https://github.com/hankchizljaw/hylia/blob/master/src/_data/tokens.json) which is required.
Key elements:
- `$stalfos-size-scale`: A token driven size scale which by default, is a “Major Third” scale
- `$stalfos-colors`: A token driven map of colours
- `$stalfos-util-prefix`: All pre-built, framework utilities will have this prefix. Example: the wrapper utility is '.sf-wrapper' because the default prefix is 'sf-'
- `$metrics`: Various misc metrics to use around the site
- `$stalfos-config`: This powers everything from utility class generation to breakpoints to enabling/disabling pre-built components/utilities
### How to create a new utility class with the generator
The utility class generator lets you generate whatever you want, with no opinions on class name or properties affected.
To add a new class, add another item to the exists `$stalfos-config` map. This example adds a utility for floating elements.
```scss
'float':('items':('left':'left','right': 'right'
),
'output': 'responsive',
'property': 'float'
);
```
The `output` is set to `responsive` which means every breakpoint will generate a prefixed class for itself. If you only wanted elements to float left in the `md` breakpoint, you’d now be able to add a class of `md:float-left` to your HTML elements.
If you only want standard utility classes generating, set the `output` to `standard`.
### Functions
#### `get-color($key)`
Function tries to match the passed `$key` with the `$stalfos-colors` map. Returns null if it can’t find a match.
#### `get-config-value($key, $group)`
Returns back a 1 dimensional (key value pair) config value if available.
#### `get-size($ratio-key)`
Function tries to match the passed `$ratio-key` with the `$stalfos-size-scale`. Returns null if it can’t find a match.
### Mixins
#### `apply-utility($key, $value-key)`
Grabs the property and value of one of the `$stalfos-config utilities` that the generator will generate a class for.
#### `media-query($key)`
Pass in the key of one of your breakpoints set in `$stalfos-config['breakpoints']` and this mixin will generate the `@media` query with your configured value.
## CMS
Hylia has [Forestry CMS](https://forestry.io/) pre-configured as standard. You can customise the configuration by editing [`.forestry/settings.yml`](https://github.com/DirtyF/hylia/blob/forestry/.forestry/settings.yml).
### Content that you can edit
The basic CMS setup allows you to edit the following:
- **Home page**: Edit the content on your homepage
- **Posts**: Create and edit blog posts
- **Generic pages**: Create generic pages that use a similar layout to posts
- **Global site data**: Various bits of global site data such as your url, title, posts per page and author details
- **Navigation**: Edit your primary navigation items
- **Theme**: Edit the design tokens that power the site’s theme
## Get involved
This project is _super_ early and feedback is very much welcome. In order to keep things running smooth, please consult the [contribution guide and code of conduct](https://github.com/hankchizljaw/hylia/blob/master/contributing.md).
The stuff that I need the most help with is:
- Documentation
- [Webmentions](https://www.w3.org/TR/webmention/)
- Performance
Explore similar templates
Compare previews and descriptions within the same stack and category.

eleventy-base-blog
The officially maintained Eleventy blog starter template, MIT licensed, includes posts, tag pages, archives, an about page, a 404 page, an Atom feed, and sitemap.xml, with per-page CSS bundling, syntax highlighting, and image optimization.
Eleventy · Blog

eleventy-garden
An Eleventy-based digital garden starter template for building a personal knowledge site organized through hyperlinks. It supports Roam-style double-bracket links, backlink display, and hover cards for backlinks.
Eleventy · Starter

eleventastic
Eleventastic is an Eleventy starter kit by Max Böck, used as the base for new 11ty projects. It integrates Sass, Webpack, SVG icon sprites, critical CSS, and HTML minification into the 11ty build without external steps.
Eleventy · Starter

neat-starter
An Eleventy-based static site starter template integrating Netlify CMS, Alpine.js, and Tailwind CSS. It provides a ready-to-run example site, a one-click Netlify deploy button, and an MIT-licensed codebase.
Eleventy · Starter

Eleventy-Starter-Boilerplate
An Eleventy-based blog starter template with Tailwind CSS, Webpack, PostCSS, ESLint, and Prettier, optional Netlify CMS, and built-in SEO metadata, sitemap, and 404 page.
Eleventy · Blog

eleventy-plus-vite
A static site starter combining Eleventy and Vite, with a live-reloading development server, Vite-based production post-processing, a PostCSS pipeline with Autoprefixer and cssnano, critical CSS inlining and asynchronous CSS loading, a web font loading strategy example, fluid typography, basic dark mode, an…
Eleventy · Starter
