什么是Pelican?
由于众所周知的原因,Wordpress之类的站点在国内无法访问。而要想搭建一个自己的Wordpress站点, 是需要有自己的主机的,而且还需要维护数据库等等后台服务。并且如果哪天想挪挪窝,换个地方,数据 迁移也麻烦。
这时静态站点就有优势了,帮你摆脱这些烦恼。由于所有页面都是静态的,所以迁移基本就等于copy。 另一方面,托管静态页面的免费服务有不少,如国外的github pages,国内的七牛云等等。
但是静态页面能否像Wordpress那样,写作的时候只需要关心每篇文档的内容,至于最后网页的渲染、布局、 框架都不用care呢?静态站点生成工具就是用来干这个的。这个网页 收集了github上开源的静态站点生成工具,其中有github官方推荐的Jekyll,也有用Go语言编写的Hugo, 当然也少不了将要介绍的Pelican。
官方文档介绍说:
Pelican是一个静态站点生成工具,用Python实现。
安装
因为Pelican是基于Python的,所以也很容易用pip
来安装:
$ pip install pelican
如果你喜欢用Markdown来写作,就加上
$ pip install markdown
通常还会需要尝试各种theme并选取一个,可以在github上找到theme的集合 pelican-themes项目,把其中的所有 theme都拉下来好了:
$ mkdir ~/projects
$ git clone --recursive https://github.com/getpelican/pelican-themes ~/projects/pelican-themes
创建一个site
Pelican提供了一个工具,用来帮助快速创建一个site,创建的过程中会提若干问题,一般情况下直接敲Enter
选默认选项就行了:
$ mkdir ~/projects/test
$ cd ~/projects/test
$ pelican-quickstart
然后创建一篇文档:
$ cat > content/1st.md
Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Alexis Metaireau, Conan Doyle
Summary: Short version for index and feeds
This is the content of my super blog post.
文档开头包含了许多meta信息,一般情况下Title和Date是必要的,其他信息会从pelicanconf.py
中获取。
现在可以来生成html文档了:
$ make html
$ make serve
然后可以用浏览器访问http://localhost:8000
来看到自己的站点了。
其他
pelicanconf.py
文件配置举例:
TIMEZONE = 'Asia/Shanghai' # 时区设置
DEFAULT_PAGINATION = 10 # 分页设置,可以设置为False表示不分页
THEME = './theme/abc' # 主题模板所在目录
SUMMARY_MAX_LENGTH = 10 # 文章列表页面上,每篇文章的摘要长度,即从每篇文章开头截取的word数
PYGMENTS_STYLE = 'solarizedlight' # 文章中code的语法高亮配色方案