如果你的组织创建了很多Maven项目站点,那么你就会想要在整个组织范围内重用站点模板和定制CSS。如果你想让三十个项目都共享同样的CSS和站点模板,你可以使用Maven对于皮肤的支持。Maven的站点皮肤允许你将资源和模板打包,以让其它项目重用,而不用为所有需要自定义的项目重复创建模板。
你可以定义自己的皮肤,但可能你也会想要使用Maven的可选皮肤。你可以选择下面的几个皮肤。每个皮肤都提供了其自己的导航风格,内容,logo,和模板:
-
Maven经典皮肤 -
org.apache.maven.skins:maven-classic-skin:1.0
-
Maven默认皮肤 -
org.apache.maven.skins:maven-default-skin:1.0
-
Maven Stylus皮肤 - org.apache.maven.skins:maven-stylus-skin:1.0.1
你可以在Maven仓库中找到一个最新的皮肤完整列表:
http://repo1.maven.org/maven2/org/apache/maven/skins/
创建一个自定义的皮肤其实只是简单的将你自定义的maven-theme.css等内容
封装成一个Maven项目,这样就能根据groupId
,artifactId
,和version
引用它。它可以包含一些资源,如图片,以及用来替换默认模板,生成完全不同XHTML结构的站点模板(用Velocity编写)。大部分情况下,自定义的CSS就可以满足你需要的变化。为了演示该功能,让我们为sample-project项目创建一个皮肤,开始先创建一个自定义的maven-theme.css
。
在我们开始编写自定义CSS之前,我们需要创建一个单独的Maven项目,以便让sample-project
的站点描述符引用它。首先,使用Maven的archetype插件创建一个基本的项目。在sample-project
项目根目录的上一层目录运行如下的命令:
$ mvn archetype:create -DartifactId=sample-site-skin -DgroupId=com.sonatyp.maven
这会创建一个名为sample-site-skin
的项目(以及一个目录)。切换当前目录为sample-site-skin
目录,删除所有源码和测试代码,然后创建一个目录来存储皮肤资源:
$ cd sample-site-skin $ rm -rf src/main/java src/test $ mkdir src/main/resources