利用Sphinx编写文档


1、Sphinx简介和使用理由

=================

Sphinx是一个用Python语言编写而成的文档编写工具。用Sphinx编写文档的时候,用户只需要编写符合Sphinx格式要求的纯文本源文件,然后通过Sphinx的命令就可以把纯文本源文件编译成html、pdf等常用格式的文档,这样就实现了通过文本文件自动生成html、pdf等格式文档的功能。

编写文档直接用Word不就是挺好的吗?为什么又要用Sphinx来写纯文本格式的文档呢?

这是因为Sphinx中的文本格式文档可以用版本控制系统跟踪它的变更,同时呢,它又可以非常轻松地生成多种的目标文档格式,比如编写一份Sphinx文档,然后通过工具就用这一份文档生成html、pdf、epub等其他格式的文档了,编写一种文本格式的文档,可以得到很多种其他格式的文档。

然而,word想要转成html就没有那么容易了,而且word文件是二进制文件,所以无法用版本控制系统来跟踪变更。

2、Sphinx在Windows下的安装

===================

Sphinx是用Python语言写成的软件,所以在安装Sphinx之前首要先要安装Python。

Python安装好之后,可以通过Python自带的Pip工具来安装Sphinx。只需要下面这一条命令,就可以完成Sphinx的安装:

pip install Sphinx

3、利用Sphinx制作文档的一般步骤

=====================

一般情况下,用Sphinx来写文档的时候,首先要创建一个Sphinx工程,就像要编写C语言程序在IDE中要建一个工程是一样的道理。建好工程,之后就可以往这个工程中写自己的文档源文件了。源文件编写完成后,就可以生成目标格式的文档了,如果想要html格式就用相应的命令,想要pdf格式也可以用对应的命令来生成。

所以,通常就这么三步:

(1)建文档项目

(2)写文档源文件

(3)编译生成目标格式的文档

4、Sphinx基础知识

============

这里简单介绍一些Sphinx的文档的基本编写知识。详细的情况可以参考《参考资料1》和中文版的《Sphinx使用手册》。

5、发布文档

========

发布文档是什么意思呢?因为Sphinx写文档可以编译成html格式,那么html格式的文档,就可以发布在网上,大家像看网站那样看文档。有一个叫readthedocs.org的网站就可以托管Sphinx生成的文档。

详情可以参考《参考资料4》

参考资料

1、https://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/

2、http://www.jianshu.com/p/56515db85690

3、http://zh-sphinx-doc.readthedocs.io/en/latest/contents.html

4、http://avnpc.com/pages/writing-best-documentation-by-sphinx-github-readthedocs

5、http://www.jianshu.com/p/78e9e1b8553a

利用Sphinx编写文档的更多相关文章

  1. 使用Sphinx编写文档

    操作系统 : Windows7_x64 Python 版本 : 2.7.10 Sphinx 版本 : 官方网址:http://sphinx-doc.org github地址: https://gith ...

  2. 【文档】使用Sphinx + reST编写文档

    0 前言 写文档是开发人员日常工作中的一项重要内容,除了word之外,我更偏爱使用标记语言(Markup Language).使用标记语言,可以利用简单.免费的文本编辑器(记事本,vim, emacs ...

  3. sphinx doc 文档生成脚手架工具

    sphinx 在python 语言开发中,是一个使用的比较多文档生成脚手架工具,我们帮助我们生成 专业的帮助文档,同时也有远端的免费saas 托管服务,方便分发 安装 sphinx 的安装好多方便,m ...

  4. 第四十四条:为所有导出的API元素编写文档注释

    简而言之,要为API编写文档,文档注释是最好,最有效的途径.对于所有可导出的API元素来说,使用文档注释应该被看作是强制性的.要 采用一致的风格来遵循标准的约定.记住,在文档注释内部出现任何的HTML ...

  5. Effective Java 第三版——56. 为所有已公开的API元素编写文档注释

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  6. 如何使用Markdown 编写文档

    Markdown 是一种轻量级标记语言,用来编写文本文档,一般后缀名为.md.该语言在 2004 由约翰·格鲁伯(John Gruber)创建. 由于Markdown 语法简单,易读易写,变得越来越通 ...

  7. 使用 Typora 编辑器运用 Markdown 的语法编写文档

    Markdown 介绍 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建. ...

  8. 利用print2flashsetup.exe文档转swf

    通过使用Print2Flash您可以轻松的将您的文档转换成真正的Adobe Flash格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题. Print2Flash中有一个 ...

  9. 使用readthedocs 发布 sphinx doc文档

    readthedocs 是由社区驱动的开源sphinx doc 托管服务,我们可以用来方便的构建以及发布文档 这是一个简单的demo 项目,使用了用的比较多的sphinx_rtd_theme 主题,主 ...

随机推荐

  1. 由PostgreSQL的区域与字符集说起(转)

    转自:http://blog.chinaunix.net/uid-354915-id-3502551.html 由PostgreSQL的区域与字符集说起 一.PostgreSQL的区域区域属性有以下几 ...

  2. 《Drools7.0.0.Final规则引擎教程》第4章 4.2 activation-group& dialect& date-effective

    activation-group 该属性将若干个规则划分成一个组,统一命名.在执行的时候,具有相同activation-group 属性的规则中只要有一个被执行,其它的规则都不再执行.可以用类似sal ...

  3. ip分包研究-以UDP为例

    原文 http://www.jianshu.com/p/741cb12ab0c9 测试环境: 利用iOS的NE从TUN抓取IP packets,如下代码分析ip包: uint16_t iphid = ...

  4. (八)java运算符

    算数运算符 + - * / % ++ -- class Ysf { public static void main(String[] args) { System.out.println(5/2);/ ...

  5. 中 varStatus的属性简介

    varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性.就拿varStatus="status"来说,事实上定义了一个status ...

  6. Maven build标签

    前言: <build >设置,主要用于编译设置 1.分类 在Maven的pom.xml文件中,存在如下两种<build>: (1)全局配置(project build) 针对整 ...

  7. Spring IOC容器的初始化-(二)BeanDefinition的载入和解析

    前言 1.在讲BeanDefinition的载入和解析之前,我们先来看看什么是BeanDefinition. Bean对象在Spring中是以BeanDefinition来描述的,也就是说在Sprin ...

  8. log4j及其log4j2的使用

    简单的说 log4j2 是log4j2的升级版,据说采用了一些新技术(无锁异步.等等),使得日志的吞吐量.性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活.其使用方式 ...

  9. mysql 创建用户自定义函数(转可运行)

    set global log_bin_trust_function_creators = 1; -- 开启bin_log 复制 函数创建DROP FUNCTION IF EXISTS hello; - ...

  10. android多渠道打包牛B工具

    http://www.orchidshell.com/ 兰贝壳儿:一个Eclipse插件,为Android开发提供了多渠道打包功能和一些工具类.