APT 格式的增强
在下文中,我们提供了与Doxia 中合并的原始APT格式的差异/增强的列表。除了一些例外,这些差异通常是“向后兼容的”。也就是说,任何被 Aptconvert 正确处理的文档也应该是一个有效的 Doxia 输入文件,并且在被 Doxia 解析器处理时会产生相同的结果。
列表项中的段落
与原始的 APT 解析器相反,Doxia APT 解析器不会将列表项放在段落中。例如,APT 指南中给出的示例:
* List item 1.
例如,将生成以下 html:
<li>List item 1.</li>
要获得与 aptconvert 相同的结果,请使用
* List item 1.
这将产生:
<li><p>List item 1.</p></li>
表格标题单元格
标题单元格由一个额外的管道字符“|”定义 在单元格的开头:
*-----------+-----------+ || Header 1 || Header 2 | *-----------+-----------+ | Cell 1 | Cell 2 | *-----------+-----------+
产生:
标题 1 | 标题 2 |
---|---|
单元格 1 | 单元格 2 |
表格中的多行单元格
从 1.1 开始,多行单元格被识别为在单元格末尾带有字符“\”:
*-----------+-----------+ || Header 1 || Header 2 | *-----------+-----------+ | Cell\ | Cell 2 | | 1 | | *-----------+-----------+
产生:
标题 1 | 标题 2 |
---|---|
单元格 1 |
单元格 2 |
锚点
章节标题的锚点
与原始 APT 格式相反,章节标题不是隐式定义的锚。如果你想要一个章节标题的锚点,你需要明确定义它:
* {Anchors for section titles}
锚结构
与原始 APT 格式相反,锚点/链接不是所有非字母数字字符的文本。理想情况下,锚点应该是有效的 Doxia id,即它必须以字母 ([A-Za-z]) 开头,后面可以跟任意数量的字母、数字 ([0-9])、连字符 ("- ")、下划线 ("_")、冒号 (":") 和句点 (".")。任何不满足此模式的锚点都将根据以下规则进行转换:
- 开头和结尾的所有空格都被删除
- 如果第一个字符不是字母,则在前面加上字母 'a'
- 任何空格都替换为下划线“_”
- 任何与上述模式不匹配的字符都将被删除。
请特别注意,此对话中保留了大小写,并且 APT 锚点和链接区分大小写。所以前面例子中章节标题的锚点是Anchors_for_section_titles
.
链接
在Doxia-1.1中,除了内部链接和外部链接之外,还引入了“本地”链接的概念。
- 内部链接是指向同一源文档中的锚点的链接
。
在Doxia-1.1使用的 APT 格式中,内部链接必须是有效的 Doxia id,如上面的锚点部分所述。
请特别注意 APT 中的内部链接不以“#”开头。
- 本地链接是指向同一站点内另一个文档的链接
。
在Doxia-1.1使用的 APT 格式中,本地链接必须以其中之一开头,
./
或者../
将它们与内部链接区分开来。例如,{{{doc/standalone.html}Standalone}}
无效,应该是
{{{./doc/standalone.html}Standalone}}
特别注意以下链接
{{{standalone.html}Standalone}}
将被解释为内部链接(点是锚名称中的有效字符)。由于您很可能打算链接到另一个源文档,因此您应该再次添加一个“./”。
- 外部链接是既不是本地也不是内部的链接
。
外部链接应该是有效的URI。
锚总是被翻译成有效的 id,包括转义。在某些情况下,这可能会导致问题,尤其是在引用 javadoc 链接时。
从 Doxia 1.4 开始支持文字锚,通过使用 2 散列 (##) 而不是 1。这意味着作者负责使用正确的 URL 编码!
{{{../apidocs/groovyx/net/http/ParserRegistry.html##parseText(org.apache.http.HttpResponse)}ParserRegistry}}
图扩展
与原始 APT 格式相反,图形名称必须完整地给出扩展名。例如:
[/home/joe/docs/mylogo.jpeg] Figure caption