reStructuredText工具支持


128

我是reStructuredText的忠实拥护者,但是支持它的工具分散在整个Internet上。在官方的工具列表是不完整的和/或过时的,并且只能通过提交更新特权。一段时间以来,Wikipedia reStructuredText页面上有一个完整的列表,但是显然“ 这不符合Web内容的知名度准则 ”,因此被删除了

因此,以一种问题的形式来表达:使用reStructuredText时,可以期望找到哪些工具支持,例如文本编辑器,Wiki软件,reStructuredText的转换工具等?

Answers:


440

旧版本的Wikipedia页面中挽救(并扩展)列表:

文献资料

实作

尽管reStructuredText的参考实现是用Python编写的,但也存在其他语言的reStructuredText解析器。

Python-Docutils

reStructuredText的主要发行版是Python Docutils软件包。它包含几个转换工具:

  • rst2html-从reStructuredText到HTML
  • rst2xml-从reStructuredText到XML
  • rst2latex-从reStructuredText到LaTeX
  • rst2odt-从reStructuredText到ODF Text(文字处理器)文档。
  • rst2s5-从reStructuredText到S5,一个基于标准的简单幻灯片显示系统
  • rst2man-从reStructuredText到手册

Haskell-Pandoc

Pandoc是用于从一种标记格式转换为另一种标记格式的Haskell库,也是使用该库的命令行工具。它可以读取Markdown和reStructuredText,HTML和LaTeX(的子集),并且可以编写Markdown,reStructuredText,HTML,LaTeX,ConTeXt,PDF,RTF,DocBook XML,OpenDocument XML,ODT,GNU Texinfo,MediaWiki标记,groff man页和S5 HTML幻灯片放映。

有一个Pandoc在线工具(POT)可以尝试此库。不幸的是,与reStructuredText在线渲染器(ROR)相比,

  • POT会在短时间内截断输入。POT用户必须以ROR可以整体呈现的输入形式呈现输入。
  • POT输出缺少ROR显示的有用错误消息(由生成docutils

Java-JRst

JRst是Java reStructuredText解析器。它当前可以输出HTML,XHTML,DocBook xdoc和PDF,但似乎存在严重问题:使用当前的完整下载无法生成PDF或(X)HTML,结果(X)HTML中的结果页为空,并且IO上的PDF生成失败XSL文件问题(未捆绑?)。请注意,原始的JRst已从网站上删除;在GitHub上找到一个fork 。

斯卡拉-莱卡

Laika是一个新的库,用于将标记语言转换为其他输出格式。当前,它支持Markdown和reStructuredText的输入并产生HTML输出。该库是用Scala编写的,但也可以从Java使用。

佩尔

的PHP

C#/。NET

尼姆/ C

编译器功能的命令 rst2htmlrst2tex这将reStructuredText文件,HTML和TeX的文件。标准库提供以下模块(供编译器使用)以编程方式处理reStructuredText文件:

  • rst-实现一个reStructuredText解析器
  • rstast-为reStructuredText解析器实现AST
  • rstgen-从reStructuredText实现HTML / Latex的生成器

其他第三方转换器

这些工具中的大多数(但不是全部)都基于Docutils(请参见上文),并提供与主发行版可能不支持的格式之间的转换。

来自reStructuredText

  • restview-这个可pip安装的python包requiredocutils,它会进行实际渲染。restview的主要易用性功能是,当您将更改保存到文档时,它会自动重新呈现并重新显示它们。restview
    1. 启动小型Web服务器
    2. 调用docutils以将您的文档呈现为HTML
    3. 调用设备的浏览器以显示输出HTML。
  • rst2pdf-从reStructuredText到PDF
  • rst2odp-从reStructuredText到ODF表示
  • rst2beamer-从reStructuredText到LaTeX Beamer Presentation类
  • Wikir-从reStructuredText到Google(可能还有其他)Wiki格式
  • rst2qhc-将reStructuredText文件的集合转换为Qt(工具包)帮助文件和(可选)Qt帮助项目文件

要重新构造文本

  • xml2rst是一个XSLT脚本,用于将Docutils内部XML表示(返回)转换为reStructuredText
  • Pandoc(请参见上文)还可以从Markdown,HTML和LaTeX转换为reStructuredText
  • db2rst是对reStructuredText转换器的简单且有限的DocBook
  • pod2rst-将.pod文件转换为reStructuredText文件

扩展名

一些项目使用reStructuredText作为基础来建立基线,或提供其他功能来扩展reStructuredText工具的实用程序。

狮身人面像

所述斯芬克斯文档生成平移一组reStructuredText的源文件到各种输出格式,自动制作交叉引用,索引等

rest2web

rest2web是一个简单的工具,可让您从单个模板(或任意多个模板)构建网站,并将内容保留在reStructuredText中。

皮格

Pygments是一种通用语法突出显示工具,可广泛用于各种软件中,例如论坛系统,Wiki或需要美化源代码的其他应用程序。请参阅在reStructuredText文档中使用Pygments

免费编辑

尽管任何纯文本编辑器都适合编写reStructuredText文档,但某些编辑器比其他编辑器具有更好的支持。

埃马克斯

通过rst-mode 的Emacs支持作为Docutils软件包的一部分提供,位于/docutils/tools/editors/emacs/rst.el

Vim

vim-common大多数GNU / Linux发行版附带的软件包都具有开箱即用的reStructuredText语法突出显示和对reStructuredText的缩进支持:

杰德

有一个RST模式杰德程序员编辑器。

Gedit

gedit,GNOME桌面环境的官方文本编辑器。有一个gedit reStructuredText插件

盖尼

Geany是一个小型轻量级的集成开发环境,包括对版本0.12(2007年10月10日)中的reStructuredText的支持。

狮子座

Leo是程序员的概述编辑器,它通过rst-plugin或通过“ @ auto-rst”节点来支持reStructuredText (没有充分说明,但是@ auto-rst节点允许直接编辑rst文件,将结构解析为Leo轮廓) 。

它还提供了一种在“ viewrendered”窗格中预览结果HTML的方法。

全职

FTE折叠文本编辑器-一个免费的(在GNU GPL许可)为开发文本编辑器。FTE 一种支持reStructuredText 的模式。它提供基本RSTX元素的颜色突出显示和特殊菜单,这些菜单提供了将大多数常用RSTX元素插入文档的简便方法。

y

PyK是PyEdit和reStInPeace的后继者,是在Qt4工具箱的帮助下用Python编写的。

带有ReST编辑器插件的Eclipse IDE 提供了对reStructuredText文件进行编辑的支持。

NoTex

NoTex是基于浏览器(通用)的文本编辑器,具有集成的项目管理和语法突出显示功能。另外,它还可以使用rST编写书籍,报告,文章等,并将它们转换为LaTex,PDF或HTML。PDF文件具有很高的出版质量,是通过Sphinx和Texlive LaTex套件生成的。

记事本++

Notepad ++是Windows的通用文本编辑器。它具有针对多种内置语言的语法突出显示功能,并通过用户定义的reStructuredText语言支持reStructuredText

Visual Studio程式码

Visual Studio Code是Windows / macOS / Linux的通用文本编辑器。它有语法高亮通过内置并支持reStructuredText的许多语言的延伸LeXtudio

专用的reStructuredText编辑器

专有编辑

崇高文字

Sublime Text是一个完全可定制且可扩展的源代码编辑器,可用于Windows,OS X和Linux。长期使用需要注册,但是未注册版本提供所有功能,并偶尔会提醒您购买许可证。版本2和版本3(当前处于beta版)默认情况下支持reStructuredText语法高亮显示,并且可通过程序包管理器Package Control使用多个插件来提供摘要和代码完成,其他语法高亮显示,与RST和其他格式的相互转换以及HTML预览。在浏览器中。

BBEdit / TextWrangler

适用于Mac的BBEdit(及其免费变体TextWrangler)可以使用此无代码语言模块在语法上突出显示reStructuredText 。

TextMate

TextMate是Mac OS X的专有通用GUI文本编辑器,具有reStructuredText捆绑包

字型

Intype是Windows的专有文本编辑器,开箱用地支持reStructuredText。

电子文本编辑器

E是根据“开放公司许可”授权的专有文本编辑器。它支持TextMate的包,因此应该像TextMate一样支持reStructuredText。

药香

PyCharm(和其他IntelliJ平台IDE?)具有ReST / Sphinx支持(语法突出显示,自动完成和预览)。即时预览

维基

以下是一些支持reStructuredText标记作为本地标记语法或附加组件的Wiki程序:

MediaWiki

MediaWiki reStructuredText扩展允许在MediaWiki中用<rst>和包围的reStructuredText标记</rst>

MoinMoin

MoinMoin是一个高级,易于使用且可扩展的WikiEngine,拥有大量的用户社区。简而言之,这是关于易于编辑的网页上的协作。

MoinMoin有一个reStructuredText解析器

Trac

Trac是用于软件开发项目的增强的Wiki和问题跟踪系统。Trac中有一个reStructuredText支持

这个维基

该Wiki是Ian Bicking编写的Python Wiki网络软件。该Wiki使用ReStructuredText作为标记。

斯蒂基

rstiki是一个极简主义的单文件个人Wiki,使用了受pwyky启发的reStructuredText语法(通过docutils)。它不支持作者身份指示,版本控制,层次结构,chrome /框架/模板或样式。它利用docutils / reStructuredText作为Wiki语法。因此,它在200行代码下,并且在一个文件中。您将其放在目录中并运行。

ikiwiki

Ikiwiki是Wiki编译器。它将Wiki页面转换为适合在网站上发布的HTML页面。Ikiwiki将页面和历史记录存储在版本控制系统(例如Subversion或Git)中。还有许多其他功能,包括对博客的支持以及大量插件。它是reStructuredText插件,但是在某种程度上受到限制,目前不建议将其作为其主要标记语言。

网页服务

沙盒

一个在线reStructuredText的编辑器可用于与标记发挥,并立即看到结果。

博客框架

WordPress的

WordPress的WordPreSt reStructuredText插件。(PHP)

Zine

reStructuredText的解析器插件(锌时,被安排来获得本地新结构化的支持将成为0.2版本已过时)。Zine已停产。(蟒蛇)

Pelican是静态博客生成器,支持使用ReST撰写文章。(蟒蛇)

海德

Hyde是支持ReST的静态网站生成器。(蟒蛇)

丙烯酰胺

Acrylamid是一个静态博客生成器,支持用ReST撰写文章。(蟒蛇)

尼古拉

Nikola是支持ReST的静态站点和博客生成器。(蟒蛇)

ipsum属

Ipsum属是用Nim编写的静态博客生成器。

优茶

Yozuch是用Python编写的静态博客生成器。

更多


对于PHP,Zeta组件的文档包具有良好的reStructuredText支持。
罗伯·艾伦

您可能还对实时预览感兴趣,这类似于Markedapp为Markdown文档提供的预览。它不是perSé的reStructredText工具,但我发现它确实很有帮助。
Wilfred Springer

1
通过艾米·布朗(Amy Brown)的Comment,我了解到您可以通过以下方法将Marked.app设置为呈现rst,方法是:转到“首选项”>“行为”,启用“自定义Markdown处理器”,然后将其指向rst2html.py文件。
2012年

时间会使这个答案也过时了。我只检查了一些建议,例如PYK和RIP,由于它们依赖于过时的模块,因此无法在当今的系统上运行,所以……
theta

3
我在vim插件riv.vim中添加了链接,该链接为我提供了我长期以来一直在寻找的东西。github.com/Rykka/riv.vim
Jan Vlcinsky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.