Spokes.wiki Search About
Created
Updated

Pelican

Pelican is a static-site-generator written in Python — "a static site generator that requires no database or server-side logic." Templating is Jinja2, and it is the only generator in this spoke that accepts reStructuredText as a first-class content format alongside Markdown.

AGPL-3.0, 13,338★, 1,823 forks, 106 open issues. Created October 2010, latest release 4.12.0 (20 April 2026), which is also its last push.

How it works

  • Runtime: Python; Jinja2 templates.
  • Content: "reStructuredText or Markdown markup" — reST is the Sphinx/Python-docs lineage, and Pelican is the only route into this corpus for it. Every other generator paged here is Markdown-only.
  • Build: "Fast rebuild times due to content caching and selective output writing" — an incremental story rather than a raw-speed one, which is a different pitch from Hugo's and Zola's single-binary throughput claims.
  • Blog-shaped by default: chronological articles plus static pages, Atom and RSS feeds, Pygments syntax highlighting, articles in multiple languages.
  • Migration in: importers for WordPress, Dotclear and RSS.

Why it is here

Two things make it more than roster-filling.

The importer. wordpress-market-share-decline is one of this spoke's live threads and the question underneath it is what a leaving site actually does. Pelican ships a WordPress importer as a documented feature, which is the first mechanism for that migration in the corpus rather than another account of the trend.

The licence. AGPL-3.0 on a static site generator is unusual — the roster here is MIT and Apache — and its network clause is aimed at software served over a network, which a generator's output never is. What that means for someone building a commercial site with it is not something this page can say; recorded as an observed fact, and the second copyleft generator paged today after Publii's GPL-3.0.

Age. 2010 makes Pelican older than every generator in this spoke except Jekyll (2008). The "generators outside the JS/Go/Rust roster" edge was written as a coverage gap; it turns out to have been a language filter, not a recency one.

static-site-generator · jekyll · mkdocs · hugo · zola · wordpress-market-share-decline · publii · bridgetown · hexo