Lume

Deno-native SSG by Óscar Otero. Multi-template, lean, modern Deno ecosystem.

VISIT LUME

Key takeaway: Deno-first teams building static output should look here before anything else, because Lume is the most complete generator designed for that runtime from the start. It shares Eleventy's philosophy, templates in and HTML out, with an explicit plugin model instead of conventions. If Deno is not already a decision you have made, Eleventy gives the same shape with far more community behind it.

Quick facts

  • LanguageTypeScript
  • CategoryDeno
  • LicenseMIT
  • Created2021
  • GitHub stars2k
  • Statusactive

Templating: Vento Nunjucks JSX Markdown Pug Eta LiquidJS

What it is

Lume is a Deno-native SSG that supports nearly every templating language. Built around Deno's permission model, it has a clean plugin system and small footprint. Niche but well-loved in the Deno community.

Best for

  • Deno-first teams
  • Sites where the team values explicit imports and Deno permissions
  • Multi-template projects mixing Markdown / JSX / Vento

When not to pick it

Skip Lume if your team is on Node and not motivated to adopt Deno. The capability is good; the ecosystem is small.

My take

Lume is the cleanest Deno-native SSG. If you have a reason to be on Deno (security, simpler tooling), it is the right pick. Outside Deno, Astro or Eleventy will give you a bigger ecosystem.

Explicit plugins and no node_modules

Lume's config file is a short program where you enable exactly the plugins you want: a template engine or several, Markdown handling, Tailwind, esbuild, sitemaps, feeds, image processing. Nothing is on by default, so the surface area of a Lume site is precisely what you chose and no more, which makes an inherited project unusually quick to understand. There is no node_modules directory, dependencies resolve through URLs or an import map, and Deno's permission flags mean a build cannot quietly read your filesystem or reach the network unless you allow it. That last point is a genuine supply-chain argument rather than a talking point. Template support is unusually broad, with Vento as the house language alongside Nunjucks, JSX, Eta, Liquid, Pug, and Markdown, and you can mix them freely inside one project.

Size of the bet, and how to leave

Lume is maintained by a very small group and used by a small community, so plugin count, theme selection, and the volume of answered questions are all a fraction of what Eleventy or Astro offer. When something breaks, you will read source code rather than a forum thread, and you should be honest with yourself about whether that is acceptable on a client deadline. Deno's npm compatibility has improved enough that you can usually reach for a JavaScript library when a plugin does not exist, which softens the risk considerably. The exit is unusually clean for a niche tool: content is Markdown with front matter, and Nunjucks or Liquid templates port to Eleventy with modest editing, so choosing Lume does not trap you the way a bespoke component model would.

Frequently asked questions

What is Lume best at?

Static sites built by teams that have chosen Deno: blogs, documentation, and marketing sites where you want explicit control over the build and no node_modules directory. Its breadth of template engines and its plugin model make it flexible, and Deno's permission system gives a real answer on build-time supply chain risk.

Lume or Eleventy?

Eleventy unless you specifically want Deno. They occupy the same philosophical space, but Eleventy has a much larger community, more plugins, and more people to ask when something goes wrong. Lume is arguably the cleaner design and its explicit configuration is easier to reason about; that rarely outweighs the ecosystem gap.

Does Lume work with npm packages?

Generally yes. Deno's npm compatibility lets you import most JavaScript libraries directly, which matters because Lume's own plugin catalogue is small. Packages with native bindings or deep Node-specific assumptions can still cause trouble, so verify anything critical early rather than discovering the problem late in a build.

Links

Similar tools you should also consider

If Lume is your pick, the next conversation is short

The 30-min call is where your project gets a real architecture, an SEO transport plan, and a price range you can take to your team. Describe your site, your timeline, your existing content. I tell you whether Lume is genuinely the right call for you, and what the build actually looks like.