• .njk as the default templating language is an odd choice, and I find myself stubbing my toe on it a good amount. Maybe that's a me thing!
  • It is extremely fast. This site has around 2300 pages; Eleventy is compiling it in around two seconds.
  • The extensibility ergonomics are terrific. This is all it takes to declare a new filter, for instance:
eleventyConfig.addFilter("toStars", (rating) => {
  return "★".repeat((rating + 1) / 2);
});
  • I can keep the Markdown content relatively pure, which (after poor and brief dalliances with .mdx et al) is now Very Important to me.

Lightning bolt
About the author

I'm Justin Duke — a software engineer, writer, and founder. I currently work as the CEO of Buttondown, the best way to start and grow your newsletter, and as a partner at Third South Capital.

Lightning bolt
Greatest hits

Lightning bolt
Elsewhere

Lightning bolt
Don't miss the next essay

Get a monthly roundup of everything I've written: no ads, no nonsense.