安装一个主题
catsup install git_repo
比如,安装 Theme Clean
catsup install git@github.com:whtsky/catsup-theme-clean.git
更新一个已安装的主题
catsup install theme_name
比如,更新 Clean
catsup install clean
列出所有已安装的主题
catsup themes
Catsup 使用 Jinja2 模板引擎。如果你想要开发自己的主题,你需要先了解 Jinja 2 。
你可以看看以下几个主题来了解如何开发自己的 Catsup 主题 :
一个 Catsup 主题看起来是这样的
├── README.md <-------- how to install/customize your theme.
├── static <-------- static files
│ ├── css
│ │ ├── pygments_style.css <-------- catsup uses Pygments to highlight code
│ │ └── style.css
├── templates <-------- template files
│ ├── 404.html
│ ├── archive.html
│ ├── archives.html
│ ├── page.html
│ ├── post.html
│ └── tag.html
│ └── tags.html
├── filters.py <--------- filters defined by theme
└── theme.py <--------- meta file
一个主题元数据文件的例子
name = 'sealscript'
author = 'Lyric'
homepage = 'https://github.com/whtsky/catsup-theme-sealscript'
post_per_page = 3
vars = {
"github": "whtsky",
}
一个主题元数据包括 :
只有几个模板有模板变量。
pagination: page.html 中特有的模板变量。
post: post.html 中特有的模板变量。
permalink: 当前页面的永久链接
<link rel="canonical" href="{{ permalink }}"/>
Static URL 返回给定静态文件的 URL
<link rel="stylesheet" href="{{ static_url("css/style.css") }}" type="text/css" />
url for 返回给定对象的永久链接地址
<a href="{{ url_for('index') }}">{{ site.name }}</a>
<a href="{{ url_for(post) }}">{{ post.title }}</a>
<link rel="alternate" type="application/rss+xml" href="{{ url_for('feed') }}" title="{{ site.name }}" />
Catsup 有一些强大的模板宏,可以让你更加轻松的编写模板。
使用内置的模板宏的 post.html 例子
<html>
<head>
<title>{{ post.title }}</title>
{% from 'utils.html' import meta, analytics %}
{{ meta(post) }}
{{ analytics() }}
<link rel="canonical" href="{{ permalink }}"/>
</head>
<body>
<article>
<h1>{{ post.title }}</h1>
{{ post.content }}
{% from 'utils.html' import render_comment %}
{{ render_comment(post) }}
</article>
</body>
</html>