Pelican Has No Content

Pelican 部署 GitHub 未生成文章

Pelican Has No Content

📝 笔记总结

  1. with: 部分添加 requirements 参数;
  2. 项目根目录创建 requirements.txt

📖 内容来源

⚠️ 错误提示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# .github/workflows/pelican.yml
name: Deploy to GitHub Pages
on:
push:
branches: [\"main\"]
workflow_dispatch:
jobs:
deploy:
uses: \"getpelican/pelican/.github/workflows/github_pages.yml@main\"
permissions:
contents: \"read\"
pages: \"write\"
id-token: \"write\"
with:
settings: \"publishconf.py\"

使用官方的 pelican.ymlcontent 文件夹内有测试的文章 *.md,但是没有生成文章页面。

Pelican Build Pelican Site

💡 错误原因

Could not import ‘markdown.Markdown’. Have you installed the ‘markdown’ package?
GitHub Actions 环境中没有安装 Markdown 支持,所以 Pelican 无法解析 .md 文件,导致处理了 0 篇文章。

✅ 解决方法

with: 部分添加 requirements 参数

  • 指定需要安装的 Python 模块:
1
2
3
with:
settings: \"publishconf.py\"
requirements: \"pelican[markdown] typogrify markdown-include\"
  • 或者指定一个requirements文件: -r requirements.txt
1
2
3
with:
settings: \"publishconf.py\"
requirements: \"-r requirements.txt\"
  • 完整的工作流文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name: Deploy to GitHub Pages

on:
push:
branches: [\"main\"]
workflow_dispatch:

jobs:
deploy:
uses: \"getpelican/pelican/.github/workflows/github_pages.yml@main\"
permissions:
contents: \"read\"
pages: \"write\"
id-token: \"write\"
with:
settings: \"publishconf.py\"
requirements: \"-r requirements.txt\"

项目根目录创建 requirements.txt

1
2
# 导出当前环境所有包
pip freeze > requirements.txt

典型的 Pelican 项目 requirements.txt 参考:

1
2
3
4
5
6
7
8
9
10
# Pelican 核心 + Markdown 支持
pelican[markdown]==4.12.0
# 排版优化(智能引号、连字符等)
typogrify==2.1.0
# 支持在 Markdown 中包含其他文件
markdown-include==0.8.1
# 代码高亮
pygments==2.17.2
# 同时支持 Markdown 和 reStructuredText
# pelican[markdown,html_rst]