Reflow is an Apache Maven site skin built on Bootstrap. It allows various structural and stylistic customizations to create a modern-looking Maven-generated website.
Clone or download
Pull request Compare This branch is 418 commits ahead of andriusvelykis:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn
.vscode
check
eclipse
reflow-default-webdeps
reflow-maven-skin
reflow-velocity-tools
src
.editorconfig
.gitignore
.travis.yml
LICENSE
NOTICE
README.md
mvnw
mvnw.cmd
pom.xml
reflow.code-workspace
siteDeploy

README.md

Apache License, Version 2.0 Build Status Maven Central

Gitter

Reflow Maven skin

Reflow is an Apache Maven site skin built on Bootstrap 4. It allows various structural and stylistic customizations to create a modern-looking Maven-generated website and documentatin generation.

To get started and see how the skin looks by default, check out reflow-maven-skin!

Usage

To use this Maven skin, include it in your site.xml file:

<project>
  ...
  <skin>
    <groupId>io.github.devacfr.maven.skins</groupId>
    <artifactId>reflow-maven-skin</artifactId>
    <version>2.0.0-beta2</version>
  </skin>
  ...
</project>

The skin requires accompanying Reflow Velocity tools (reflow-velocity-tools) to be available when generating Maven site. Add them as a dependency to maven-site-plugin in your POM file:

<build>
  <plugins>
    ...
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-site-plugin</artifactId>
      <version>3.7.1</version>
      <dependencies>
        ...
        <dependency>
          <groupId>io.github.devacfr.maven.skins</groupId>
          <artifactId>reflow-velocity-tools</artifactId>
          <version>2.0.0-beta2</version>
        </dependency>
        ...
      </dependencies>
      ...
    </plugin>
    ...
  </plugins>
</build>

Configuration

The skin is configurable using the <custom><reflowSkin> element in your site.xml file. Refer to documentation for all configuration options.

A sample configuration file is given below:

<project>
  ...
  <custom>
    <reflowSkin>
      <theme>bootswatch-spacelab</theme>
      <brand>
        <name>My Project</name>
        <href>http://devacfr.github.io/reflow-maven-skin/</href>
      </brand>
      <slogan>Super interesting project doing good things.</slogan>
      <titleTemplate>%2$s | %1$s</titleTemplate>
      <toc>top</toc>
      <navbar filterMenu="Download|reports" />
      <bottomNav>
        <column>Main|Download</column>
        <column>Documentation</column>
        <column>reports|modules</column>
      </bottomNav>
      <bottomDescription>This is a very good project doing interesting
        and valuable things.</bottomDescription>
      <pages>
        <index project="project-id">
          <shortTitle>Welcome</shortTitle>
          <breadcrumbs>false</breadcrumbs>
          <toc>false</toc>
          <sections>
            <carousel />
            <body />
            <sidebar />
            <thumbs>2</thumbs>
            <columns>3</columns>
          </sections>
        </index>
        <developer-info>
          <toc>sidebar</toc>
        </developer-info>
      </pages>
    </reflowSkin>
  </custom>
  ...
</project>

Note that when using <localResources>, you need to provide the necessary local versions of Bootstrap and jQuery files. Reflow skin provides package containing the default web dependencies files in module reflow-default-webdeps. this package should be unpack as following example:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
        <id>unpack</id>
        <phase>pre-site</phase>
        <goals>
            <goal>unpack</goal>
        </goals>
        <configuration>
            <artifactItems>
                <artifactItem>
                    <groupId>io.github.devacfr.maven.skins</groupId>
                    <artifactId>reflow-default-webdeps</artifactId>
                    <version>2.0.0-beta1</version>
                    <type>jar</type>
                    <overWrite>false</overWrite>
                    <includes>
                        **/css/bootstrap.min.css, <!-- can be remove if use bootswatch theme-->
                        **/css/fontawesome/**/*,
                        **/css/themes/flaty/*.css, <!-- use flaty bootswatch theme-->
                        **/js/*.js,
                        **/js/languages/*,
                        **/js/styles/github.min.css <!-- use github highlight theme-->
                    </includes>
                </artifactItem>
            </artifactItems>
            <outputDirectory>${main.basedir}/site</outputDirectory>
        </configuration>
        </execution>
    </executions>
</plugin>

Note: ${main.basedir} equals to ${session.executionRootDirectory} for relativize url (see Multi-module site documentation)

Site Deployment

Use following command to deploy site.

$ ./mvnw clean package site site:stage scm-publish:publish-scm

Bug tracker

Have a bug or a feature request? Please create an issue here on GitHub that conforms with necolas's guidelines.

http://github.com/devacfr/reflow-maven-skin/issues

Contributing

Fork the repository and submit pull requests on develop branch. Reflow use gitflow workflow to define a strict branching model designed around the project release (see Release Management Documentation for more information).

Pull request on master will be refused.

Author

Andrius Velykis

Christophe Friederich

Copyright and license

Copyright 2012-2018 Christophe Friederich

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.