You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by "brushed (JIRA)" <ji...@apache.org> on 2013/08/02 20:07:48 UTC

[jira] [Commented] (JSPWIKI-761) Use wro4j to build/minimize javascript and css

    [ https://issues.apache.org/jira/browse/JSPWIKI-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13727901#comment-13727901 ] 

brushed commented on JSPWIKI-761:
---------------------------------


Implementing the WRO4J ( Web Resource Optimizer for Java ) Build-time solution in JSPWiki through the wro4j maven plugin. ( see http://code.google.com/p/wro4j/wiki/MavenPlugin )

* replacing YUI-Compressor for JS by UglifyJS (better compression)
* introducing the LESS CSS preprocessor supporting advanced css authoring capabilities  (variables, mixins, ...)
* merging JS and CSS files to reduce the number of resources needed at page-load.
** jspwiki-common.js = { jspwiki-common.js, jspwiki-commonstyles.js, prettify.js }
** jspwiki-edit.js = { jspwiki-edit.js, posteditor.js}
** jspwiki-prefs.js = { jspwiki-prefs.js }
** the mootools library is kept as a separate resource  (could be serviced from a CDN)

FFS: in a next stage, we can merge even further, but this may require adaptations to the way JSPWiki is dynamically adding resources.

Note: You can build with or without minification of the JS and CSS files to ease development by using -Dminimize = true | false. (ref. mvn_cheat-sheet.txt)


Next steps :
* We need to rethink the way JSPWiki skins (CSS stylesheets and JS addons) are handled.  For now, they remain uncompressed and unmerged.
* The current monolithic JS and CSS files can now be refactored and broken up in smaller and more manageable pieces. WRO4J will take care of merging and compression.

 

                
> Use wro4j to build/minimize javascript and css
> ----------------------------------------------
>
>                 Key: JSPWIKI-761
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-761
>             Project: JSPWiki
>          Issue Type: Bug
>          Components: Default template
>    Affects Versions: 2.9
>            Reporter: brushed
>            Priority: Minor
>
> Currently jspwiki builds its javascript and css files from ant. This simply means compression by means of the YUI compressors.  The css and js sources are large chunks of javascript and css.
> Introducing wro4j : (See http://code.google.com/p/wro4j/) 
> {quote}
> Free and Open Source Java project which brings together almost all the modern web tools: JsHint, CssLint, JsMin, Google Closure compressor, YUI Compressor, UglifyJs, Dojo Shrinksafe, Css Variables Support, JSON Compression, Less, Sass, CoffeeScript and much more. In the same time, the aim is to keep it as simple as possible and as extensible as possible in order to be easily adapted to application specific needs.
> Easily improve your web application loading time. Keep project web resources (js & css) well organized, merge & minify them at run-time (using a simple filter) or build-time (using maven plugin) and has a dozen of features you may find useful when dealing with web resources.
> {quote}
> Benefits : 
> * Adding wro4j will allow to break the js and css into logical components, and improve source management. 
> * JSPWiki stylesheet- and skin-development can be improved by introducing LESS.
> * WRO4J can be used as servlet-filter (run-time building and compression of js and css) or at build-time.
> * WRO4J will improved page-loading time. (merge and zip of js/css resources)
> * WRO4J has an Apache licensed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira