【问题标题】:How to convert reStructuredText to plain text如何将 reStructuredText 转换为纯文本
【发布时间】:2009-07-28 08:20:51
【问题描述】:

我打算使用 reStructuredText 来编写文档,主要目的是生成一些漂亮的 HTML 页面。为此,我使用 docutils rst2html.py 工具。

但是,我可能还需要以漂亮的纯文本格式呈现文档,即没有 reStructuredText 标记,并且仍然在文本输出上执行段落换行和类似的漂亮格式。但是,docutils 中没有 rst2txt.py 工具。

有没有办法将 reStructuredText 转换为漂亮的纯文本格式,也许可以使用 docutils 的特殊选项?

【问题讨论】:

  • 我认为 reStructuredText 是您首先要寻找的“漂亮的纯文本格式”!

标签: restructuredtext


【解决方案1】:

我也看到通过使用 rst2html 渲染为 html,然后使用命令行 html 浏览器将 html 转换为纯文本来完成此操作,例如:

这些浏览器中的每一个都有一个命令行开关或类似的开关来将其输出呈现到一个 .txt 文件中,因此您可以创建一个名为“rst2txt”的两行脚本,类似于:

rst2html docs.rst docs.html
lynx -dump docs.html > docs.txt

【讨论】:

  • 这个最适合我。我认为“正确”的事情是编写一个 XLST 样式表来转换为 txt,也许是 org-mode
【解决方案2】:

Sphinx 有一个TextBuilder 用于 txt 输出格式。刚刚尝试过,它似乎可以满足您的需求。

但是,它可能有点过时,因为它不在默认的 Makefile 中。但它在我相当复杂的文档(150 pdf 页)上运行良好。要使用它,只需向其中添加以下目标:

text:
    $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) _build/text
    @echo
    @echo "Build finished."

另外,请记住,Sphinx 仅实现了第一个规范的一个子集。

【讨论】:

  • 感谢 Thoriann,我能够通过 makefile 来解决这个问题。我也想直接从 Python 使用 TextBuilder,但我找不到任何文档。你知道在哪里可以找到 TextBuilder 类的文档,或者一个展示如何从 Python 中使用它的简短示例吗?最好的问候,莫滕
  • 我也不知道有关此的任何文档。您可以在 Sphinx 源代码中的 cmdline.py 中查看示例。看起来可行,如果你真的想要的话。
  • @Thoriann:Sphinx 只能渲染 rst 的一个子集?你为什么这么认为?
猜你喜欢
  • 1970-01-01
  • 2014-05-11
  • 2010-09-22
  • 1970-01-01
  • 2011-03-12
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
相关资源
最近更新 更多