Doxia Sitetools - 网站渲染器

Site Renderer 处理站点的呈现,将公共站点装饰模板(也称为皮肤)与文档集合组合在一起。

文档可以使用Doxia Sink API动态生成,例如 Maven 报告,或者简单地从Doxia Parsers 支持的标记编写的静态文件中读取,如果文件名以.vm结尾,最终由Velocity处理。

Doxia 网站皮肤

包含一个默认的站点装饰模板(参见default-site.vm),但可以随意使用其他装饰模板,作为独立模板或打包在皮肤工件中。

Maven 团队提供了一系列皮肤供项目使用。

提供了一些关于如何创建新皮肤的文档。

速度处理

站点装饰和文件名以.vm结尾的文档由 Velocity 处理。

Velocity 上下文包含一些与您可以使用的渲染上下文相关的变量:

多变的 类型 描述
对齐文件名 细绳 正在呈现的 (HTML) 文档的文件名,相对于正在呈现的文档。
装饰 装饰模型 这是一个模型,表示您的site.xml中的数据。
当前文件名 细绳 正在呈现的 (HTML) 文档的文件名,相对于站点根目录。
doxiaSiteRenderer版本 细绳 正在使用的 Doxia 站点渲染器的版本。
语言环境 语言环境 正在呈现的文档的语言环境。
发布日期 日期 以编程方式设置的可选硬编码发布日期。
相对路径 细绳 从正在呈现的文档到站点根目录的路径。
支持的语言环境 列表<区域设置> 站点将包含的语言环境列表。

还有一些通用工具:

多变的 类型 描述
路径工具 路径工具
字符串实用程序 字符串实用程序
丛容器

此外,还有Velocity Generic Tools填充了站点区域设置、装饰模型的日期格式和站点渲染器的资源包:

多变的 类型 描述
交流发电机 交流发电机工具 用于创建交流发电机以轻松交替一组值。
班级 类工具 用于简化有关类及其字段、方法和构造函数的信息的反射查找。
语境 上下文工具 方便访问上下文数据和元数据。
转变 转换工具 用于将字符串值转换为更丰富的对象类型。
日期 比较日期工具 用于操作、格式化和比较日期。
展示 显示工具 用于控制引用的显示(例如,截断值、“漂亮的打印”列表,以及在引用为空时显示替代项)。
退出 逃生工具 用于 Velocity 模板中的常见转义需求(例如转义 html、xml、javascript 等)。
场地 现场工具 用于(轻松)访问类中的静态字段,例如字符串常量。
关联 链接工具 用于创建和操作 URI 和 URL。此工具的 API 设计为与同名 VelocityView 工具的 API 非常相似。
环形 循环工具 与#foreach 循环一起使用的便捷工具。它使用自定义迭代器包装一个列表以提供更好的控制,允许循环提前结束、向前跳过等等。
数学 数学工具 用于执行数学函数。
数字 数字工具 用于格式化和转换数字。
使成为 渲染工具 评估和渲染任意 VTL 字符串,包括递归渲染。
文本 资源工具 用于简化对资源包的访问,以满足国际化或其他动态内容需求。
分拣机 排序工具 用于根据集合中包含的对象公开的任意属性集对集合(或数组、迭代器等)进行排序。
xml xml工具 用于阅读/导航 XML 文件。这在幕后使用 dom4j 并提供完整的 XPath 支持。

如果您打算使用自定义 Velocity 工具,请将它们添加到 Maven 站点插件的依赖项列表中,并确保它们在/META-INF/maven/site-tools.xml中有捆绑的配置文件。

有关更多详细信息和工具使用摘要,请参阅DefaultSiteRenderer.createToolManagedVelocityContext(...)源代码。

Maven 站点插件

maven-site-plugin使用doxia-site-renderer时,定义了以下模板属性:

多变的 类型 描述
输入编码 细绳
输出编码 细绳
项目 Maven项目 当前项目。
项目属性 细绳 POM 中定义的属性是直接可用的。

有关更多详细信息,请参阅AbstractSiteRenderingMojo.createSiteRenderingContext(...)源代码。

网站模板

当 Velocity 处理站点模板(来自皮肤或本地模板)时,有一些可用的补充变量可以访问从合并到模板中的文档中获取的信息:

多变的 类型 描述
作者 列表<字符串> 源文档中的作者列表。
正文内容 细绳 Doxia 生成的输出的 HTML 正文内容。
文件日期 细绳 源文档中指定的日期:语义必须由文档作者选择(文档创建日期,或文档最后修改日期,或...),并且不强制格式。
头内容 细绳 Doxia 生成输出的 HTML 头部内容。
短标题 细绳 文档的标题,不包括项目或站点名称。
标题 细绳 文档的标题,包括项目或站点名称。
docRenderingContext 渲染上下文 (从 1.8 开始)文档呈现上下文。

有关更多详细信息,请参阅DefaultSiteRenderer.createSiteTemplateVelocityContext(...)源。