Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsApr 28, 2026·3 min de lectura

Pelican — Python-Powered Static Site Generator

Pelican is a static site generator written in Python that converts Markdown and reStructuredText content into a fully themed HTML site, with built-in support for Atom and RSS feeds.

Introduction

Pelican is a static site generator written in Python that reads content files in Markdown or reStructuredText, applies Jinja2 templates, and produces a complete static website ready for deployment. It was created as a Python-native alternative to Ruby-based generators like Jekyll, and is well suited for blogs, personal sites, and technical documentation.

What Pelican Does

  • Converts Markdown and reStructuredText files into themed HTML pages
  • Generates Atom and RSS feeds automatically for blog content
  • Supports articles (date-ordered posts) and pages (static content) as distinct content types
  • Applies Jinja2 templates for full layout and theme customization
  • Provides a plugin system for extending build behavior (sitemap, SEO, image processing)

Architecture Overview

Pelican reads content files from a source directory, parses metadata from file headers, and passes the content through a reader (Markdown or reStructuredText). The parsed content is handed to Jinja2 templates defined by the active theme. Generators produce the output files: articles, pages, category and tag index pages, author pages, and feeds. Signals allow plugins to hook into specific points in the generation pipeline.

Self-Hosting & Configuration

  • Install with pip install pelican[markdown] in a virtual environment
  • Run pelican-quickstart to generate project scaffold with configuration files
  • Place content in the content/ directory with metadata headers (Title, Date, Category)
  • Customize site settings in pelicanconf.py and production overrides in publishconf.py
  • Build with pelican content and deploy the output/ directory to any static host

Key Features

  • Native Python ecosystem with pip install and Jinja2 templating
  • Dual markup support for Markdown and reStructuredText in the same project
  • Automatic feed generation for Atom and RSS without plugins
  • Import tools for migrating content from WordPress, Tumblr, and other platforms
  • Theme system with dozens of community themes available on pelicanthemes.com

Comparison with Similar Tools

  • Jekyll — Ruby-based with Liquid templates, native GitHub Pages support, larger community
  • Hugo — Go-based with sub-second builds, significantly faster for large sites
  • MkDocs — Python-based but focused specifically on project documentation, not general blogging
  • Sphinx — Python documentation generator aimed at API docs and technical references, not blogs
  • Nikola — Python static generator with Jupyter Notebook support, smaller community than Pelican

FAQ

Q: Can Pelican handle large sites? A: Pelican handles hundreds of articles without issues. Very large sites (thousands of pages) may see slower build times compared to Hugo, but caching and incremental builds help.

Q: Does Pelican support i18n? A: Yes. The i18n_subsites plugin allows generating translated versions of the site with per-language content directories.

Q: How do I create a custom Pelican theme? A: Create a directory with templates/ and static/ subdirectories containing Jinja2 templates and CSS/JS assets. Point the THEME setting to your theme directory.

Q: Can I use Pelican for documentation sites? A: Pelican can generate documentation pages, but MkDocs or Sphinx offer better navigation and search features specifically designed for technical documentation.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados