Skip to content
master
Switch branches/tags
Code
This branch is 585 commits ahead of andriusvelykis:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
ci
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Apache License, Version 2.0 Maven Central

Build Status Dev Plan Release Plan

Gitter

Stack Exchange monthly questions

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!

News

Reflow Maven skin 2.3.0 is officially out 🎉.

The header component can now be displayed in 3 different ways:

  • jumbotron - the current rendering (default)
  • banner - display centering banner.
  • custom - use specific html (cdata content of header component) to render the header.

You can also integrate a free content directly (without modification) in body page. The page is composed only header (navbar), body and footer. You can play only with the body content. The content is put as is, Reflow maven skin should not modify this content.

<reflowSkin>
  <pages>
    <index type="body" />
  </pages>
</reflowSkin>

⚠️ Be careful: The cssClass attribute of each component do not override anymore theme and background attribute. you can not write <navbar cssClass="navbar-dark bg-primary border-bottom">, but instead <navbar theme="dark" background="primary" cssClass="border-bottom">.

Read more in the Reflow Maven skin 2.3 Release Notes and changeslog.

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.3.0</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.3.0</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.3.0</version>
                    <type>jar</type>
                    <overWrite>false</overWrite>
                    <includes>
                        **/css/bootstrap.min.css, <!-- can be remove if use bootswatch theme-->
                        **/css/fontawesome/*,
                        **/css/fontawesome/webfonts/*,
                        **/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}/target/site</outputDirectory>
        </configuration>
        </execution>
    </executions>
</plugin>

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

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

Contributions via GitHub pull requests are gladly accepted from their original author. Along with any pull requests, please state that the contribution is your original work and that you license the work to the project under the project's open source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project's open source license and warrant that you have the legal authority to do so.

Compiling

You can compile Reflow project with your local Maven, with Maven Wrapper or with Maven from Docker. The last one is the easiest solution with you don't want install a jdk8.

Maven local

$ mvn clean install -P skipTests -Dtoolchains.disabled=true

Maven Wrapper

$ ./mvnw clean install -Dtoolchains.disabled=true

Maven from Docker

$ ./mvnd clean install

The profile skipTests allows to skip all tests execution.

Use the parameter toolchains.disabled to disable maven toolchains plugin whether you are not configure your ${HOME}/.m2/toolchains.xml file. Here is a example of ${HOME}/.m2/toolchains.xml

<?xml version="1.0" encoding="UTF8"?>
<toolchains>
  <!-- JDK toolchains -->
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>1.8</version>
    </provides>
    <configuration>
      <jdkHome>/usr/lib/jvm/java-8-openjdk-amd64</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>9</version>
    </provides>
    <configuration>
      <jdkHome>/usr/lib/jvm/jdk-9.0.4</jdkHome>
    </configuration>
  </toolchain>
</toolchains>

Site Generation

Use following command to generate site.

$ ./ci/site-generate.sh

Site Run

Use following command to generate and run site.

$ ./ci/site-run.sh

Site Deployment

Use following command to generate and deploy site.

$ ./ci/site-deploy.sh

Author

Andrius Velykis

Christophe Friederich

Copyright and license

Copyright 2012-2019 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.

About

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.

Topics

Resources

License

Packages

No packages published