Sphinx是一个Python库,可以从一组ReST格式的文本文件生成漂亮的文档。
我想知道是否有人编写了Sphinx插件,以便生成个人网站和博客。
特别是对于博客,需要有一种方法可以按时间顺序自动列出帖子并生成RSS提要。人们需要编写一个Sphinx插件来进行特殊的页面/ xml生成。
以前有人试过吗?
答案 0 :(得分:21)
我已经在http://reinout.vanrees.org/weblog完成了。关键技巧是添加预处理器步骤。我的博客条目是weblog/yyyy/mm/dd/
文件夹结构。
脚本遍历该文件夹结构,在每个目录中创建index.txt
个文件,列出子项。然后,正常的Sphinx进程会呈现这些index.txt
个文件。
我为标签添加了自定义Sphinx处理器。因此,在我的博客条目顶部的某处“.. tags :: python,buildout”会生成标签。并且预处理器再次收集这些条目并写出一个weblog/tags/TAGNAME.txt
文件,Sphinx再次正常呈现。
预处理器还会创建具有最新10个条目的根weblog/index.txt
。并且weblog/atom.xml
在(硬编码)rss feed的输出目录中。
所以:你需要一些自定义的东西,但它几乎是纯文本,所以对我来说这是一个很好的练习。你可以编写一些帮助脚本来简化生活,例如将文本文件从某个地方复制到今天的weblog目录(包括创建丢失的目录和“svn add”)。
答案 1 :(得分:14)
截至目前(2012年2月),有不同的资源可以做你想做的事情:
基于sphinx的博客引擎:http://tinkerer.me/
Reinout Van Rees'博客:https://github.com/reinout/reinout.vanrees.org
Feed contrib扩展程序:https://bitbucket.org/birkenfeld/sphinx-contrib/src/tip/feed/README
答案 2 :(得分:13)
本周的Python模块的作者Doug hellmann使用Sphinx做他的网站。
http://www.doughellmann.com/PyMOTW/
他有几个帖子涵盖了狮身人面像主题,可能会帮助你:
答案 3 :(得分:12)
如果您需要撰写reStructuredText ,请尝试Pelican。
Pelican是一个静态站点生成器,用Python编写。您可以直接在reStructuredText或Markdown中编写博客条目。
答案 4 :(得分:7)
值得知道sphinx-contrib扩展中有sphinx的RSS扩展名为sphinxcontrib.feed
它和许多其他有趣的狮身人面像生活在http://bitbucket.org/birkenfeld/sphinx-contrib/
(免责声明:我编写了Feed扩展程序。)
答案 5 :(得分:6)
我正在使用它自行创建博客。
当我在饲料中喂食时,我偶然发现了它。我搜索了一下,发现它很有趣。它还有Disqus集成,可以生成Atom提要(不太确定目前是什么,我是网络新手)
我还没有想出如何部署我的测试博客,当我发现某些内容时会更新。
答案 6 :(得分: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对我来说是一次很棒的博客体验。但是,作为锻炼你可以滥用狮身人面像的多少,为什么不呢! : - )
答案 7 :(得分:1)
我在Sphinx中重新设置了我的个人网站(http://homepage.mac.com/s_lott/steve/)。它工作得很好。 可悲的是,SO标记会破坏我网址中的_
。
我还在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)进行高图形和相对低速的博客。