leo学习系列之七——文档生成rst3和sphinx

2023-05-16

先看看网页在leo中的组织形式:


详细内容:




网页后请看:

http://leoeditor.com/tutorial-rst3.html


###########################################################################

现在开始讲解rst和sphinx

1:rst和sphinx是什么关系?

Sphinx 是一种文档工具,它可以令人轻松的撰写出清晰且优美的文档, 由 Georg Brandl 在BSD 许可证下开发. 新版的Python文档 就是由Sphinx生成的, 并且它已成为Python项目首选的文档工具,同时它对 C/C++ 项目也有很好的支持; 并计划对其它开发语言添加特殊支持. 本站当然也是使用 Sphinx 生成的,它采用reStructuredText! Sphinx还在继续开发. 下面列出了其良好特性,这些特性在Python官方文档中均有体现:

  • 丰富的输出格式: 支持 HTML (包括 Windows 帮助文档), LaTeX (可以打印PDF版本), manual pages(man 文档), 纯文本
  • 完备的交叉引用: 语义化的标签,并可以自动化链接函数,类,引文,术语及相似的片段信息
  • 明晰的分层结构: 可以轻松的定义文档树,并自动化链接同级/父级/下级文章
  • 美观的自动索引: 可自动生成美观的模块索引
  • 精确的语法高亮: 基于 Pygments 自动生成语法高亮
  • 开放的扩展: 支持代码块的自动测试,并包含Python模块的自述文档(API docs)等

Sphinx 使用 reStructuredText 作为标记语言, 可以享有 Docutils 为reStructuredText提供的分析,转换等多种工具.

Leo’s rst3 command converts Leo trees containing reStructuredText (rST) or Sphinx markup to HTML, PDF, LaTeX and other kinds of output files. This tutorial gives step-by-step instructions for using the rst3 command.

Prerequisites: Please make sure you have read the first tutorial before reading this one. If you are new to rST, please read the rST primer. For full information about Sphinx, please read the Sphinx documentation.

2:安装

The rst3 command requires the docutils Python package. You must also install the Sphinx package if you use sphinx markup. Sphinx gives Leo’s and Python’s web sites their distinctive appearance and features.

After installing docutils or sphinx, you must restart Leo so that the new installation will take effect.


安装python-docutils

  • 通过发行版的包管理器直接安装:

    
    sudo apt-get install python-docutils
    sudo apt-get install rst2pdf
      
  • 通过Python pip来安装:

    
    sudo pip install docutils
    sudo pip install rst2pdf
      
  • 建议用pip + virtualenv来管理Python包

安装和基本使用

  • 安装(再次推荐用virtualenv管理Python包):

    
    sudo pip install sphinx
      
  • 快速开始:

    
    mkdir mydoc && cd mydoc
    sphinx-quickstart
      
  • 简单的向导,大部分选默认值即可

  • 会产生配置文件conf.py以及Makefile

  • 用make来产生目标格式的文档

推荐使用 easy_install -U Sphinx
当然啦,需要你的系统里装过easy_install才能执行。
关于easy_install,我暂时把它理解为一个类似apt-get的东东。
这一次MacOS又给了我个惊喜,居然缺省安装了,so sweet~~~
Ubuntu上安装起来也简单:
sudo apt-get install python-setuptools 就好




2.1:使用sphinx

安装 Sphinx
      

$ easy_install sphinx  

创建目录

进入你要创建文档的目录,例如要创建在目录/home/wwwroot/doc下 
cd /home/wwwroot/doc 

创建文档项目

sphinx-quickstart 
程序会提示输入一些选项,如输入根目录,大部分使用默认选项,直接按回车即可。

运行 sphinx-quickstart 命令后,在工作目录中会出现类似 清单 5 的文件。

清单 5. 工作目录的列表

.
├── Makefile
├── _build
├── _static
├── conf.py
└── index.rst  

让我们详细研究一下每个文件。

  • Makefile:编译过代码的开发人员应该非常熟悉这个文件,如果不熟悉,那么可以将它看作是一个包含指令的文件,在使用 make 命令时,可以使用这些指令来构建文档输出。
  • _build:这是触发特定输出后用来存放所生成的文件的目录。
  • _static:所有不属于源代码(如图像)一部分的文件均存放于此处,稍后会在构建目录中将它们链接在一起。
  • conf.py:这是一个 Python 文件,用于存放 Sphinx 的配置值,包括在终端执行 sphinx-quickstart 时选中的那些值。
  • index.rst:文档项目的 root 目录。如果将文档划分为其他文件,该目录会连接这些文件。


3:语法

参考:http://docutils.sourceforge.net/docs/user/rst/quickref.html
http://blog.csdn.net/quqi99/article/details/8537361

4:指令

http://docutils.sourceforge.net/docs/ref/rst/directives.html



4.1 index

This is a Title ffrom example3
==================================
.. index::
    pair: Icon box; Tutorial
    pair: Node; Tutorial
    pair: Headline; Tutorial
    pair: Body text; Tutorial

That has a paragraph about a main subject and is set when the '='

is at least the same length of the title itself.


Subject Subtitle

----------------

Subtitles are set with '-' and are required to have the same length

of the subtitle itself, just like titles.


Lists can be unnumbered like:


 * Item Foo


 会在页面上index形式


点击相应index进入





x:参考

http://wiki.jerrypeng.me/rest-tjlug/

--sphinx

http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/

http://www.jb51.net/article/26948.htm


https://github.com/xunxuny/zh-sphinx-doc/blob/master/index.rstThat has a paragraph about a main subject and is set when the '='
is at least the same length of the title itself.

Subject Subtitle
----------------
Subtitles are set with '-' and are required to have the same length
of the subtitle itself, just like titles.

Lists can be unnumbered like:

 * Item Foo


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leo学习系列之七——文档生成rst3和sphinx 的相关文章

随机推荐

  • 也来谈谈自己做为面试官的面试流程

    1 请对方做个简短的自我介绍 主要考察面试者的表达能力 xff0c 同时也为自己争取点时间看下简历 2 对简历中的疑问点提问 进一步求证 xff0c 获取到准确信息 xff0c 同时也考察简历的真实性 比如有些简历中毕业五年 xff0c 但
  • HTTP请求详解含POST,GET实例

    前言 单纯的copy代码没有用 xff0c 本篇从http请求的基本原理开始为大家讲解 xff0c 后边有实例 xff0c 希望大家一步一步看完 xff0c 这样无论编写什么请求我们都可以得心应手 HTTP的组成 http消息由客户端到服务
  • 卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了.

    学习卡尔曼滤波看了4天的文章 硬是没看懂 后来找到了下面的文章一下就看懂了 我对卡尔曼滤波的理解 我认为 卡尔曼滤波就是把统计学应用到了滤波算法上 算法的核心思想是 根据当前的仪器 34 测量值 34 和上一刻的 34 预测量 34 和 3
  • 关于C++多态性的一些总结

    在任何一门面向对象的编程语言中 xff0c 多态性 polymorphism 都是非常重要的一个概念 在面向对象的三大元素中 xff0c 封装使代码的模块化变得简单 xff0c 继承则可以扩展已有的代码 xff0c 而多态则是为了满足接口的
  • 关于2048小游戏项目的一些心得

    这是我学习完标C和Unix C以后做的一个小游戏 xff0c 只能支持字符终端界面 在此将其贴出来 xff0c 希望能够跟大家分享一些心得 以下是我当时写的一个项目文档 61 61 61 61 61 61 61 61 61 61 61 61
  • 蓝牙HC-05与Arduino Pro mini实现蓝牙防远离

    因为最近一些工作学习的需要 xff0c 入手了一个Arduino Pro mini来玩一玩 xff0c 于是就做了一个简易的通过蓝牙实现防远离的手环功能 在学习的过程中受过一些指点 xff0c 所以在此将一些学习过程中的经验心得分享出来 x
  • ELF格式与bss段

    ELF Executable Linkable Format 是Linux系统下的一种可执行可链接文件的格式 xff0c 是COFF格式的变种 在Linux系统中包括了可重定位文件 o文件 xff0c 可执行文件 bin bash文件 xf
  • 程序员必备的书籍有哪些?

    程序员必备书籍之史上最全版 xff01 xff01 xff01 动用了周围一切资源 xff0c 请教了腾讯 阿里等多家大咖 xff0c 综合各个专业研究员的学习经验 xff0c 终于整理好这篇文章 xff01 最全 xff01 最全 xff
  • USB主机是如何检测到设备的插入的呢?

    USB设备的插入检测机制 首先 xff0c 在USB集线器的每个下游端口的D 43 和D 上 xff0c 分别接了一个15K欧姆的下拉电阻到地 这样 xff0c 在集线器的端口悬空时 xff0c 就被这两个下拉电阻拉到了低电平 而在USB设
  • 如何在i.mx6dl开发板上移植udev并实现移动设备的自动挂载

    在整个移植过程中 xff0c 我所使用的操作平台 xff1a host xff1a Ubuntu14 04 LTS board xff1a MCIMX6DL SDP udev 版本 xff1a udev100 一 移植udev 下载 ude
  • 飞思卡尔的i.mx6dl开发板上实现nfs网络文件系统挂载操作指南

    问题描述 xff1a 在MCIMX6DL SDP 上实现网络文件挂载 xff0c 要求从emmc 中启动uboot 和kernel xff0c 从网络上挂载根文件系统 操作平台 xff1a host xff1a Ubuntu14 04LTS
  • 如何修改Linux开启进度条的图片

    最近因为工作需要 xff0c 需要将Linux启动时的开机进度条背景修改为公司logo xff0c 并将进度条转换为自己的动画 这里说明一下 xff0c psplash是Linux下的一款开源软件 xff0c 可以在嵌入式产品中显示开机进度
  • 如何修改Linux开机启动logo并使其全屏显示?

    1 制作开机启动logo的图片 my image png 61 61 gt logo linux clut224 ppm 要求图片的分辨率要和屏幕大小一致 使用如下命令 xff1a pngtopnm my image png gt my i
  • 实现JavaScript分片上传大视频到七牛云实例

    https blog csdn net weixin 34228617 article details 93033483
  • Rust嵌入式编程---动态内存分配器(Vec,String等)

    本教程不是0基础的Rust嵌入式编程 xff0c 需要有一定的Rust裸机编程的基础知识 作为一个比较接近C的例子 xff0c 适合入门 xff0c 代码比较容易理解 本次例子使用的是target 61 thumbv8m main none
  • STM32F103 KEIL 标准库直接添加DSP库

    前言 近期由于比赛需要 xff0c 想要在STM32上移植DSP库进行FFT变换 xff0c 找了很多资料都是利用CUBEMX进行导入的方法 xff0c 本人使用的是标准库 xff0c 对HAL库并不熟悉 xff0c 所以考虑到移植的方便采
  • 最优化方法在图像处理中的应用【5】

    最优化方法在图像处理中的应用 5 分类 xff1a image process optimization 数学 2013 09 23 21 34 42人阅读 评论 0 收藏 举报 目录 43 好吧 xff0c 我想理解下Convex fun
  • VESC电调配置教程

    VESC电调配置教程 简介及硬件环境教程简介软硬件环境第一次的配置步骤更新固件电机参数设置及自动测量 上位机直接驱动电机的方法查看回传数据的方法BUGLIST 简介及硬件环境 教程简介 大家好 xff0c 欢迎阅读本教程 在关节处或者底盘处
  • OpenHarmony轻量级设备xts认证大致流程

    因为最近公司在做openharmony开发板xts认证 xff0c 这里对认证过程和过程中遇到的坑做下记录 xff0c 也给大家探探路 1 开发板适配 OpenHarmony轻量系统的移植比较简单 xff0c 代码中解耦做得非常好 从代码的
  • leo学习系列之七——文档生成rst3和sphinx

    先看看网页在leo中的组织形式 xff1a 详细内容 xff1a 网页后请看 xff1a http leoeditor com tutorial rst3 html 现在开始讲解rst和sphinx 1 xff1a rst和sphinx是什