想搭个人博客或文档站,却不想碰数据库、不想管服务器、不想为一点静态内容跑一套笨重 CMS。Dynamic 框架太重,纯手写 HTML 又难维护。
开发者想要的,是一个能用自己熟悉的语言(Python)写内容、自动生成纯静态页面的工具:Markdown 一写,站点就出来了。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | pelican |
| GitHub地址 | https://github.com/getpelican/pelican |
| 项目描述 | 用 Markdown/REST 写文章,Python 驱动生成静态站点 |
| 作者 | getpelican |
| 开源协议 | GNU Affero General Public License v3.0 |
| 开源状态 | 公开 |
| Languages | Python |
| 支持平台 | 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,若修改并网络分发需开源相应改动。
二、核心优势
- Python 驱动:写内容与插件都用 Python,对 Python 开发者零学习成本。
- 纯静态:输出 HTML,无数据库、无服务端运行时,部署到哪都行。
- 内容与模板分离:Markdown/reST 写文章,Jinja2 管主题。
- 生态完整:主题、插件、i18n、多作者、RSS/Atom 一应俱全。
- 可扩展:大量现成插件(评论、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,修改并网络分发时需开源对应改动。
评论 0
还没有评论,来说两句吧。