想搭个人博客或文档站,却不想碰数据库、不想管服务器、不想为一点静态内容跑一套笨重 CMS。Dynamic 框架太重,纯手写 HTML 又难维护。
开发者想要的,是一个能用自己熟悉的语言(Python)写内容、自动生成纯静态页面的工具:Markdown 一写,站点就出来了。

项目基本信息

信息项详情
项目名称pelican
GitHub地址https://github.com/getpelican/pelican
项目描述用 Markdown/REST 写文章,Python 驱动生成静态站点
作者getpelican
开源协议GNU Affero General Public License v3.0
开源状态公开
LanguagesPython
支持平台Windows / macOS / Linux
最后更新2026-10-13

一、项目介绍

getpelican/pelican 是一个 AGPL-3.0 协议的静态站点生成器,用 Python 编写,最早为写博客而生,也适合文档与项目站。它以 Markdown 或 reStructuredText 为内容源,配合 Jinja2 模板生成纯 HTML,支持多站点、多作者、i18n、主题、插件与 RSS/Atom 输出。Pelican 不依赖数据库,产物可直接丢到任意静态托管(GitHub Pages、对象存储、Nginx)。注意 AGPL-3.0 为强 copyleft,若修改并网络分发需开源相应改动。

二、核心优势

  1. Python 驱动:写内容与插件都用 Python,对 Python 开发者零学习成本。
  2. 纯静态:输出 HTML,无数据库、无服务端运行时,部署到哪都行。
  3. 内容与模板分离:Markdown/reST 写文章,Jinja2 管主题。
  4. 生态完整:主题、插件、i18n、多作者、RSS/Atom 一应俱全。
  5. 可扩展:大量现成插件(评论、SEO、图片处理等)即插即用。

三、适用场景

  • 开发者写技术博客,想要 Markdown 撰写 + 静态托管。
  • 团队项目文档站,需要 Jinja2 主题与多语言。
  • 想完全掌控站点、不依赖第三方 CMS 的个人站点。
  • 需要把内容生成后丢到对象存储/CDN 的场景。

四、安装教程

建议用虚拟环境安装:

python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install pelican
# 快速建站
pelican-quickstart

常见报错:pip 装到系统 Python 时权限不足,请用虚拟环境;pelican-quickstart 交互式提问若不想要可一路回车用默认值。

五、使用示例

写文章并生成:

# 在 content/ 下写 Markdown,头部带 title/date/category 等元数据
pelican content -o output -s pelicanconf.py   # 生成
pelican --listen                              # 本地预览 http://localhost:8000

真实流程:你在 content/ 里写一篇 .md,Pelican 按 pelicanconf.py 的主题与设置渲染成静态页,再 pelican --listen 本地预览,满意后把 output/ 上传即可。

六、常见问题

Q:Pelican 和 Hugo/Jekyll 有什么不同?
A:Pelican 用 Python 与 Jinja2,对 Python 开发者更顺手;Hugo 用 Go 极快,Jekyll 与 GitHub Pages 集成最深,按技术栈选。
Q:AGPL 协议对博客有影响吗?
A:AGPL 是强 copyleft:若你修改 Pelican 并对外提供网络服务,需公开相应源码;直接用不改通常无碍。
Q:怎么加评论?
A:静态站无后端,常用插件接 Disqus/Utterances 等外部评论服务,或干脆关闭评论。

七、总结

Pelican 用 Python + Markdown 把“写文章”变成“生成静态站”,无数据库、易部署,适合技术博客与文档站。对 Python 开发者尤其顺手;只是 AGPL-3.0 为强 copyleft,修改并网络分发时需开源对应改动。