A simple structure for generating blogs, content-focused websites, and other MPAs as static sites using Eleventy and WebC, with a src/routes-based folder structure.
  • JavaScript 79.5%
  • SCSS 11.9%
  • Dockerfile 8.6%
Find a file Use this template
2026-05-27 13:50:00 -07:00
nginx.default.d feat(nginx): add container image nginx deployment 2026-05-27 13:39:48 -07:00
src fix(photos): rename all-photos component to photos-all 2026-05-27 13:10:31 -07:00
tests test(playwright): add axe accessibility tests up to WCAG 2.2 AAA 2026-05-26 16:22:27 -07:00
.cliff.toml docs(git-cliff): skip all release commits when generating release notes 2026-05-26 15:14:12 -07:00
.containerignore feat(nginx): add container image nginx deployment 2026-05-27 13:39:48 -07:00
.eleventyignore docs(styles): document standalone styles in src/routes/assets 2026-05-26 15:14:12 -07:00
.env.example build(npm): add dotenv for build configuration 2026-05-26 15:28:33 -07:00
.gitignore test(playwright): add axe accessibility tests up to WCAG 2.2 AAA 2026-05-26 16:22:27 -07:00
.nvmrc build(nvm): use npm v22 2026-05-26 15:14:12 -07:00
CHANGELOG.md chore(release): 1.1.0 2026-05-27 13:50:00 -07:00
Containerfile feat(nginx): add container image nginx deployment 2026-05-27 13:39:48 -07:00
eleventy.config.js feat(photos): add EXIF to eleventy "data cascade" 2026-05-26 18:39:30 -07:00
package-lock.json chore(release): 1.1.0 2026-05-27 13:50:00 -07:00
package.json chore(release): 1.1.0 2026-05-27 13:50:00 -07:00
playwright.config.js test(playwright): add axe accessibility tests up to WCAG 2.2 AAA 2026-05-26 16:22:27 -07:00
README.md docs: add Containerfile and photos as data to README 2026-05-27 13:47:41 -07:00

Yet Another Eleventy Blog

A simple structure for generating blogs, content-focused websites, and other MPAs as static sites using Eleventy and WebC, with a src/routes-based folder structure.

🚀 Features

  • Project structure and examples for a simple site.
  • Containerfile for RHEL UBI-based nginx container deployment.
  • WebC components and templating support with global imports.
  • Bundled SASS/SCSS/JS compilation in build.
  • Use photos as data to generate gallery pages, etc.
  • Basic SEO controls for titles, meta descriptions, robots.
  • Basic test suite to check for common accessibility errors.

Project structure

This repo does not reflect the normal Eleventy structure. Instead, it is structured to prioritize webc components and to easily infer URL structure from the repo's internal structure.

For example, src/routes/blog/{date}/{title}.webc should represent a template that generates pages using external data with URLs based on date and title.

Example project structure

.
├── eleventy.config.js                  # Configure directory settings
└── src
    ├── components                      # Import all *.webc files as components
    │   └── component.webc
    ├── data                            # Global data files belong here
    │   └── site.json
    ├── includes                        # Global css, partials, etc. belong here
    │   └── scss
    │       └── global.scss
    ├── layouts                         # Nesting "layout" files belong here
    │   └── base.webc
    └── routes                          # Paths should mirror final URL paths
        ├── assets                      # Good place for standalone resources
        ├── index.webc
        └── routes.11tydata.json        # Default frontmatter for all routes