创建内容

现在是时候为您的网站创建一些内容了。在 Maven 2 中,站点内容由格式构成,因为支持多种格式。

以下是网站目录结构的示例:

+- src/
   +- site/
      +- apt/
      |  +- index.apt
      |
      +- fml/
      |  +- general.fml
      |  +- faq.fml
      |
      +- xdoc/
      |  +- other.xml
      |
      +- site.xml

${basedir}/src/site目录,其中包含站点描述符以及与支持的文档格式对应的各种目录。让我们看一下各种文档格式的示例。

APT 格式(“几乎纯文本”)是一种类似于 wiki 的格式,可让您非常快速地编写简单的结构化文档(如本文)。APT 格式的完整参考是可用的。

FML 格式是常见问题解答格式。这与 Maven 1.x 中使用的相同。有关FML 格式的更多信息,请查看Doxia网站。

XDoc 格式与Maven 1.x 中使用的相同。XDoc 格式的参考可用。

其他格式可用,但目前这 3 种是经过最好测试的。还有几种可能的输出格式,但目前只有 XHTML 可用。

请注意,以上所有内容都是可选的 - 在其中一棵输入树中只需要一个索引文件。每种格式下的路径都会合并在一起,形成站点的根目录。在上面的示例中运行“ mvn site:site ”后,您将在目标目录中得到这个:

+- target/
   +- site/
      +- css/
      |
      +- images/
      |
      +- index.html
      +- general.html
      +- faq.html
      +- other.html

这意味着/src/site/apt/index.apt将在站点中以/index.html的形式出现。因此,在您的站点描述符中,您可能会链接到/index.html/other.html,这两个文件的来源将是/src/site/apt/index.apt/src/site/xdoc/other.xdoc .

cssimages目录包含来自正在使用的皮肤的样式表和图像。您可以在站点描述符文档中阅读有关皮肤的更多信息。

添加额外资源

您可以将任意资源添加到您的站点,方法是将它们包含在资源目录中,如下所示。将其他 CSS 文件放在资源目录中的css目录中时,可以拾取它们。

+- src/
   +- site/
      +- resources/
         +- css/
         |  +- site.css
         |
         +- images/
            +- pic1.jpg

文件site.css将被添加到默认的 XHTML 输出中,因此可以根据需要使用它来调整默认的 Maven 样式表。

文件pic1.jpg将通过对站点中任何页面的图像目录的相对引用获得。

过滤

注意:此功能在 2.0-beta-6 或更高版本的站点插件中可用。

要将属性过滤为任何受支持的文档格式,请在文件名中添加.vm扩展名。

例如,Maven 网站的模块包含一个src/site/apt/download.apt.vm文件,该文件使用表达式${currentVersion}过滤POM中的属性集。

注意: 速度用于应用过滤。因为 Velocity 在内部使用点表示法,所以您不能在属性中使用点。

如果您在 POM 中声明这些属性

  <properties>
    <!-- This will not work because the name of the property has a dot in it -->
    <my.property>My value</my.property>
    <!-- This will work because the name of the property has no dot in it -->
    <myProperty>My other value</myProperty>
  </properties>

然后在您的文档中使用表达式${my.property},它将不起作用。如果您改为使用表达式${myProperty}它将正常工作。

国际化

Maven 中的国际化非常简单,只要您使用的报告定义了特定的语言环境。有关支持的语言的概述和有关如何添加更多语言的说明,请参阅相关文章Internationalization

要启用多种语言环境或语言,请将类似于以下内容的配置添加到您的 POM:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <locales>en,fr</locales>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

这将生成网站的英文和法文版本。如果en是您当前的语言环境,那么它将在站点的根目录中生成,并在fr/子目录中提供该站点的法语翻译副本。

要为该翻译添加您自己的内容而不是使用默认内容,请在您的站点目录中创建一个具有该区域设置名称的子目录,并使用文件名中的区域设置名称创建一个新的站点描述符。例如:

+- src/
   +- site/
      +- apt/
      |  +- index.apt     (Default version)
      |
      +- fr/
      |  +- apt/
      |     +- index.apt  (French version)
      |
      +- site.xml         (Default site descriptor)
      +- site_fr.xml      (French site descriptor)

每种语言都有一个站点描述符,翻译的站点可以独立发展。