Doxia 宏指南
Doxia Core包含了便于文档编写的宏机制。
目前仅 APT、Xdoc 和 FML 格式支持宏。从 Doxia 1.7 (maven-site-plugin 3.5) 开始,XHTML 和 Markdown 也支持宏。Confluence、Docbook 和 Twiki 模块不(并且可能永远不会)支持宏。
APT 源文件中的宏是一个非缩进的行,如下所示:
%{macro_name|param1=value1|param2=value2|...}
Xdoc 或 FML 宏具有以下语法:
<macro name="macro_name"> <param name="param1" value="value1"/> <param name="param2" value="value2"/> ... </macro>
从 Doxia 1.7 开始,XHTML 或 Markdown 宏具有以下语法:
<!-- MACRO{macro_name|param1=value1|param2=value2|...} -->
从 Doxia 1.7 开始,以下宏可用:
回声宏
Echo宏是一个非常简单的宏:它打印出任何提供的参数的键和值。例如,在 APT 文件中,您可以编写:
%{echo|param1=value1|param2=value2}
同样,它将用于 xdoc 文件:
<macro name="echo"> <param name="param1" value="value1"/> <param name="param2" value="value2"/> </macro>
它会输出
param1 ---> value1 param2 ---> value2
片段宏
Snippet宏是一个非常有用的宏:它打印出文件或 URL 的内容。例如,在 APT 文件中,您可以编写:
%{snippet|id=myid|url=http://myserver/path/to/file.txt}
在 xdoc 文件中,它将是:
<macro name="snippet"> <param name="id" value="myid"/> <param name="url" value="http://myserver/path/to/file.txt"/> </macro>
id
如果要包含整个文件,则不需要该参数。如果您只想包含文件的一部分,则应添加开始和结束分界符:任何包含字符串“ START
”、“ SNIPPET
”和“ myid
”(片段的 )的行(通常是注释)都是myid
开始id
分界符,类似地,“ END SNIPPET myid
”表示要包含的片段的结尾。例如:
- Java 文件中的开始和结束片段
public class MyClass { // START SNIPPET: myid public static void main( String[] args ) throws Exception { ... } // END SNIPPET: myid }
- XML 文件中的开始和结束片段
<project> ... <build> <plugins> <!-- START SNIPPET: myid --> <plugin> ... </plugin> <!-- END SNIPPET: myid --> </plugins> </build> </project>
范围 | 描述 |
---|---|
ID | 要包含的代码段的 ID。如果省略,将包含整个文件/url(从 Doxia 1.1 开始)。 |
网址 | 要包含的 URL 的路径。 |
文件 | 要包含的文件的路径(从 doxia-1.0-alpha-9 开始)。 |
逐字 | 如果内容应作为逐字转义文本输出。如果将其设置为false ,则片段的内容将不会被转义。这意味着您可以像在网络服务器上使用服务器端包含一样使用它。默认值为true 。 |
编码 | 要读取的文件的编码(从 Doxia 1.6 开始)。如果省略,将使用默认的 JVM 编码。 |
目录宏
TOC宏打印文档的目录。如果您的文档中有多个部分和子部分,这将很有用。例如,在 APT 文件中,您可以编写:
%{toc|section=2|fromDepth=2|toDepth=3}
这将显示文档中第二部分的目录,包括所有小节(深度 2)和子小节(深度 3)。
请注意,在 Doxia 中,apt 部分标题不是隐式锚点(请参阅APT 格式的增强),因此您需要插入显式锚点才能使链接正常工作!
在 xdoc 文件中,它将是:
<macro name="toc"> <param name="section" value="2"/> <param name="fromDepth" value="0"/> <param name="toDepth" value="4"/> </macro>
范围 | 描述 |
---|---|
部分 | 仅显示指定部分的 TOC,如果为 0,则显示所有部分。正整数,非强制,默认为 0。 |
从深度 | 包含在 TOC 中的最小截面深度(截面为深度 1、子截面深度 2 等)。正整数,非强制,默认为 0。 |
深度 | 包含在 TOC 中的最大截面深度。正整数,非强制,默认为 5。 |
从Doxia 1.1.1开始,您还可以指定任何 html 基本属性(即id
, class
, style
, lang
,中的任何一个title
)作为参数,例如:
%{toc|class=myTOC}
这可用于通过 css 设置 TOC 样式。
SWF 宏
Swf宏在文档中打印 Shockwave Flash 资源。例如,在 APT 文件中,您可以编写:
%{swf|src=swf/myfile.swf|id=MyMovie|width=600|height=200}
在 xdoc 文件中,它将是:
<macro name="swf"> <param name="src" value="swf/myfile.swf"/> <param name="id" value="MyMovie"/> <param name="width" value="600"/> <param name="height" value="200"/> </macro>
范围 | 描述 |
---|---|
源代码 | 指定要加载的电影的位置 (URL)。 |
ID | 将 Flash 影片标识到主机环境(例如 Web 浏览器),以便可以使用脚本语言对其进行引用。 |
宽度 | 以像素或浏览器窗口的百分比指定影片的宽度。 |
高度 | 以像素或浏览器窗口的百分比指定影片的高度。 |
质量 | 可能的值:低、高、自动低、自动高、最佳。 |
菜单 | True 显示完整菜单,允许用户使用多种选项来增强或控制播放。False 显示仅包含“设置”选项和“关于 Flash”选项的菜单。 |
环形 | 可能的值:真、假。指定影片是无限重复还是在到达最后一帧时停止。如果省略此属性,则默认值为 true。 |
玩 | 可能的值:真、假。指定影片是否在浏览器中加载后立即开始播放。如果省略此属性,则默认值为 true。 |
版本 | 以像素或浏览器窗口的百分比指定影片的宽度。 |
允许脚本 | 以像素或浏览器窗口的百分比指定影片的宽度。 |
有关详细信息,请参阅SWF 宏页面。
SSI 宏
从 Doxia 1.7 开始,SSI宏打印服务器端包含。例如,在 APT 文件中,您可以编写:
%{ssi|function=include|file=included-file.html}
在 xdoc 文件中,它将是:
<macro name="ssi"> <param name="function" value="include"/> <param name="file" value="included-file.html"/> </macro>
范围 | 描述 |
---|---|
功能 | 要插入的 SSI 函数。 |
任何 | 将添加到 SSI 指令的参数。 |