sphinx使用笔记

一.sphinx简介

Sphinx简单来说,是一个文档生成工具。用于把reStructuredText 格式的源文件生成诸如HTML, PDF, LaTex一类的格式。编辑者无须亲自处理文本的格式, 程序会自动根据源文件里的设置产生格式, 以及自动生成章节链接等工作。

Sphinx 是用 Python 编写的,并且最初是为 Python 语言文档而创建,默认情况下,Sphinx 会为 Python 突出显示代码,但它还允许定义其他编程语言,比如 C 和 Ruby。

有很多开源工程都采用sphinx作为文档生成系统,最有名的就是 python官方文档 。 在 sphinx官方 网站 上也列出使用sphinx的项目,有将近90个左右,其中不乏大名鼎鼎的开源项目。

一些中文的翻译项目也采用了sphinx,如 pymotwcn 。

二.sphinx的安装和配置

1. 安装python

2. 要确认已经安装了setuptools

  • 如果已经安装,你在python安装路径下的Scripts文件夹下会找到一个easy_install.exe。
  • setuptools下载

3. 在命令行输入easy_install sphinx

  • easy_install可以自动下载并安装sphinx以及它所依赖的其他模块。
  • easy_install -U Sphinx

三.建立sphinx工程

建议使用sphinx自带的配置工具sphinx-quickstart。 - 建立一个工程目录,比如D\:Note。 - 在该目录启动命令行,输入sphinx-quickstart

D:\Note>sphinx-quickstart
  • 程序会提示输入一些选项,如输入根目录等。大部分使用默认选项,直接按回车即可。
  • 需要指定的选项有:
    1. 分离source和build目录,方便管理

      > Separate source and build directories (y/N) [n]: y

    2. 指定工程名、作者名、版本号

      The project name will occur in several places in the built documentation.
      > Project name: Note
      > Author name(s): LK

      Sphinx has the notion of a "version" and a "release" for the
      software. Each version can have multiple releases. For example, for
      Python the version is something like 2.5 or 3.0, while the release is
      something like 2.5.1 or 3.0a1.  If you don‘t need this dual structure,
      just set both to the same value.
      > Project version: 0.1
      > Project release [0.1]:

    3. *  autodoc: automatically insert docstrings from modules (y/N) [n]: y  

    *  viewcode: include links to the source code of documented Python objects (y/N) [n]:y

         4.   Be sure to create a makefile. It makes life simple.

  • 完成后,可以看到Note目录下有以下目录和文件
    • build目录 运行make命令后,生成的文件都在这个目录里面
    • source目录 放置文档的源文件
    • make.bat 批处理命令
    • makefile
  • 基本完成了,使用make html命令就可以生成html形式的文档了。如果make html不行,可以使用这个命令:sphinx-build -b html source build

四.语法

 

1.标题

====================
文档标题
=====================

--------
子标题
--------

章节标题
========

 

2.段落

1)空一行可以分段

2)同一段落的内容,需要左对齐(即同级缩进)

3.换行且在每行前加一个小圆点,且缩进

减号空格文字即 - 文字

4. 超链接(参考http://blog.csdn.net/jiyucn/article/details/2157189

1链接主要包括以下几种

独立链接 , reStructuredText 会自动将网址转换为链接。

例如 http://www.ubuntu.org.cn/

http://www.ubuntu.org.cn/

命名链接 ,为链接命名,有助记忆和减少空间占用。

在正文中使用 <链接名>_ ,注释中使用 _<链接名>: [链接目标]

例如 Ubuntu

Ubuntu_

.. _Ubuntu: http://www.ubuntu.org.cn/

如果链接名中出现空格和标点符号,可以使用 ` 将链接名包裹起来

`Ubuntu cn`_

.. _`Ubuntu cn`: http://www.ubuntu.org.cn/

无名链接 ,不使用链接名的链接

主要用于将大段文字转换为链接。如果将这部分文字作为链接名,链接名也将被写进注释中……

`主要用于将大段文字转换为链接。如果将这部分文字作为链接名,

链接名也将被写进注释中……`__

__ http://www.ubuntu.org.cn/

无名链接经常与命名链接一起使用

`这里是一大段文字………………`__

__ 一个命名链接_

可以在任意位置定义这个命名链接

.. _一个命名链接:

锚点 ,链接的目标地址留空,可以在当前位置标记锚点。

跳转到 锚点_

.. _锚点:

<页面位置>

点击锚点名称跳转到锚点标记处。

标题链接 ,跳转到文章内部的标题

reStructuredText定义标题的同时,还定义了一个标题链接,在正文中使用 标题名称_ 可以跳转相应标题

标题名称

========

跳转到 标题名称_

嵌入式链接 ,链接目标嵌入到链接中。(reStructuredText 中没有通过,不建议使用)

`Ubuntu <http://www.ubuntu.org.cn>`_

语法参考: http://docutils.sourceforge.net/docs/user/rst/quickref.html

http://sphinx-doc-zh.readthedocs.org/en/latest/rest.html

参考网站:

http://bigzhu.org/blog/%E7%94%A8sphinx%E5%B0%86python%E7%9A%84%E6%B3%A8%E9%87%8A%E7%94%9F%E6%88%90%E6%96%87%E6%A1%A3

http://sphinx-doc-zh.readthedocs.org/en/latest/rest.html rst入门中文介绍

http://www.osseye.com/?p=239 sphinx实时索引架构现实

http://codinn.com/projects/sphinx/view/contents.htmlphinx使用手册

http://wowubuntu.com/restructuredtext-sphinx.html 文档与笔记利器 reStructuredText 和 Sphinx

http://www.cnblogs.com/Lvkun/archive/2010/04/01/1702245.html使用sphinx记笔记

http://notes.yeshiwei.com/sphinx.html

http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/使用 sphinx 制作简洁而又美观的文档

http://www.oschina.net/p/sphinx-doc

http://www.cosdiv.com/page/M0/S225/225320.html使用sphinx记笔记

时间: 2024-10-11 05:10:05

sphinx使用笔记的相关文章

Sphinx学习笔记(一)

最近负责一个项目,需要用到全文检索,我的环境大体如下: 1.数据保存在MySQL中 2.需要支持中文检索 3.尽可能的简单 选择了Sphinx,至于solr和Elasticsearch,看主页的介绍,它们对分布式.均衡等方面的支持非常好,只不过它们的安装包太大了,用起来挺不方便的,所以才放弃了它们,不过等有机会还可以研究一下. 基本步骤如下: 1. 安装:Sphinx的主页是http://sphinxsearch.com/,目前版本为2.2.8,下载界面为http://sphinxsearch.

sphinx 笔记

//sphinx搜索//使用setLimits函数改变默认显示20条结果 $sphinx = new SphinxClient(); $sphinx->SetServer('localhost', 9312); $sphinx->SetMatchMode(SPH_MATCH_ANY); $sphinx->setLimits (0,1000); $result = $sphinx->query($word,'*');

【sphinx】sphinx文档学习笔记

2.4 Which CMUSphinx should I use? 按平台来说,sphinx2可以作为嵌入式平台的选择 按研究来说,如果研究声学模型和快速GMM计算的研究,选sphinx3:如果研究搜索算法,选sphinx4:如果做自适应和声学模型生成,可以用sphinxtrain中的estimation(估计)模块 你的要求真的可行吗?  一般来说,如果没有语言学的限制,识别率会很差.影响系统的主要两个因素是:声学复杂度和语言学复杂度. 建立一个有1000个人名的通讯录系统,难度要超过建立一个

【sphinx】sphinx4学习笔记

sphinx-core工程是个java工程,内带两个例子,一个是helloword,其中涵多个功能,例如录音,对齐等.(还未挨个实验) 另一个是hellongram,就是语音识别.可以用到的参数文件有hellongram0.xml,hellongram9.xml,hellongram1.xml.其中1.xml中没有用到语言模型,而是用JSFG来定义句子的语言规则,貌似是用正则表达式规定了待识别的句子只有如下可能:(hello)(jim|kate|tom)等. hellongram0.xml是用于

【sphinx】sphinxTrain文档笔记

如果需要训练的模型词汇量只有50-60个,而且你的所有测试词汇都包含在训练词汇中.那么训练基于单词的模型可能比基于音素的会更好. 基于单词的模型训练方法:1)定义的phoneset改为单词列表  2)词典中的map,是单词指向它本身 而如果训练基于音素的,要保证每个连接状态有充足的例子-5~10个的例子 训练之前,确定你要训练的模型需要的资源是否充足         半连续 semi-continue模型的训练----训练 :每个hmm模型要求5个状态,对10000个triphone的模型,要求

[sphinx][语音识别]学习笔记

[http://www.voxforge.org/home/dev] 1.声学模型训练 声学模型的训练过程,就是使用你的语音数据生成说话人独立的声学模型,或者将Voxforge在线的声学模型适应你的声音特色. Linux 训练你自己特色的声学模型 How-to - using a script Tutorial - step-by-step (with explanations) 为了提高你自己创建的声学模型的识别率,你需要使用更多小时的录音来训练一个声学模型,一个更快捷的方法是,将VoxFor

coreseek (sphinx)+ Mysql + Thinkphp搭建中文搜索引擎详解

  一, 前言    1,研究coreseek的动机 我有一个自己的笔记博客,经常在上面做一些技术文章分析.在查询一些文章的时候,以前只能将要查询的内容去mysql中用like模糊匹配.在文章多了的情况下,这样做法效率肯定不行.于是我把目标投向了中文搜索插件coreseek,并成功的把它使用到了我的项目当中.我的博客网址:http://www.note.xin3e.com/ 效果图: 希望通过这篇分析,让有兴趣的同学少走些弯路. 2,概念介绍 sphinx是开源的搜索引擎,它支持英文的全文检索.

小蚂蚁学习sphinx(1)--理论篇

网上有视频在讲php+mysql+sphinx,以前只是听说过,心想今天终于能够学习一下涨涨见识了,一个小时的理论篇讲完,并没有预想中那种汲取大量知识的满足感,一来讲的理论多一些,二来都是在linux下的操作,没办法实践,先把今天的小笔记写一下,以后慢慢钻研这块内容. sphinx生成索引数据,并为数据库提供更专业的搜索功能. 为什么要用sphinx?1.做搜索时当数据量很大单纯的mysql搜索比较慢(如果表进行了分表会更慢)2.搜索中文分词3.速度快 获取sphinx.http://sphin

MYSQL优化技术--------------------个人笔记

********************************************************MYSQL数据库的优化技术***********************************************************************面试必须被问到 1:mysql数据库的优化技术 对Mysql的优化是一个综合性的技术,主要包括 1)对表的设计合理化(符合3NF3范式) 2)添加适当的索引(index):[常见的四种:普通索引,主键索引,唯一uniqu