准备好了吗?我们出发吧!这里有几种方式来安装Pelican。而其中最简单的一种便是 通过 pip:
$ pip install pelican
如果你没有安装pip,也可以使用easy_install进行安装:
$ easy_install pelican
虽然上面的方法十分简单,但是仍然推荐使用虚拟环境来安装Pelican,这需要提前安装 virtualenv 和 virtualenvwrapper
$ pip install virtualenvwrapper
$ mkvirtualenv pelican
一旦虚拟环境被创建并且机会,你就可以使用之前提到的方法来安装Pelican了。取而代 之的,如果你有项目的源代码,你就要使用以下方法来进行安装:
$ cd Pelican的源代码路径
$ python setup.py install
如果你安装了Git并且偏向于安装最新版本的Pelican而不是稳定的版本,你可以使用以下 命令:
$ pip install -e git://github.com/ametaireau/pelican#egg=pelican
如果你通过pip或easy_install安装了稳定版本的Pelican,并且希望更新到最新的稳定 版本,你可以运行相应的`–upgrade`命令。对于pip而言,是这样的:
$ pip install --upgrade pelican
如果你通过源代码方式安装的Pelican,只需要简单在将代码更新到最新版本后重复刚才 的安装步骤。
到目前为止,Pelican依赖于以下这些Python包:
如果你不是使用2.7版本的Python,你还需要 argparse 。
可选项:
Pelican采用尽可能聪明的方式从文件系统中来获取信息(比如,获取文章分类的方式) ,但是一些信息仍然需要你在文件的元数据中提供。
对于reStructuredText文档,你可以使用以下方式来标记文档的元数据(用 .rst 来作为你的文档后缀名):
My super title
##############
:date: 2010-10-03 10:20
:tags: thats, awesome
:category: yeah
:author: Alexis Metaireau
你同样可以使用Markdown语言(使用 .md 作为文件的后缀名)。 你可以使用 pip install Markdown 来安装 Markdown 软件包,否则使用Markdown 的文档将无法被生成。Markdown方式的元信息用如下方式进行标记:
Date: 2010-12-03
Title: My super title
Tags: thats, awesome
Slug: my-super-post
This is the content of my super blog post.
需要注意的是,除去标题以外,其他的元素都不是必须的:如果日期没有设置,Pelican将 使用对应文件的修改时间,如果类别没有设置,Pelican将使用文件所放置的目录名称。比 如说,有一个文件在 python/foobar/myfoobar.rst 目录,将会使用类目 foobar 。
发布博客时,你只需要使用 pelican 命令:
$ pelican 放置内容的路径 [-s 配置文件路径]
就这么简单,你的博客已经生成在了你指定的内容目录之下。
以上命令将使用默认的主题来生成一个简单的站点。但它并不性感,因为它只是简单HTML输出 (没有添加任何样式)
你可以创建任何你想要的样式。你可以通过以下命令来查看如何使用所有的选项:
$ pelican --help
你可以使用 pelican-quickstart 脚本,通过回答几个简单的问题来运行博客。( Pelican 3.0版本添加)
你可以通过简单的脚本从Dotclear,WordPress和RSS来导入博客。详见 导入 。
你可以通过在文章或页面的元数据中添加 lang 属性以及在配置文件设置 DEFAULT_LANG 属性(默认为英语[en])来实现翻译功能。一旦设置完毕,只有采用默认语言的文章会被列 出显示并且每篇文章都会列出可获取的其他翻译版本。
Pelican通过文章的URL slug 来确定多篇文章是否是统一文章的不同翻译版本。你可以在文章的的 元信息中进行手动设定它。如果没有设定,Pelican会通过文章标题来进行自动生成。
作为例子,这里有两篇文章,一篇使用的英文,一篇使用的法文。
英文版本:
Foobar is not dead
##################
:slug: foobar-is-not-dead
:lang: en
That's true, foobar is still alive!
法文版本:
Foobar n'est pas mort !
#######################
:slug: foobar-is-not-dead
:lang: fr
Oui oui, foobar est toujours vivant !
尽管这个内容没有任何意义,不过你可以发现两篇文章唯一相同的地方便是 slug 信息, 它在这里起到了辨识唯一性的作用。如果你不采用这种方式来设置 slug 你必须确定翻译 的文章的标题必须具备这样的唯一性,因为程序将会使用文章的标题来自动生成 slug 。
Pelican可以对文章中代码块采用语法高亮展示。为了达到这个目的,你必须采用以下的方式 来转换你的内容(你必须把这些写在你的文章内容中)。
RestructuredText:
.. code-block:: identifier
你的代码
Markdown:
:::identifier
你的代码
其中 identifier 必须存在与这个列表中 list of available lexers.
你可以让Pelican自动监控你所有的修改,而不是当你每次需要更新时去手动的重新运行它。 你可以在使用 pelican 命令时使用 -r 或 –autoreload 选项来实现这个功能。
如果希望将你的文章作为草稿发布(比如当你需要朋友来帮你检查时),你可以在他的元 信息中加入 status: draft 属性。这样文章就会被生成到 drafts 文件夹中, 且不会在你的首页或任何一格分类页面中被显示出来。
Pelican生成的所有文件都是静态的,所以你并不需要什么特别的工具就可以直观的看到 所有生成文件的效果。
你可以使用你的浏览器打开本地的文件,如:
$ firefox output/index.html
你也可以运行一个简单本地服务器,如:
cd output && python -m SimpleHTTPServer
(小贴士:如果你采用了后一种方法,并开启了自动载入功能,请确保设置文件中的 DELETE_ OUTPUT_DIRECTORY 项被设置为 False )