将重构的文本文档转换为HTML5+Twitter的引导CSS、deck.js或reveal.js

rst2html5-tools的Python项目详细描述


我们都喜欢rst和生成任何格式的能力,但是rst2html工具生成真正基本的html和css。

这个工具将生成更新的、更好的、可读性更强的标记,并提供使用诸如nice css之类的扩展修改输出的方法。 感谢twitter的引导css或deck.js的在线演示

得到它

通过PIP:

pip install rst2html5-tools

本地:

git clone https://github.com/marianoguerra/rst2html5.git
cd rst2html5
git submodule init
git submodule update

sudo python setup.py install

使用它

生成基本HTML文档:

rst2html5 examples/slides.rst > clean.html

使用deck.js生成一组幻灯片:

rst2html5 --deck-js --pretty-print-code --embed-content examples/slides.rst > deck.html

使用reveal.js生成一组幻灯片:

rst2html5 --jquery --reveal-js --pretty-print-code examples/slides.rst > reveal.html

使用impress.js生成一组幻灯片:

rst2html5 --stylesheet-path=html5css3/thirdparty/impressjs/css/impress-demo.css --impress-js examples/impress.rst > output/impress.html

使用引导生成页面:

rst2html5 --bootstrap-css --pretty-print-code --jquery --embed-content examples/slides.rst > bootstrap.html

到带有pygments的higlight代码:

rst2html5 --pygments examples/codeblock.rst > code.html

请注意,您必须添加样式表以使代码真正突出显示,这只是执行代码解析和html转换

在HTML文件中嵌入图像以便有一个要分发的.html文件 添加–嵌入图像选项。

后置处理器支持可选参数,它们通过一个命令传递 行选项,与后处理器的名称相同,在 结束,例如要更改RevealJS主题,可以执行以下操作:

rst2html5 --jquery --reveal-js --reveal-js-opts theme=serif examples/slides.rst > reveal.html

您还可以将基本路径传递给主题css文件:

rst2html5 --jquery --reveal-js --reveal-js-opts theme=serif,themepath=~/mytheme examples/slides.rst > reveal.html

它将在~/mytheme/serif.css中查看主题

选项以逗号分隔的键值对列表形式传递 等号,值将被解析为json,如果解析失败,它们将作为 字符串,例如下面是选项的示例:

--some-processor-opts theme=serif,count=4,verbose=true,foo=null

如果一个键不止一次作为值列表传递给处理器,请注意,如果只传递了一个值,则按原样传递,如果您希望始终接收列表,则提供方便函数a s_list来处理此情况。

要将自定义js文件添加到结果文件中,可以使用–add js post处理器,如下所示:

rst2html5 slides.rst --add-js --add-js-opts path=foo.js,path=bar.js

该命令将把foo.js和bar.js作为脚本添加到生成的html文件中。

漂亮的打印代码注释

启用它:

--pretty-print-code

添加特定语言的词汇:

--pretty-print-code-opts langs=clj:erlang

注意:在传递选项以进行如下美化时,必须同时传递这两个选项:

--pretty-print-code --pretty-print-code-opts langs=clj:erlang

也就是说,用冒号分隔的语言的名称,在 写这篇文章的时刻是:

  • 阿波罗号
  • 基本
  • CLJ
  • css
  • 省道
  • 二郎
  • 前进
  • hs
  • 口齿不清
  • llvm
  • lua
  • matlab软件
  • 毫升
  • 腮腺炎
  • n
  • 帕斯卡
  • 原型
  • 研发
  • R
  • 斯卡拉
  • SQL
  • tcl公司
  • 特克斯
  • vb
  • vhdl语言
  • 维基
  • XQ
  • 山药

您可以在html5css3/thirdparty/prettify/lang-*.js下看到可用的lexer

收入注释

打印通行证–显示js opts printpdf=true,例如:

rst2html5 --jquery --reveal-js --reveal-js-opts printpdf=true examples/slides.rst > reveal-print.html

可以使用chrome或chrome打开,并按此处所述以pdf格式打印:https://github.com/hakimel/reveal.js#pdf-export

数学支持

使用math角色和指令将内联数学和块级方程式包含到文档中:

When :math`a \ne 0`, there are two solutions to :math:`ax^2 + bx + c = 0`
and they are

.. math::

   x = {-b \pm \sqrt{b^2-4ac} \over 2a}

两者都支持LaTeX语法的基本子集。

默认情况下,MathJax用于显示数学。您可以使用--math-output命令行选项选择不同的输出格式:

  • --math-output mathjax使用mathjax(默认值)
  • --math-output html将使用纯html+css
  • --math-output mathml将使用MathML
  • --math-output latex输出原始乳胶

如果使用mathjax,则可以使用--mathjax-url-mathjax-config命令行选项分别配置自定义mathjax javascript url和提供具有自定义mathjax配置的文件。

如果使用html+css输出,则可以使用--math-cssco用于配置自定义数学样式表的命令行选项。

注意,旧的mathjax后处理器(使用--mathjax激活)已被弃用。

测试它

我们使用tox来运行测试套件。安装tox之后,可以通过在项目的根目录中运行tox来执行测试

测试用例可以在html5css3/tests.py中找到

想做贡献吗?

克隆并发送一个请求!

git clone https://github.com/marianoguerra/rst2html5.git
cd rst2html5
git submodule update --init
python setup.py develop

自我释放注意事项

  • 在setup.py上更新版本
python setup.py sdist upload

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
“电话目录”数据结构的java实现   使用PC remote读取JSP页面上的文件时出现java错误   无法在不同目录中从Java执行Python脚本   java无法在windows 8.1上运行javafx应用程序   java航空公司系统如何防止两个用户同时预订同一个座位?   反射如何在java方法中获取每个参数的名称和值?   阅读中的字符串问题。txt文档并在Java中编辑   java JTextPane行包装问题   使用PowerMock Android Junit时出现java ClassNotFoundException   java输入和If语句   java如何在不使用剪贴板或操作CTRL+C、CTRL+V的情况下将字符串中的“\t”或“tab”发送到selenium中的文本框中   tomcat7将Java应用程序部署到Digitalocean中的Tomcat根目录   响应中嵌套映射的java问题(Jersey)