zookal/magento-minify

This package is abandoned and no longer maintained. No replacement package was suggested.

Simply enables js and css minification.

Installs: 58

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 4

Forks: 31

Open Issues: 0

Type:magento-module

dev-master 2020-01-20 00:53 UTC

This package is not auto-updated.

Last update: 2020-08-22 07:25:59 UTC


README

  • Zookal Version works only with Java/YUICompressor or old JSMin.
  • Create versioned directories
  • Less feature removed as not necessary
  • Code optimized

@todo

  • Maybe later a cURL API call to Googles Closure Compiler service: http://closure-compiler.appspot.com/home
  • use JShrink instead of JSMin as JSMin is deprecated
  • Maybe only use Java or API call to Google because these libs generate the smallest optimized JavaScript.
  • Add Node.js uglify

WBL_Minify extension enables minification of magento css merged files and/or javascript merged files. You can choose to use YUICompressor (included). In that case, be sure to have Java installed on your server and MAGE_ROOT_DIR/lib/YUICompressor.(-version-).jar executable. Or you may prefer PHP Minifying classes (included).

PHP minifying libraries (Minify_Css_Compressor , JSMin) are taken from Stephen Clay's Minify project - http://code.google.com/p/minify/

Facts

Total Size frontend js frontend css backend js backend css
no minification 359.6 KB 105.9 KB 627.1 KB 107.6 KB
YUICompressor 205.7 KB 85.9 KB 340.9 KB 80.4 KB
php classes 255.1 KB 86.3 KB 413.5 KB 81.2 KB

Behaviour

This extension simply minifies css and javascript content before merged files are saved as in the normal magento behaviour. No cache proxy server, or anything complicated : the simple genuine js and css magento browser cache behaviour, but with minified files ;)

Installation

Use modman or composer please.

Download package manually:

  • Download latest version here
  • Unzip in Magento root folder
  • Clean cache

Log-out then Log-in in magento backend, go to System > Configuration > Developer > Minification Settings. Then flush media/js and media/css files... and that's it !

NEW Grouping files functionality

It is advised to disable merging in Magento because the seeming performance benifits aren't as real as they seem. See the excellent Fishpig article: Why You Shouldn't Merge JavaScript in Magento

How does it work?

The js and css files are normally combined to one large file, with this you can group them in relevant groups (the product page gets its own group for example). More examples:

<layout>
	<!-- we add a group specifically for each locale, when customers are switching a language the whole css doesn't need to be reloaded -->
    <default>
        <reference name="head">
            <action method="addItem"><type>skin_css</type><stylesheet>css/responsive.css</stylesheet><params/><if/><cond/><group>locale</group></action>
            <!-- not the the <params/>, <if/> and the <cond/>, those are required. -->
        </reference>
    </default>

    <!-- on the product page we include the js in a different group (given the same name as the handle) -->
    <catalog_product_view>
        <reference name="head">
            <action method="addJs"><script>varien/product.js</script><params/><group>catalog_product_view</group></action>
            <!-- addCss works the same, addCssIe and addJsIe work the same -->
        </reference>
    </catalog_product_view>
</layout>

License

OSL-3.0