我们很自豪地宣布 Asciidoctor 0.1.2 的发布!
Asciidoctor 是一个开源文本处理器和出版工具链,用于将 AsciiDoc 标记转换为 HTML 5、DocBook 4.5 和其他格式。
这个发布周期的重点是:
我们收到的宝贵反馈帮助Asciidoctor达到了与AsciiDoc语法99%的兼容性。这些改进也使Asciidoctor的速度提升了28%,现在比AsciiDoc快了30倍以上。
主要改进
- 默认样式表
-
Asciidoctor现在附带了一个默认样式表!这个样式表使文件在开箱即用时具有独特、现代和优雅的外观和感觉。要了解如何使用它,请阅读如何渲染文档?的样式表部分。访问http://themes.asciidoctor.org可以在https://github.com/asciidoctor/asciidoctor-stylesheet-factory[Asciidoctor样式表工厂]使用http://themes.asciidoctor.org/preview[预览]默认样式表和其他主题。解决了问题https://github.com/asciidoctor/asciidoctor/issues/76[#76]和https://github.com/asciidoctor/asciidoctor/issues/165[#165]。
- 档案信息文件
-
补充文件头文件(即docinfo文件)现在在启用时包含在渲染输出中。这些文件用于将自定义内容包含到HTML或DocBook输出的头部。解决了问题 #116 和 #193。
- 水平偏移
-
现在支持
leveloffset
属性。这个属性允许将多个独立文档组合为一个主文档。解决了问题 #212。 - 部分包含
-
现在可以使用include宏按行号、行范围或标记区域选取部分文件内容进行包含。这一对include宏的增强功能是Asciidoctor所独有的。 解决了问题https://github.com/asciidoctor/asciidoctor/issues/226[#226]。
- 内嵌模式下的脚注
-
脚注现在会在嵌入模式下渲染在输出的底部(当标题和页脚被禁用时),例如在GitHub上或由Awestruct生成的页面中。解决了问题https://github.com/asciidoctor/asciidoctor/issues/206[#206]。
- 目录宏
-
已经为toc宏添加了支持,这使您可以将toc放置在文档中的任何位置。这项功能使得在嵌入模式下包含文档中的toc成为可能,例如在GitHub上或由Awestruct生成的页面中。解决了https://github.com/asciidoctor/asciidoctor/issues/269[#269]和https://github.com/asciidoctor/asciidoctor/issues/221[#221]问题。
- 音频和视频宏
-
已经添加了宏来输出 HTML 5 音频和视频标签。这些宏与块级图像宏并行。解决了问题 #155。
- 安全模式和嵌入式属性
-
属性
safe-mode-level
、safe-mode-name
和safe-mode-%name%
现在被赋值以匹配激活的安全模式。属性embedded
被赋值以指示文档是使用嵌入式文档模板渲染的。解决问题 #244。 - 多位作者
-
您现在可以在文档的页眉中指定多个作者,用分号分隔。在DocBook后端中,作者在文档信息部分的+authorgroup+元素中列出。这个功能是Asciidoctor独有的。 解决了问题 #223。
- 电子邮件宏
-
内联电子邮件地址和内联mailto宏现在已被识别。解决了问题 #213。
- 安全路径
-
由于依赖于Ruby核心库,路径解析逻辑过于脆弱。代码已经被完全重写,以便路径被正确地规范化和保护,并且有大量的测试来支持它。
- 自定义块替换
-
替换组现在可以通过使用
subs
块属性来自定义应用于块内容。解决了问题 #220。 - 伪装块和段落
-
开放区块和段落现在可以伪装成任意风格的区块。伪装也适用于其他适当的区块。这是Asciidoctor最薄弱的领域之一,现在已经完全符合要求(甚至有些额外的功能)。解决问题 #187。
Note
|
为了实现对伪装块、段落和自定义块替换的全面支持,必须对主要的块解析代码进行重构。这次重构不仅清理了代码,而且为实现块过滤器和其他扩展奠定了必要的基础。 |
一些对Asciidoctor的改进解决了AsciiDoc固有的问题。幸运的是,AsciiDoc足够可配置,这些问题可以“移植”到AsciiDoc中,而不改变核心。我们现在维护并发布了一个AsciiDoc配置文件,https://github.com/asciidoctor/asciidoctor/blob/master/compat/asciidoc.conf[asciidoc.conf],使AsciiDoc符合Asciidoctor的行为和增强功能。解决了问题https://github.com/asciidoctor/asciidoctor/issues/257[#257]。
在此版本中实施的全部新功能、增强和补丁列表可以通过在问题跟踪器中过滤 0.1.2 里程碑 来查看。
新网站和文档
你就在看它!
在0.1.2版本发布周期中,我们为Asciidoctor创建了一个适当的网站,并专注于开始编写用户文档。当然,网站和文档都是用AsciiDoc编写的。
Sarah White 开展了一个主动性项目,她正在整理 AsciiDoc 用户指南和手册页中的信息,并将其转换成易于消费的内容,以便用户能够快速开始使用 AsciiDoc 和 Asciidoctor 工具链。
我写了[AsciiDoc简介]、[AsciiDoc写作指南]和[AsciiDoc语法快速参考],揭示了AsciiDoc语法的优雅,并为作家们提供了他们需要的信息,使他们能够高效和熟练地使用AsciiDoc。我在NFJS杂志4月刊上发表的名为《写作(Ascii)文档的禅意》,总结了这些信息,该杂志也是由用AsciiDoc写成的文章制作的。
请在未来的新闻文章中查找有关网站和文档的更多详细信息。
谢谢!
自从上次发布以来,参与Asciidoctor项目的人数,尤其是在集成方面,已经 大幅度 增加。在这次发布之前,Asciidoctor 0.1.1已经突破了http://rubygems.org/gems/asciidoctor[10,000次下载]的标记。我们期待0.1.2能打破下一个10,000。
我们非常感激每一个参与者,尤其是那些做出贡献和传播信息的人:) 我们特别感谢以下人员的贡献和反馈:
-
Brian Leathem (精通代码审核的关键成员)
-
Jason Porter (Maven 插件负责人)
-
Sarah White (文档和用户体验)
-
Alex Soto (Java 集成负责人)
-
Andres Almiray (Gradle插件负责人)
-
Paul Rayner (Guard 插件负责人)
我们一起让文档编写变得简单、有趣和有益!