JVM | Platform | Status |
---|---|---|
OpenJDK (Temurin) Current | Linux | |
OpenJDK (Temurin) LTS | Linux | |
OpenJDK (Temurin) Current | Windows | |
OpenJDK (Temurin) LTS | Windows |
The minisite
package package implements a trivial replacement for the Maven
site plugin.
- Single-page, static, XHTML 1.0 Strict, Javascript-free sites.
- Optional com.io7m.changelog integration.
- ISC license.
The plugin is designed to produce an extremely simple, static, single-page,
XHTML 1.0 Strict site with no Javascript. The plugin assumes the existence of a
64x64 PNG file at src/site/resources/icon.png
.
Add the following execution to the root module in your project:
<build>
<plugins>
<!-- Disable the existing maven-site-plugin -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>...</version>
<executions>
<execution>
<id>default-site</id>
<phase>none</phase>
<goals>
<goal>site</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.io7m.minisite</groupId>
<artifactId>com.io7m.minisite.maven_plugin</artifactId>
<version>...</version>
<executions>
<execution>
<id>minisite</id>
<phase>site</phase>
<goals>
<goal>generateSite</goal>
</goals>
<configuration>
<headerFile>src/site/resources/header.xml</headerFile>
<overviewFile>src/site/resources/overview.xml</overviewFile>
<featuresFile>src/site/resources/features.xml</featuresFile>
<documentationFile>src/site/resources/documentation.xml</documentationFile>
<changelogFile>README-CHANGES.xml</changelogFile>
<changelogFeedEmail>[email protected]</changelogFeedEmail>
<outputDirectory>${project.build.directory}/minisite</outputDirectory>
<resourcesDirectory>${project.base.directory}/src/site/resources</resourcesDirectory>
<cssGenerateDefault>true</cssGenerateDefault>
<cssStyles>
<cssStyle>minisite.css</cssStyle>
<cssStyle>example0.css</cssStyle>
<cssStyle>example1.css</cssStyle>
</cssStyles>
</configuration>
</execution>
</executions>
<inherited>false</inherited>
</plugin>
</plugins>
</build>
By default, the
maven-site-plugin
is bound to the Maven site
lifecycle phase, so it's
generally preferred to disable the plugin by explicitly binding it to the
none
phase. The minisite
plugin is intended for use with multi-module builds and is designed to run
at most once for the parent module, in contrast to the once-per-module execution
model of the maven-site-plugin
. It's therefore recommended
to set inherited
to false
as
shown so that the plugin won't execute for any child modules.
The overviewFile
parameter specifies an XHTML
file that will be inserted into the overview
section of
the generated site.
The documentationFile
parameter specifies an XHTML
file that will be inserted into the documentation
section of
the generated site.
The featuresFile
parameter specifies an XHTML
file that will be inserted into the features
section of
the generated site.
The headerFile
parameter specifies an XHTML
file that will be inserted into the header section of the generated site
(above the logo and title).
The changelogFile
parameter specifies an XML
changelog in changelog
format that will be converted into XHTML for the generated site. If no
file is specified, no changes
section will be generated.
The changelogFeedEmail
parameter the email address
that will be used when generating an RSS feed for the changelog.
The outputDirectory
parameter specifies the directory
to which site files will be generated, and resources copied. This parameter is
optional and defaults to ${project.build.directory}/minisite
.
The resourcesDirectory
parameter specifies the directory
from which site resources will be copied copied. This parameter is
optional and defaults to ${project.base.directory}/src/site/resources
.
The cssGenerateDefault
parameter specifies that
the plugin should copy a default CSS style to the output directory. The parameter
is optional and defaults to true
.
The cssStyles
parameter specifies a list of
CSS styles that should be imported by the generated site.