Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
An Eleventy starter project built to be fast

Next.js starter for a partner gallery with Postgres full-text search, Supabase Storage, and email notifications via Edge Functions.

See how Vercel's Skew Protection feature enables production-ready blue-green deployments with just a few lines of code.

Open-source Astro.js starter kit with 11 UI components, 16 sections, and 11 pages; AI-friendly with AGENTS.md, shadcn/ui, Tailwind v4, and dark mode.

Todo app performing CRUD operations with AstraDB(Cassandra DB) APIS. Used Next JS APIS.

A Gatsby starter theme for artists and designers to display their creations, using styled-components and web font loading.
Twelvety is an Eleventy starter project that pre-configures a full build pipeline — Sass/PostCSS styling, Browserify/Babel scripting, minification, critical CSS inlining, and responsive images — so you can focus on writing templates and content. It's a boilerplate for static sites, not a theme: you get the tools and structure but design your own pages.
Twelvety is an open-source Eleventy starter project built to be fast, created by Greg Ives and available on GitHub. As input it takes Eleventy templates that use Twelvety's paired shortcodes for styles, scripts, and images; as output it produces a static site with minified HTML, CSS, and JS, content-hashed asset filenames, and inline critical CSS. The project stores its configuration in .twelvety.js and its build logic in the utils directory, which you can safely ignore when building a site.
stylesheet, javascript, and append paired shortcodes, scoped to each page by chunk.require('modules') in the browser, transpile with Babel, and minify with Uglify in production.styles and script shortcodes gather only the code for the current page.url chunk by default, so each page ships only the assets it needs.picture shortcode — Takes src, alt, optional sizes (defaults to 90vw), and loading (defaults to lazy), and outputs AVIF, WebP, and JPEG sources with a calculated background color and padding-bottom to avoid layout shift.asset shortcode saves any captured text or buffer to a hashed filename in the assets directory inside the output directory.eleventy-critical-css to extract and inline critical-path CSS on every page.format transform beautifies HTML with JS Beautifier in development and minifies it with HTMLMinifier in production.markdown paired shortcode to include Markdown files and rely on the automatic picture shortcode transformation so every image in Markdown becomes a responsive picture element.npm run build to generate minified, content-hashed assets and inline critical CSS, ready for any static host..twelvety.js to change the Sass style (including indented syntax), enable AVIF output, or adjust image sizes and cache behavior.Install dependencies with npm install, then run npm run serve for a development server with live-reload, npm run build for production output, or npm run clean to clear the output folder and the Twelvety cache (.twelvety.cache). The build logic lives in the utils folder, and project-specific settings go in .twelvety.js.
Click the 'Deploy to Netlify' button in the README. Netlify will clone the Twelvety repository to your GitHub account (with your permission), add the new repository to your Netlify account, and deploy it. The repository also has a 'Use this template' button on GitHub for creating your own copy.
Yes. The picture shortcode outputs AVIF, WebP, and JPEG sources with configurable sizes and native lazy loading. AVIF is disabled by default because it makes builds slow; enable it in .twelvety.js. The shortcode also computes the average color of the image to use as a placeholder while loading.
The styles shortcode must appear after all stylesheet paired shortcodes in the template. To move the collected CSS into the head, wrap it in the append paired shortcode, which a transform uses with jsdom to relocate the content to the given selector. The same pattern works for scripts, though scripts are usually fine at the end of body.
Delete the .twelvety.cache file (a JSON file) or run npm run clean, which also deletes the output directory. If you delete the output directory but keep the cache, things will break, so always clear both together.
Yes, through Browserify. You can require('modules') inside the javascript paired shortcode, and Twelvety bundles them with Browserify, transpiles with Babel, and minifies with Uglify in production. The output is wrapped in an IIFE so your variables don't pollute the global scope.
