Maven 站点文档:添加指向其他文档的链接

Maven site documentation: Add links to additional documents

我想用 Maven 站点插件生成项目文档。 "Project Information" 和 "Project Reports" 的默认布局、结构和功能对我来说没问题。 但是我想添加一个额外的(第三)部分 "Additional Documentation",其中 links 到更多的文件,如果项目中有这样的文件的话。

我可以创建一个目录 src/site/resources/otherDocu,文件将根据需要复制到 target/site/otherDocu 目录。但是,生成的站点不会 link 给他们。

我想要第三部分 "Additional Documentation",其中列出并 link 提到的目录中的文件。我想以尽可能小的开销来做到这一点。具体来说,如果可以避免的话,我不想包括自己的 site.xml,连同 css 等,如许多解决方案中所述。我怎样才能使用默认站点配置并且只使用 "inject" 一部分?或者,如果这是唯一的方法,应该可以在父 POM 中仅配置一个文件(比如 site.xml)一次,并为所有其他项目继承它。我怎样才能让它列出在 src/site/resources/otherDocu 中找到的文件并向它们显示 links?

或者,我也在考虑:我可以编写一个自己的报告插件,这样做,然后我只需要在 POM 的 "reporting / plugins" 部分指定这个插件,就像我所做的那样对于其他报告插件。有了这个解决方案,我可能可以在 "Project Reports" 部分创建一个额外的条目,就像其他所有报告插件一样,这是朝着正确方向迈出的一步。但是我需要多个条目(因为有几个 linked 文档),或者一个带有子条目的条目 "Additional docu"。

哪条路比较容易走?您有推荐或类似的解决方案吗?有没有人有一个文件(site.xml 或类似文件)已经做了一些列表,不需要所有其他资源(图像等)并且可以继承?

这就是我所做的..相对简单:

src/site/site.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="${project.name}">
    <body>
        <menu name="Menu Title">
            <item name="Documentation" href="docs.html"/>
        </menu>
    </body>
</project>

上面创建了一个 link 到 docs.html 的页面。然后使用 apt(或其他可能的语言)创建文档页面

src/site/apt/docs.apt:

    -------------
    Documentation
    -------------

Documentation

    Some text {{{/path/to/doc}document}}.

如果您不想创建单独的页面,您可以只将 link 插入到 site.xml.

中的文档中

保持默认行为的第一件事是使用something in your site descriptor:

  <body>
     <menu ref="reports"/>
     <menu ref="modules"/>
  </body>

你用来自动将文件复制到目标的东西是为 resources as you can read in the docs 设计的。

此外,您需要通过报告插件自动创建文档。