对于手册和指南,Wiki 是组织内容的绝佳方式。然而,对于较长的文章或书籍,它们通常效果不佳,因为单个内容分散在多个页面上,读者必须点击浏览。此外,当您想在无法连接互联网的地方(例如,在飞机上阅读)阅读在线内容时,需要另一种内容交付模式。
最近,我很高兴看到 Opensource.com 提供了一种全面而巧妙的 以开源方式创建电子书 的方法。但是,我不太喜欢 Wysiwig 编辑器,更喜欢像 LaTeX、Markdown、AsciiDoc 甚至 Wiki-Markup 这样的标记语言。因此,在这里我为您提供另一种选择:准备用于编辑 AsciiDoc 文档的电子书内容。[您也可以在旅途中,在手机或平板电脑上的电子邮件编辑器中执行此操作。]
AsciiDoc 是一种标记语言,已经存在相当长一段时间了。内容以纯文本形式创建,并且在其源形式中可读。例如
= 第一章
敏捷的棕色狐狸跳过源代码 `code`
image::myCat.png[一只萌猫]
* 第一个列表项
* 第二个列表项
* 第三个列表项
= 第二章
Lorem ipsum...
include::example.adoc[]
注意: 这是一个简单的例子;AsciiDoc 格式可以更强大。
处理 AsciiDoc
一个用 Python 编写的工具链可用于将文档转换为目标格式,如 .html、.pdf 和 ePub。要转换用 AsciiDoc 编写的文档,请运行如下命令
asciidoc -d book <input.adoc>
并在浏览器中加载生成的 .html 文档。
使用 Asciidoctor 代替 AsciiDoc 进行处理
Asciidoctor 是 AsciiDoc 命令的直接替代品。 它们之间存在一些细微差异,但通常不会产生影响。 Asciidoctor 是用 Ruby 编写的,速度明显更快。 通过 gem install asciidoctor 获取它,然后像上面类似地使用它:
asciidoctor -d book <input.adoc>
在浏览器中使用自动加载扩展程序进行实时预览
手动在文本编辑器、命令行和浏览器之间切换以获取预览仍然有点麻烦,因此 Dan Allen 描述了一种 方法,可以在文件更改时自动触发输出文档的重新创建。 最重要的是,浏览器插件可以检测到更改后的 .html 文件并自动重新加载它。 如果您将浏览器窗口和编辑器并排放置,那么您基本上就拥有了 wysiwyg 编辑。
将文档转换为 ePub
现在文档已完成,我们可以将其渲染为 ePub 格式。为此,我们将使用 AsciiDoc 及其工具链,特别是 a2x 命令。
a2x -fepub -d book <input.adoc>
首先,这会在内部将文档转换为 docbook,然后从 docbook 转换为最终的 ePub 格式。 此过程对用户来说几乎是透明的,除非原始文档违反了 ePub 的某些规则,并且 a2x 返回了一条神秘的错误消息。 该文档有一个关于如何使用 a2x 创建 AsciiDoc 电子书的 扩展指南。
3 条评论