Language and Tooling

What implementation language and build tooling each static site generator uses.

Astro

Built in JavaScript/TypeScript on top of Vite, with its own .astro component syntax that can also embed components from React, Vue, Svelte, and other UI frameworks.

VuePress

Built in JavaScript on top of webpack (in VuePress 1) or Vite (in VuePress 2), using Vue single-file components alongside Markdown.

VitePress

Built in JavaScript/TypeScript directly on top of Vite, using Vue components alongside Markdown, benefiting from Vite’s fast dev server and build pipeline.

Gatsby

Built in JavaScript on top of React and webpack, with GraphQL as the query language for pulling content into pages at build time.

Docusaurus

Built in JavaScript/TypeScript on top of React, historically using webpack, with MDX (Markdown plus embedded JSX) as its content format.

Eleventy

Built in JavaScript/Node.js, but templating-language-agnostic — it supports Markdown, Nunjucks, Liquid, Handlebars, and several others, letting you pick per project.

Hugo

Built in Go and distributed as a single compiled binary, using Go’s own template syntax for layouts rather than a JavaScript templating engine.

Jekyll

Built in Ruby, using the Liquid templating language (originally created for Jekyll) alongside Markdown and YAML front matter.

Zola

Built in Rust and distributed as a single compiled binary, using the Tera templating engine (a Rust template language inspired by Jinja2/Django templates).