快速入门

安装

准备好了吗?我们出发吧!这里有几种方式来安装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包:

  • feedgenerator,用于生成Atom
  • jinja2,用于支持主题模板
  • docutils,用于支持使用reStructuredText作为输入格式

如果你不是使用2.7版本的Python,你还需要 argparse 。

可选项:

  • pygments,用于语法高亮
  • Markdown,用于支持使用Markdown作为输入格式。

使用Pelican编写文章

文件元数据

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版本添加)

页面

如果你建立一个名为 pages 的文件夹,所有在其中的文件都会被生成为静态页面。

然后,通过使用 DISPLAY_PAGES_ON_MENU 设置,可以将所有的页面添加到菜单上。

导入已经存在的博客

你可以通过简单的脚本从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 )

Fork me on GitHub