用 Sphinx 写文档

本文记录使用Sphinx 写文档,以及利用Nginx 完成部署的整个过程。

环境

Sphinx 本身是使用Python 写的,所以你需要Python 的环境。由于我在Ubuntu14.04 下自然不用操心这个问题,如果是在Windows 环境下我没试过。

  • 安装Sphinx
pip install Sphinx
  • 扩展安装
    Sphinx 有个很强大扩展能力,官网给出了很多. 实在不满意还可以自己定制 除非是对外文档,我想不需要这么炫的功能。有基本的完全满足需求。
    Sphinx 默认是不产生侧边栏的Tree 结构的,所以找了个插件sphinxcontrib-fulltoc
 pip install sphinxcontrib-fulltoc

在里文档项目路径下运行下面的命令,我的在test-doc 目录下。

StartProject

sphinx-quickstart

过程中会有一些提示,需要填写项目名称,和选择一些基础的设置,我的选择方式是大部分默认,当选择yes or no 的时候基本都是yes


完了之后会在当前路径下产生一些文件,之所以是在当前路径下,是以为我上面选择的是当前路径,仔细看上图。

.
├── build
├── make.bat
├── Makefile
└── source
    ├── conf.py
    ├── index.rst
    ├── _static
    └── _templates

配置

扩展

source 路径是存放文档原文件的地方,conf.py是配置文件,能设置主题,扩展等。
现在就把插件添加进去,打开conf.py 添加最后一项,其他的都是在上面选择的时候产生的,我基本选择的是yes ,所以会比较多

extensions = [
 33     'sphinx.ext.autodoc',
 34     'sphinx.ext.doctest',
 35     'sphinx.ext.intersphinx',
 36     'sphinx.ext.todo',
 37     'sphinx.ext.coverage',
 38     'sphinx.ext.mathjax',
 39     'sphinx.ext.ifconfig',
 40     'sphinx.ext.viewcode',
 41     'sphinx.ext.githubpages',
 42     'sphinxcontrib.fulltoc',
 43 ]

主题

Sphinx 提供很多主题,去官网选择,你会发现很多主题都是很熟悉,如果你用Python 的化。默认是使用Flask一样的主题
打开conf.py 下面的位置可以编辑主题

 html_theme = 'alabaster'

语法

Sphinx 的文档默认是.rst文件,语法和Markdown 类似,但是我感觉某些地方会比较有优势
找了一下有个清晰的语法文档,有意思的是也是用Sphinx 写的。
官网也有,但是感觉这个会比较好,可能是颜色的问题。
新建一个example.rst 然后在index.rst 里按如下添加

title

title 的书写有几种和Html 中H标签对应

H1 -- Top of Page Header
************************
There should only be one of these per page and this will also -- when
converting to pdf -- be used for the chapters.

H2 -- Page Sections
===================

H3 -- Subsection
----------------

H4 -- Subsubsection
+++++++++++++++++++
table

我觉得优势就在Talbe 的写法上,Sphinx 支持三种table的格式

  1. table (a table with title)
  1. csv-table (a table generated from comma-separated values)
  2. list-table (a table generated from a list of lists)

我觉得list-talbe 会比Markdown 的书写方式好,Markdown 的写法,很难让那些竖线对齐,当文字很长没有规则的时候写的时候就会很乱
list-talbe 没有这个问题,官网给出的一个例子

.. list-table:: Frozen Delights!
   :widths: 15 10 30
   :header-rows: 1

   * - Treat
     - Quantity
     - Description
   * - Albatross
     - 2.99
     - On a stick!
   * - Crunchy Frog
     - 1.49
     - If we took the bones out, it wouldn't be
       crunchy, now would it?
   * - Gannet Ripple
     - 1.99
     - On a stick!

当然会有其他功能,可以添加图片之类的,链接......

部署

我是产生Html 静态文件然后用Nginx 代理这个目录。
在根目录下运行下面的命令,就可以在build 路径下产生html 文件,

make html

然后打开index.html
效果如下

把Html和所有静态文件推到服务器上,配置Nginx 然后就可以访问了
Nginx 配置方法见Nginx官网

如果你事件下来 发现得不到预期的结果,通常是你哪里有问题,比如书写的时候缩进没对齐,多了空格之类都会导致结果不正确。
Sphinx 还可以直接产生PDF文件。

也欢迎关注我的个人微信公众号:正午不早了
也可以访问我的技术博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容