使用Sphinx创建个人网站和博客
8 个回答
如果你需要使用 reStructuredText 来写东西,建议你试试 Pelican。
Pelican 是一个静态网站生成器,用 Python 编写。你可以直接用 reStructuredText 或 Markdown 来写你的博客文章。
截至目前(2012年2月),有一些不同的资源可以帮助你实现你想要的功能:
一个基于Sphinx的博客引擎:http://tinkerer.me/
Reinout Van Rees的博客:https://github.com/reinout/reinout.vanrees.org
一个叫做feed的扩展:https://bitbucket.org/birkenfeld/sphinx-contrib/src/tip/feed/README
我在这个网站上做过类似的事情:http://reinout.vanrees.org/weblog。关键的技巧是添加一个预处理步骤。我把我的博客文章放在一个 weblog/yyyy/mm/dd/
的文件夹结构里。
有一个脚本会遍历这个文件夹结构,在每个目录下创建 index.txt
文件,列出里面的子项目。然后,正常的 Sphinx 处理过程会把这些 index.txt
文件渲染出来。
我还为标签添加了一个自定义的 Sphinx 处理器。所以在我的博客文章开头加上 ".. tags:: python, buildout" 这样的内容,就会生成相应的标签。然后,预处理器会收集这些条目,并写出一个 weblog/tags/TAGNAME.txt
文件,Sphinx 也会正常渲染这个文件。
预处理器还会创建根目录下的 weblog/index.txt
,里面包含最新的10条文章。同时,它还会在输出目录中创建一个 weblog/atom.xml
文件,用于 RSS 订阅。
所以,你需要一些自定义的东西,但基本上都是纯文本,对我来说这是一个不错的练习。而且你可以写一些辅助脚本来简化操作,比如一个可以把某个地方的文本文件复制到今天的博客目录的脚本(还包括创建缺失的目录和执行 "svn add")。