Doxia 框架概述
下图代表了 Doxia 框架的主要组件。
注意:和 Maven 一样,Doxia 也广泛使用 Plexus。
接收器 API
Sink接口是一个通用的标记语言接口 。它包含几个封装通用文本语法的方法。开始标签用 xxxx()方法表示,标签结束用xxxx_()方法表示。
例如,您可以执行以下操作:
sink.paragraph(); sink.text( "my text" ); sink.paragraph_();
类似于此 HTML 标记:
<p>my text</p>
要了解有关 Sink API 的更多信息,您可以在 此处阅读 Javadoc 。
Doxia 核心
Core是解析源并将其填充到Sink 对象中 的API。Parser接口只包含一种方法 :
void parse( Reader source, Sink sink ) throws ParseException;
ParseException 类有责任捕获所有解析异常。它提供了一个辅助方法getLineNumber(),该方法有助于查找发生错误的位置。
AbstractParser类是 Parser 的抽象实现。它提供了一种宏机制来为解析提供动态功能。有关宏的更多信息,请阅读Doxia 宏指南。
最后,SiteModule接口是拼图的最后一部分。它提供给定 Doxia 模块的主要定义,并由 doxia-site-renderer站点工具使用。
Doxia 模块
Doxia 模块是给定标记语言(如 APT 或 Xdoc)的实现。每个模块都应该实现这些接口:
- Parser接口,更具体地说是AbstractParser类
- 站点模块接口
几个模块还提供了一个接收器实现来处理特定的输出标记语言。
有关模块的更多信息,请阅读Doxia 模块指南。
Doxia 网站工具
站点工具是一组用于渲染输出的工具 。Maven 使用的主要工具,特别是 Maven 站点插件,是doxia-site-renderer,它以 HTML 格式呈现使用支持的标记语法编写的任何文档。它使用 Velocity 模板 来自定义渲染器,并使用site-decoration-model工具来装饰渲染器。此组件描述site.xml 文件 中定义的站点布局。
doxia -doc-renderer工具用于渲染另一个文档中的任何文档。