[实例] 自动动手制作Pelican主题
我创建的主题
使用主题
# Specify name of a built-in theme
THEME = "notmyidea"
# Specify name of a theme installed via the pelican-themes tool
THEME = "chunk"
# Specify a customized theme, via path relative to the settings file
THEME = "themes/mycustomtheme"
# Specify a customized theme, via absolute path
THEME = "~/projects/mysite/themes/mycustomtheme"
目录结构
├── static // 会被复制到 output/theme 文件夹
│ ├── css
│ └── images
└── templates
├── archives.html // to display archives
├── period_archives.html // to display time-period archives
├── article.html // processed for each article
├── author.html // processed for each author
├── authors.html // must list all the authors
├── categories.html // 列出所有分类目录
├── category.html // processed for each category
├── index.html // the index. List all the articles
├── page.html // processed for each page
├── tag.html // processed for each tag
└── tags.html // 列出所有标签, 可以是标签云
快速的方案是拷贝已有的主题进行修改
模板 和 变量
共同的变量
即在每个模板中能使用的变量, 其中在配置文件中定义的变量在所有模板中都能使用
例如: 作者 {{ AUTHOR }}
变量 | 描述 |
---|---|
output_file | 当前生成的文件的文件名. 例如, 当Pelican渲染主页时, output_file的值为"index.html". |
articles | 文章列表, 根据日期降序排序. 所有元素为Article对象, 可以访问其属性(如: title, summary, author等). 有时会被覆盖(例如在tags页中). 这时需要使用all_articles变量代替. |
dates | 与articles同样的列表, 但是根据日期升序排序. |
tags | (tag, articles)列表元组, 包含所有标签. |
categories | (category, articles)列表元组, 包含所有分类目录, 以及各自的文章(values)列表 |
pages | 页面列表 |
每个模板页中还有特殊的变量, 很简单, 具体看官方文档
How to create themes for Pelican
pelican-themes脚本的使用
不是非要使用...
我是没用上 - -