This User's Guide describes the use cases for Webmin in a Maven 2 war project.
Table of contents
{toc:outline=true|style=none|maxLevel=3}
h2. Add Maven dependency
Make sure that Maven resources from the Mysema Source Maven repo can be accessed from your POM and add the following dependency to your POM :
{code:XML}
<dependency>
<groupId>com.mysema.web</groupId>
<artifactId>webmin</artifactId>
<version>0.2.2</version>
</dependency>
{code}
Replace the version with the current production release version.
h2. CSS and JavaScript minification
CSS and JavaScript minification are handled via the com.mysema.webmin.MinifierServlet. To use it, add the following declaration into your webapp's web.xml :
{code:XML}
<servlet>
<servlet-name>minifier</servlet-name>
<servlet-class>com.mysema.webmin.MinifierServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>minifier</servlet-name>
<url-pattern>/res/*</url-pattern>
</servlet-mapping>
{code}
and configure the resource mappings into WEB-INF/minfier.xml :
{code:XML}
<?xml version="1.0" encoding="utf-8"?>
<minifier>
<!-- CSS bundle for print -->
<bundle path="/res/print.css" type="css">
<resources>
<resource>/WEB-INF/css/print1.css</resource>
<resource>/WEB-INF/css/print2.css</resource>
</resources>
</bundle>
<!-- CSS bundle for screen -->
<bundle path="/res/screen.css" type="css">
<resources>
<resource>/WEB-INF/css/screen1.css</resource>
<resource>/WEB-INF/css/screen2.css</resource>
</resources>
</bundle>
<!-- JavaScript bundle which extends jquery -->
<bundle path="/res/scripts.js" extends="jquery">
<resources>
<resource l10n="true">/WEB-INF/js/labels.js</resource>
<resource>/WEB-INF/js/mysema.js</resource>
<resource l0n="true">/WEB-INF/js/search-index.js</resource>
<resource>/WEB-INF/js/search.js</resource>
</resources>
</bundle>
<!-- JavaScript bundle without path for extensions -->
<bundle name="jquery">
<resources>
<resource>/WEB-INF/js/jquery-1.2.6.js</resource>
<resource>/WEB-INF/js/jquery.dimensions.js</resource>
<resource>/WEB-INF/js/jquery.corner.js</resource>
<resource>/WEB-INF/js/jquery.cookie.js</resource>
</resources>
</bundle>
</minifier>
{code}
h2. HTML compression
HTML minification is done via the com.mysema.webmin.html.HTMLMinifierFilter filter. The filter can be declared like this in your web.xml
{code:XML}
<filter>
<filter-name>htmlmin</filter-name>
<filter-class>com.mysema.webmin.html.HTMLMinifierFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>htmlmin</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
{code}
Table of contents
{toc:outline=true|style=none|maxLevel=3}
h2. Add Maven dependency
Make sure that Maven resources from the Mysema Source Maven repo can be accessed from your POM and add the following dependency to your POM :
{code:XML}
<dependency>
<groupId>com.mysema.web</groupId>
<artifactId>webmin</artifactId>
<version>0.2.2</version>
</dependency>
{code}
Replace the version with the current production release version.
h2. CSS and JavaScript minification
CSS and JavaScript minification are handled via the com.mysema.webmin.MinifierServlet. To use it, add the following declaration into your webapp's web.xml :
{code:XML}
<servlet>
<servlet-name>minifier</servlet-name>
<servlet-class>com.mysema.webmin.MinifierServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>minifier</servlet-name>
<url-pattern>/res/*</url-pattern>
</servlet-mapping>
{code}
and configure the resource mappings into WEB-INF/minfier.xml :
{code:XML}
<?xml version="1.0" encoding="utf-8"?>
<minifier>
<!-- CSS bundle for print -->
<bundle path="/res/print.css" type="css">
<resources>
<resource>/WEB-INF/css/print1.css</resource>
<resource>/WEB-INF/css/print2.css</resource>
</resources>
</bundle>
<!-- CSS bundle for screen -->
<bundle path="/res/screen.css" type="css">
<resources>
<resource>/WEB-INF/css/screen1.css</resource>
<resource>/WEB-INF/css/screen2.css</resource>
</resources>
</bundle>
<!-- JavaScript bundle which extends jquery -->
<bundle path="/res/scripts.js" extends="jquery">
<resources>
<resource l10n="true">/WEB-INF/js/labels.js</resource>
<resource>/WEB-INF/js/mysema.js</resource>
<resource l0n="true">/WEB-INF/js/search-index.js</resource>
<resource>/WEB-INF/js/search.js</resource>
</resources>
</bundle>
<!-- JavaScript bundle without path for extensions -->
<bundle name="jquery">
<resources>
<resource>/WEB-INF/js/jquery-1.2.6.js</resource>
<resource>/WEB-INF/js/jquery.dimensions.js</resource>
<resource>/WEB-INF/js/jquery.corner.js</resource>
<resource>/WEB-INF/js/jquery.cookie.js</resource>
</resources>
</bundle>
</minifier>
{code}
h2. HTML compression
HTML minification is done via the com.mysema.webmin.html.HTMLMinifierFilter filter. The filter can be declared like this in your web.xml
{code:XML}
<filter>
<filter-name>htmlmin</filter-name>
<filter-class>com.mysema.webmin.html.HTMLMinifierFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>htmlmin</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
{code}