explaingit

getpelican/pelican

13,294PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

Pelican is a Python static site generator that turns plain-text Markdown or reStructuredText files into a complete, hostable website, no database or server code required.

Mindmap

mindmap
  root((pelican))
    What it does
      Converts text to HTML
      Generates feeds
      Code highlighting
    Content formats
      Markdown
      reStructuredText
    Theming
      Jinja2 templates
      Plugin ecosystem
    Deployment
      GitHub Pages
      CDN hosting
      Any file server
    Migration
      WordPress import
      Dotclear import
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a personal blog or portfolio site from Markdown files and host it on GitHub Pages for free

USE CASE 2

Migrate an existing WordPress blog to a fast, file-based static site

USE CASE 3

Set up automatic site rebuilds triggered by a Git push webhook

USE CASE 4

Create a multilingual content site that generates Atom and RSS feeds automatically

Tech stack

PythonJinja2PygmentsMarkdownreStructuredText

Getting it running

Difficulty · easy Time to first run · 30min

In plain English

Pelican is a Python tool for building websites from text files. You write your content in Markdown or reStructuredText (two common plain-text formats used for writing) and Pelican converts them into a complete website of HTML files. Because the output is just files with no database or server code behind them, the finished site can be hosted anywhere: a simple file server, a CDN, GitHub Pages, or any standard web host. The typical workflow is to write articles and pages as text files, run the command-line tool, and get a ready-to-publish site in a folder. Pelican also supports site themes built with the Jinja2 templating language, so you can change the visual design without touching the content files. It generates Atom and RSS feeds automatically, highlights code blocks using the Pygments library, and supports publishing articles in multiple languages. For people migrating from an existing blog, Pelican can import content from WordPress, Dotclear, or RSS feeds. Rebuild times are kept fast through content caching and by only rewriting files that have changed. There is also a plugin ecosystem for adding features beyond what ships by default. Pelican works well alongside version control systems like Git, and the output files are easy to automate with web hooks, for example to trigger a rebuild whenever you push new content. Because the generated files are plain HTML, CSS, and JavaScript with no moving parts, the published site tends to be fast and reliable with almost no maintenance. The name Pelican is an anagram of calepin, which is the French word for notebook. Full documentation is on the project website rather than in the README, which is intentionally brief.

Copy-paste prompts

Prompt 1
Generate a Pelican static site with a custom Jinja2 theme that shows articles grouped by category, then deploy it to GitHub Pages
Prompt 2
Write a Pelican plugin that automatically creates a tag-cloud page listing all tags and their post counts
Prompt 3
Help me migrate my WordPress XML export to Pelican-compatible Markdown files, preserving publish dates and categories
Prompt 4
Set up a Pelican project with multilingual support so the same article can exist in English and French side by side
Prompt 5
Configure Pelican to skip rebuilding unchanged pages and trigger a deploy webhook whenever new content is pushed
Open on GitHub → Explain another repo

← getpelican on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.