Fork me on GitHub

Welcome to Apache Maven Fluido Skin!

The Apache Maven Fluido Skin is an Apache Maven site skin built on top of Twitter's Bootstrap 2.3.2.

A sample page is provided to see the skin in action, and two complete sites to show skin configurations: one for sidebar layout (default) and the other for topbar layout.

Notice: since version 1.5 of this skin, Velocity 1.7 (used by Maven Site Plugin version 3.5) is required. But in previous versions of the skin, it was Velocity 1.5, which has some incompatibilities. If you need to mix versions, please see the migration guide to override Velocity version used by Maven Site Plugin as per your specific skin and site plugin requirements.

Usage

To use this skin in your project, use the skin element of the site.xml site descriptor:

<project name="xxx">
  [...]
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.5</version>
  </skin>
  [...]
</project>

TopBar and/or sideBar

The skin supports different layouts, enabling/disabling the left sidebar menu and the topbar menu. Users have just play with flags in the custom.fluidoSkin element in site.xml:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <sideBarEnabled>false</sideBarEnabled>
    </fluidoSkin>
  </custom>
  [...]
</project>

That allows users having 4 skins in only 1!

  1. sidebar only;
  2. topbar only;
  3. both side/top bars;
  4. none at all.

Default skin setting is the option 1.

TopBarIcon

When users decide to enable the topbar, they can plug a small icon/logo there (typically 108*20 px) just configuring the custom.fluidoSkin.topBarIcon element in site.xml:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <topBarIcon>
        <name>Maven Fluido Skin</name>
        <alt>Maven Fluido Skin</alt>
        <src>/images/topbar-logo.png</src>
        <href>/index.html</href>
      </topBarIcon>
    </fluidoSkin>
  </custom>
  [...]
</project>

TopBarContainerStyle

You can configure the style attribute value of the div container for your topbar

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <topBarContainerStyle>width: 90%;</topBarContainerStyle>
    </fluidoSkin>
  </custom>
  [...]
</project>

NavBarStyle

You can configure style of your top bar nav (since bootstrap 2.1.0 is not anymore black by default). Use navbar-inverse to have the black one.

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <navBarStyle>navbar-inverse</navBarStyle>
    </fluidoSkin>
  </custom>
  [...]
</project>

Configuring column class

When using sidebar, the navigation column uses by default span2 class and body column uses span10. To prevent weird/ugly result, the sum must be 12. You can change that using:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <leftColumnClass>span3</leftColumnClass>
      <bodyColumnClass>span9</bodyColumnClass>
    </fluidoSkin>
  </custom>
  [...]
</project>

GoogleSearch

Users can optionally enable the Google Search for the generated site, requirements are:

  • the project.url property in pom.xml, unless the custom.fluidoSkin.googleSearch.sitesearch property is set in the site.xml:
    <project name="xxx">
      [...]
      <url>http://maven.apache.org/skins/maven-fluido-skin</url>
      [...]
    </project>
    
  • the custom.fluidoSkin.googleSearch element in site.xml:
    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
          <googleSearch>
            <sitesearch/>
          </googleSearch>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

By default, the search form:

  • is not enabled; adding custom.fluidoSkin.googleSearch is enough to enable the searchbox.
  • is rendered in the sidebar, if the topbar only is available it will be rendered there.

External links are either rendered in the sidebar or the topbar. When both sidebar and topbar are enabled, they are rendered as dropdown in the topbar only.

SourceLineNumbers

Source code sections are enhanced by Google Code Prettify, users can optionally enable line numbers rendering (disabled by default):

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
    </fluidoSkin>
  </custom>
  [...]
</project>

Copyright class

Since version 1.3.1, you can configure a copyright class:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <copyrightClass>pull-right</copyrightClass>
    </fluidoSkin>
  </custom>
  [...]
</project>

head/footer placeholders

This skin will pass your custom head/footer to $render.eval() and replace all variables known to the Velocity context.

GitHub ribbons

Since version 1.1, fluido-skin supports GitHub ribbons to simplify the Fork me on GitHub banner integration. Users must define:

  • custom.fluidoSkin.gitHub.projectId: required, it is the project id on GitHub and will be used to build the project page URL;
  • custom.fluidoSkin.gitHub.ribbonOrientation: optional, it is the the ribbon position, left/right only accepted (left by default);
  • custom.fluidoSkin.gitHub.ribbonColor: optional, it is the the ribbon color, red/green/black/darkblue/orange/gray only accepted only accepted (red by default).
    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
          <gitHub>
            <projectId>apache/maven-skins</projectId>
            <ribbonOrientation>right</ribbonOrientation>
            <ribbonColor>black</ribbonColor>
          </gitHub>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

Project profile

As shown in the MOJOs list, plugins life-cycle are characterized by different status/stages:

  • Production
  • Pre-release
  • Sandbox
  • Graveyard (retired projects)

    Users can configure different backgrounds depending on the project status (except the production) to warrant users they are not using a production ready software:

    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
          <profile>(pre-release|sandbox|retired)</profile>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

Twitter follow button

Since version 1.1, fluido-skin supports the Twitter follow button to simplify its integration. Users must define:

  • custom.fluidoSkin.twitter.user: required, it is the Twitter id to suggest to follow;
  • custom.fluidoSkin.twitter.showUser: optional, flag to mark the user has to be shown (false by default);
  • custom.fluidoSkin.twitter.showFollowers: optional, flag to mark the followers ribbon has to be shown (false by default).
    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
          <twitter>
            <user>simonetripodi</user>
            <showUser>true</showUser>
            <showFollowers>true</showFollowers>
          </twitter>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

    By default, it is rendered in the sidebar, if the topbar only is available it will be rendered there.

Ohloh widgets

Since version 1.1, fluido-skin supports the Ohloh widgets to simplify its integration. Users must define:

  • custom.fluidoSkin.ohloh.projectId: required, it is the project identifier in Ohloh (could be the numeric id or the project name);
  • custom.fluidoSkin.ohloh.widget: optional, it is the kind of widget has to be rendered, admitted values are:
    • users-logo (default)
    • users-green
    • users-red
    • users-blue
    • users-gray
    • users-rainbow
    • users
    • thin-badge
    • partner-badge
    • languages
    • factoids
    • cocomo
    • stats
      <project name="xxx">
        [...]
        <custom>
          <fluidoSkin>
            <ohloh>
              <projectId>3499</projectId>
              <widget>factoids</widget>
            </ohloh>
          </fluidoSkin>
        </custom>
        [...]
      </project>
      

    Ohloh widgets will be rendered always in the footer as last element

Facebook like button

Since version 1.2, fluido-skin supports the Facebook like integration. Users have just to declare:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <facebookLike />
    </fluidoSkin>
  </custom>
  [...]
</project>

By default, it is rendered in the sidebar, if the topbar only is available it will be rendered there.

Note in order the Facebook like button appears, ${project.url} property must be set in the pom.xml!

Google plusone button

Since version 1.2, fluido-skin supports the Google plusone integration. Users have just to declare:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <googlePlusOne />
    </fluidoSkin>
  </custom>
  [...]
</project>

By default, it is rendered in the sidebar, if the topbar only is available it will be rendered there.

Note in order the Google plusone button appears, ${project.url} property must be set in the pom.xml!

Piwik web analytics

Since version 1.3.1, fluido-skin supports inserting Piwik web analytics tracking code into the generated pages. Users have to declare:

  • custom.fluidoSkin.piwik.piwikUrl: URL of the Piwik installation without protocol, leading and trailing slashes (i. e. without http://).
  • custom.fluidoSkin.piwik.idsite: ID in the Piwik installation of the site which is tracked.
    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
            <piwik>
                <piwikUrl>example.org/piwik</piwikUrl>
                <idsite>1</idsite>
            </piwik>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

Flattr button

Since version 1.3.1, fluido-skin supports Flattr button integration. Users have to declare:

  • custom.fluidoSkin.flattr.thing: required, ID of the Flattr thing. This is the part after the flattr.com/thing/ part of the URL of the Flattr button.
  • custom.fluidoSkin.flattr.url: optional, URL of the Flattr thing. Either this or the ${project.url} must be set for the button to appear. (${project.url} by default.)
  • custom.fluidoSkin.flattr.style: optional, style of the Flattr button. large and compact are supported. (large by default.)
    <project name="xxx">
      [...]
      <custom>
        <fluidoSkin>
          <flattr>
              <thing>12345/Example-Org</thing>
              <url>http://example.org/</url>
              <style>compact</style>
          </flattr>
        </fluidoSkin>
      </custom>
      [...]
    </project>
    

    By default, it is rendered in the sidebar, if the topbar only is available it will be rendered there.

Skip generation date

Since version 1.3.1, you can skip generation date from the line "Generated by Apache Maven Doxia at <date>" to enable it:

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <skipGenerationDate>true</skipGenerationDate>
    </fluidoSkin>
  </custom>
  [...]
</project>

Breadcrumb Divider

Since version 1.3.1, you can configure the breadcrumb divider (default is a slash):

<project name="xxx">
  [...]
  <custom>
    <fluidoSkin>
      <breadcrumbDivider>»</breadcrumbDivider>
    </fluidoSkin>
  </custom>
  [...]
</project>

Acknowledgment

Apache Maven Fluido Skin contains/redistributes Glyphicons Halflings as part of Bootstrap by Twitter, released under Creative Commons Attribution 3.0 Unported (CC BY 3.0).