文档与笔记利器 reStructuredText 和 Sphinx

28
2011
# 作者: 投稿/转载 / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接

本文转载自七星庐 [ 原文:文档与笔记利器reStructuredText和Sphinx / 作者 muzuiget ]

关于制作文档和笔记这种事,我已经纠结了很久,网上解决方案也一大推,我试过几样,ScrapBook 和 Zotero,编辑不太方便,同步麻烦。Google Note 过于格式简单,现在也不更新了,Google Docs又有点杀鸡用牛刀。还有传得很神奇的 Evernote 跟 Onenote,我压根没兴趣去用。

因为我的笔记大多都是自己写出来,整理出来的,就是精简成自己能看得懂的几段文字而已。我的要求无非这几样:主要是纯文本、工具开源、能同步和备份。

选择纯文本保存,我需要一个预定义格式,让笔记看起来有模有样,编辑器还能有简单代码高亮的,于是我在这个轻量级标记语言的维基页面观望好久。

Wiki也是一种不错方案,但是要搭服务器,不用服务器的也免不了各种配置,各种wiki系统的格式也不同。又研究了reStructuredText,发现阅读性非常好,能转换的格式也非常多。

vim就默认支持代码高亮了(rst扩展名),也能通过rst2html命令转换成的html,但是样式不太理想,我想应该有更漂亮的html生成器。于是我发现Sphinx这个工具,又当我发现其实这就是Python官方文档解决方案后。

我就做出最后决定了这一组合,reStructuredText作为标记语言,Sphinx作为生成工具。

预览

先来看看reStructuredText格式在vim的效果

生成html效果,就是python风格!

使用

只需安装python和sphinx即可。 安装python-sphinx这个包即可,自动解决依赖了,如果追新,则可以通过pypi来安装(也就是easy_install命令啦,不过要手动安装几个依赖库)。

安装后,应该会有sphinx-quickstart这个命令了。先新建一个空目录,这个目录会放置你的笔记

muzuiget:~$ mkdir note
muzuiget:~$ cd note/
muzuiget:~/note$ sphinx-quickstart

会问你N个问题,一般来说,只需要填四个地方,其余的都直接回车就行了

  1. Project name: Muzuiget Note
  2. Author name(s): muzuiget
  3. Project version: 1
  4. Project release [1]: 1

加粗的是我填的,最后的两个发布号跟先跟版本号一样就行了,这个可以以后再改的。然后这个目录的内容就是这样

muzuiget:~/note$ tree .
.
|-- _build
|-- conf.py
|-- index.rst
|-- make.bat
|-- Makefile
|-- _static
`-- _templates

3 directories, 4 files

然后你可以用文本编辑器打开 index.rst 这个文件,如果用vim,就发现有代码高亮啦。暂时不用改什么,接着运行

muzuiget:~/note$ make html

然后用浏览器打开 _build/html/index.html 你会看到,舒服漂亮的python式文档出现鸟。

添加内容

当然现在什么内容也没有,现在你就可以向 index.rst 添加内容就行了。 至于reStructuredText的语法,reStructuredText、Sphinx、Python都有简单的教程

  1. reStructuredText A ReStructuredText Primer
  2. Sphinx reStructuredText Primer
  3. Python reStructuredText Primer

这几个链接的html本身就是reStructuredText写出来的,比如第一个链接的源代码,另存到为 quickstart.rst,放到 index.rst 的统一目录下。然后修改 index.rst,就加一行

.. toctree::
   :maxdepth: 2

   quickstart.rst

注意“quickstart.rst”中的“q”和“ :maxdepth: 2”的冒号在同一列,保存,然后重新

muzuiget:~/note$ make html

再次刷新 _build/html/index.html,你就看到新的内容了,很简单吧。除了html外,sphinx也支持其它格式,直接运行make就能看到参数了。

ReStructuredText资料

下一步问题就是学习reStructuredText来编写规范的文档和笔记了,reStructuredText官方有个快速参考。而可供参考的实际例子更加多了,Sphinx的文档Python文档就是非常规范了,页面旁边有个“Show Source”链接,还不够,Sphinx上还有个列表

其实之前的sphinx-quickstart这个命令主要是创建了了 conf.py 这个文件,里面就是输出html或其它格式的配置,可以参考Sphinx文档来修改,定制性相当得高,还内置几种主题。这个方面还大家慢慢研究吧。

同步

对了,如何同步呢?还用多想,直接把笔记文件夹扔到Dropbox得了,就这么简单。在Bitbucket搭个私有仓库也行。

作者:投稿/转载

Bio: 本文章来源于读者的投稿及经原作者授权转发的文章。[请到这里投稿原创文章 ! ]
链接:Blog - Twitter - 此作者的更多文章

18 Responses to 文档与笔记利器 reStructuredText 和 Sphinx

Avatar

lds

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 28th, 2011 at 10:56 上午

不错的工具

[Reply]

Avatar

Juli

Firefox 4.0 Firefox 4.0 Windows 7 x64 Edition Windows 7 x64 Edition

六月 28th, 2011 at 11:57 上午

Avatar

Eua

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 28th, 2011 at 4:08 下午

bu cuo!

[Reply]

Avatar

fanhe

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 28th, 2011 at 5:07 下午

用vimwiki,只希望vimwiki功能更强大些.

[Reply]

Avatar

fanhe

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 28th, 2011 at 5:08 下午

vim的orgmode的插件有人做了出来了,就是不知道做到什么程度.

[Reply]

Avatar

鸟斑免

Firefox 5.0 Firefox 5.0 GNU/Linux x64 GNU/Linux x64

六月 28th, 2011 at 5:56 下午

个人用的话,tiddlywiki不错的,不用server,很酷:http://www.tiddlywiki.com/

[Reply]

Avatar

owwbu

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 28th, 2011 at 8:04 下午

用zim的飘过,虽然页面不怎么美观,不过整理方便,还可以插入公式(如果安装了latex的话)。

[Reply]

Avatar

子非鱼

Maxthon 3.0 Maxthon 3.0 Windows 7 Windows 7

六月 28th, 2011 at 11:50 下午

QuickFox Notes,火狐扩展,笔记可以跟书签一起同步。

[Reply]

Avatar

yc

Firefox 5.0 Firefox 5.0 Windows 7 Windows 7

六月 29th, 2011 at 12:41 上午

原来大家的评论中推荐的工具有时候比博主推荐的还要好用 :0

[Reply]

Avatar

kk

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

六月 29th, 2011 at 1:08 上午

那个python到底是干什么的?

[Reply]

Avatar

luc

Opera 11.50 Opera 11.50 GNU/Linux x64 GNU/Linux x64

六月 29th, 2011 at 2:11 上午

学习了,非常感谢。

[Reply]

Avatar

Steve

Pale Moon 5.0 Pale Moon 5.0 Windows XP Windows XP

六月 29th, 2011 at 9:35 上午

留言里Firefox5的普及率好高。用Vimwiki的飘过。

[Reply]

Avatar

tolbKni

Firefox 4.0 Firefox 4.0 GNU/Linux x64 GNU/Linux x64

六月 29th, 2011 at 11:33 上午

The archive and comments are wonderful!

[Reply]

Avatar

易邈之

Firefox 5.0 Firefox 5.0 GNU/Linux GNU/Linux

七月 5th, 2011 at 6:50 下午

似乎挺麻烦的,Firefox5确实占了多数啊,再添一个。

[Reply]

Avatar

OpenBilly

Google Chrome 14.0.803.0 Google Chrome 14.0.803.0 GNU/Linux GNU/Linux

七月 7th, 2011 at 9:05 下午

vimwiki是好东西呀。

[Reply]

Avatar

alswl

Google Chrome 13.0.782.220 Google Chrome 13.0.782.220 Windows 7 Windows 7

九月 16th, 2011 at 4:44 下午

最近正在学习Sphinx,感谢分享
这里有一个同样不错的中文教程 http://readthedocs.org/docs/wyatts-docs/en/latest/text/rst_sphinx/

[Reply]

Avatar

amure

Firefox 6.0.2 Firefox 6.0.2 Windows XP Windows XP

九月 17th, 2011 at 5:05 下午

没看明白 先标记

[Reply]

Avatar

nix

Safari 4.0.5 Safari 4.0.5 iPhone iOS 4.1 iPhone iOS 4.1

十月 21st, 2011 at 1:19 下午

这个礼拜试试看,用来制作电子书如何?有格式导出HTML再KindleGen生成应该很方便。

[Reply]

Comment Form

top

无觅相关文章插件,快速提升流量