Build a personal blog or portfolio site from Markdown files and host it on GitHub Pages for free
Migrate an existing WordPress blog to a fast, file-based static site
Set up automatic site rebuilds triggered by a Git push webhook
Create a multilingual content site that generates Atom and RSS feeds automatically
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.
← getpelican on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.