39

Sphinx是一个 Python 库,用于从一组ReST格式的文本文件生成漂亮的文档。

我想知道是否有人编写了 Sphinx 插件来使其生成个人网站和博客

特别是对于博客,需要一种方法来自动按时间顺序列出帖子并生成 RSS 提要。需要编写一个 Sphinx 插件来生成这种特殊的页面/xml。

有没有人试过这个?

4

8 回答 8

23

我已经在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.xmlrss 提要的输出目录(硬编码)。

所以:你需要一些自定义的东西,但它几乎是纯文本,所以对我来说这是一个很好的练习。你可以编写一些帮助脚本来简化生活,例如将文本文件从某个地方复制到今天的博客目录(包括创建缺失的目录和“svn add”)。

于 2009-10-19T13:39:15.860 回答
14

截至目前(2012 年 2 月),有不同的资源可用于执行您想要的操作:

基于 sphinx 的博客引擎:http: //tinkerer.me/

Reinout Van Rees 的博客:https ://github.com/reinout/reinout.vanrees.org

提要贡献扩展:https ://bitbucket.org/birkenfeld/sphinx-contrib/src/tip/feed/README

于 2012-02-11T06:41:23.257 回答
13

Doug hellmann 是“本周 Python 模块”的作者,他使用 Sphinx 做他的网站。

http://www.doughellmann.com/PyMOTW/

他有几篇文章涵盖了狮身人面像主题,可能会对您有所帮助:

http://blog.doughellmann.com

于 2009-10-16T07:30:40.823 回答
12

如果你需要写reStructuredText,你应该试试Pelican

Pelican 是一个静态站点生成器,用 Python 编写。您将能够直接在 reStructuredText 或 Markdown 中编写您的博客条目。

于 2012-10-23T13:05:57.350 回答
8

查看Ablog 的 Sphinx

我正在使用它自己创建一个博客。

当我在 feedly 中浏览我的提要时,我偶然发现了它。我搜索了一下,发现它很有趣。它还集成了 Disqus,并且可以生成 Atom 提要(目前不太确定那是什么,我是网络新手)

我还没有弄清楚如何部署我的测试博客,当我发现一些东西时会更新。

于 2015-04-04T17:08:40.060 回答
7

值得一提的是,sphinx-contrib 扩展中有一个 sphinx 的 RSS 扩展,称为sphinxcontrib.feed It 和许多其他有趣的 Sphinx 东西,位于http://bitbucket.org/birkenfeld/sphinx-contrib/

(免责声明:我编写了提要扩展。)

于 2010-07-10T08:03:58.050 回答
3

不是 Sphinx,而是http://codespeak.net/上的几个站点使用接收 ReST 文本、生成 HTML 并将它们上传到站点的脚本完成。虽然这些脚本不是我写的,但我用过它们。

如果站点无论如何都需要包含大量 ReST 文件,那么生成站点是一种合理的方式,例如在为 python 模块生成文档时,当然这些站点都是关于这些的。如果您需要对站点进行版本控制,这也很好,因为您可以将源代码保存在 svn 或 hg 或其他格式中。

但是如果你开始编写大量的自动菜单和其他扩展,你最终会得到一个内容管理系统。周围已经有很多这样的,所以你可能想先看看它们。

另一个例子是新的 packages.python.org。在那里,您可以根据需要生成文档,然后通过 PyPI 上传带有文档的 zip 文件。Distribute 使用 Sphinx 完成了这项工作:http ://packages.python.org/distribute 。但是不需要特定的脚本,它只是从 Sphinx 文档生成 HTML。

然而...

我必须说,我觉得编写一个博客软件作为 Sphinx 扩展的想法有点有趣,特别是因为已经有这么多优秀的博客软件。无论如何,没有什么能比得上 Wordpress,而且 wordpress.com 对我来说是一次很棒的博客体验。但是作为一个练习你可以滥用多少狮身人面像,为什么不呢!:-)

于 2009-10-16T06:06:14.933 回答
1

我在 Sphinx 中重做了我的个人网站 ( http://homepage.mac.com/s_lott/steve/ )。它工作得很好。 可悲的是,SO 标记破坏了_我的 URL。

我还用 Sphinx 重写了整个《非程序员编程简介》http://homepage.mac.com/s_lott/books/nonprog/html/index.html)一书。我正在重写 Sphinx 中的 Python 简介。

我不将 Sphinx 用于博客——它不是很方便,但它会起作用。我将blogspot用于低图形/高文本和相对高速的博客。我将 iWeb ( http://web.me.com/s_lott/Travel/Welcome.html ) 用于高图形和相对低速的博客。

于 2009-10-16T10:21:02.043 回答