Eleventy
Eleventy (11ty) is an open-source static site generator written in JavaScript. It's a simple tool that combines page data with page templates and produces a bundle of HTML pages.
Despite its simplicity, we found Eleventy to be highly adaptable and versatile.
Zero-config to start off, yet highly customizable You can use the default settings and folder structure, or configure everything to your liking via the config file. What's more, most settings can be overridden by a command line argument so you can adapt the config for differing environments.
No mandatory client-side Javascript injected into HTML This means you're flexible with the frontend stack. For example, you may employ a framework like Vue or React for a subset of pages that require interactivity, add a short script for client-side data fetching for other pages, and leave the rest completely JS-free.
A variety of options for every task Eleventy offers a dozen templating languages that you can mix and match, multiple ways to fetch, store, and transform data before it is injected into the templates, as well as an array of official plugins that cover everything from transforming and caching images to server-side rendering using serverless.
It should be noted that Eleventy enjoys a much smaller community than some of the alternative tools such as Next.js and Nuxt. This means fewer resources and tried and tested patterns to take from, especially when it comes to complex use cases. On the flip side, the project is committed to being stable production ready, and it's trusted by the likes of Basecamp, Red Hat, and W3C.
Eleventy works well for websites that don't require very frequent change of content, and—if paired with a headless CMS and a client-side framework—it is capable of handling a broad range of scenarios. Due to its flexibility and the ability to be incrementally adopted, Eleventy can be used to migrate from legacy content presentation systems. That's why we believe Eleventy is a good fit for projects that demand flexibility and can handle a bit of uncertainty.