No results

    Search failed

    npm GitHub

    Poops vs Jekyll & Eleventy

    Poops is Jekyll-inspired and says so: front matter, _layouts, collections, a _data directory, pagination. If you know Jekyll, most of Building pages will read as familiar.

    The difference is what happens when the site needs a stylesheet and thirty lines of TypeScript. With Jekyll or Eleventy that is a second toolchain โ€” a bundler, its config, two watch processes and a script whose only job is sequencing two tools that do not know about each other. With Poops it is two more keys in the file you already have:

    {
      "markup": { "in": "src/markup", "out": "dist" },
      "styles": [{ "in": "src/scss/index.scss", "out": "dist/css/styles.css" }],
      "scripts": [{ "in": "src/js/main.ts", "out": "dist/js/main.js" }],
      "watch": ["src"],
      "livereload": true
    }

    One command builds all three, one watcher rebuilds whichever changed, and the page reloads once.

    Where the three stand

    Poops Jekyll Eleventy
    Latest, read August 2026 2.x 4.4.1, released 29 Jan 2025 3.1.6
    Runtime Node โ‰ฅ 22 Ruby โ‰ฅ 2.7, Bundler, a Gemfile Node โ‰ฅ 18
    Install 18 direct dependencies, 41 packages gems 28 direct dependencies
    Templating Nunjucks or Liquid, plus Markdown โ€” swappable, and a custom engine is an interface Liquid a buffet: Nunjucks, Liquid, Markdown, JS, and more
    Front matter, layouts, includes, data files yes yes yes
    Collections, taxonomies, pagination yes yes yes
    RSS built in plugin plugin
    JS/TS bundling built in, esbuild no no โ€” eleventy-plugin-vite or your own
    Sass built in, Dart Sass jekyll-sass-converter โ€” 3.x runs Dart Sass through sass-embedded after libsass was dropped no โ€” addExtension plus your own sass install
    PostCSS / Tailwind own pipeline key separate toolchain separate toolchain
    Responsive images poops-images, an optional peer package plugin plugin
    Sitemap, search index, nav tree, llms.txt, JSON-LD built in plugins plugins
    React components pre-rendered into pages reactor no not built in
    Plugin ecosystem none โ€” the features above are config keys instead large, and old large, and active
    Themes you can install one โ€” poops-docs-theme many, gem-packaged many
    Built by GitHub Pages without a workflow no โ€” run a workflow yes, branch sources are built with Jekyll no

    What Poops wins

    The asset side is not a second project. SCSS, TypeScript, PostCSS, responsive images and pre-rendered React components are keys in the same file as the pages. On the other two, each of those is a plugin with its own conventions, or a bundler running beside the site generator with its own config, its own watcher and its own failure mode when the two disagree about output paths.

    No Ruby, no gems. No Gemfile, no bundle exec, no native extension that stops compiling on a new OS release. npm i -D poops and the toolchain is one package.

    The machine-readable output is config, not five plugins. sitemap.xml, robots.txt, llms.txt, a search index, a nav tree and JSON-LD are keys with defaults โ€” one convention to learn instead of five, and nothing to keep in step when one of them stops being maintained.

    Live reload that keeps your place. A changed stylesheet is swapped into the page in dev; scroll and state survive. Both of the others reload the page.

    What Jekyll and Eleventy still win

    Ecosystem and answers. A decade of themes, plugins and an existing answer for the thing you are stuck on. Poops has this site and one maintainer.

    Eleventy's template flexibility. It renders whatever you throw at it and lets you write data files and shortcodes as plain JavaScript. Poops gives you two engines and an interface for a third โ€” enough for most sites, and plainly less.

    Jekyll on GitHub Pages with no CI at all. Push Markdown to a branch, GitHub builds it. Poops needs a workflow โ€” twenty lines, but twenty lines more than nothing.

    Ruby, if your team writes Ruby. A Jekyll site in a Rails shop is one language for everybody.

    Which to pick

    If Pick
    The site needs SCSS, TypeScript or images as much as it needs pages, and you want one config for all of it Poops
    The site is Markdown and layouts with no assets to build, and GitHub should build it for free Jekyll
    You want maximum template freedom and a plugin for everything, and do not mind assembling the asset side Eleventy
    You already have a working site of either kind and no complaints keep it โ€” a migration you do not need is a bug you introduce

    Decided? The concept-by-concept mappings, including the parts with no equivalent, are in Migrating from Jekyll and Migrating from Eleventy.