Giter Site home page Giter Site logo

vianetz / aoe-jscsststamp-magento1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aoepeople/aoe_jscsststamp

1.0 2.0 0.0 164 KB

Automatic Versioning of JS and CSS files for Magento

Home Page: http://www.fabrizio-branca.de/automatisches-versionieren-von-javascript-und-css-dateien-in-magento.html

License: GNU General Public License v3.0

PHP 100.00%

aoe-jscsststamp-magento1's Introduction

AOE_JsCssTimestamp

Build Status

Author: Fabrizio Branca

Overview

This module adds the last-modified timestamp to your JS and CSS merged files to enabled browser-based caching and speed up your server.

Installation

Add following lines to your .htaccess file if storage is set to "database" and you are using apache as your web server.

Get merged js and css files from database using get.php if they do not exist in filesystem

RewriteCond %{REQUEST_URI} ^/media/css/.*\.css$ [OR]
RewriteCond %{REQUEST_URI} ^/media/js/.*\.js$

never rewrite for existing files

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ../get.php [L]

Add versions to files

If you enable one of the following in the configuration make sure to add this to your .htaccess file:

  • Add version to assets (gif|png|jpg)
  • Add version to assets (css) NOTE: only works with skin_css (not js_css)
  • Add version to assets (js) NOTE: only works with skin_js (not js - coming from /js)
RewriteRule (.*)\.(\d{10})\.(gif|png|jpg)$ $1.$3 [L,NC]
RewriteRule (.*)\.(\d{10})\.(css)$ $1.$3 [L,NC]
RewriteRule (.*)\.(\d{10})\.(js)$ $1.$3 [L,NC]

If you use NGINX, add the following lines to your nginx config within the server block for your site if you use database as the file storage location:

location ^~ /media/js/ {
    try_files $uri $uri/ @handlerjs;
}

location ^~ /media/css/ {
    try_files $uri $uri/ @handlercss;
}

location @handlerjs {
    rewrite /media/js/ /get.php;
}

location @handlercss {
    rewrite /media/css/ /get.php;
}

If you enable the Add timestamps to asset files feature, also add these lines to your nginx config file

they should NOT be added to any particular location block.

rewrite "^/(.*)\.(\d{10})\.(gif|png|jpg)$" /$1.$3 last;

Release notes

v0.8.1

  • Use adding sequence for sorting items without given prio

v0.8.0

  • Added system configuration setting to take store id's into account when generating the filename hash
  • Added configuration to sort assets by priorities:
<action method="addItem">
    <type>skin_js</type>
    <name>js/app.js</name>
    <params/>
    <if/>
    <cond/>
    <prio>100</prio>
</action>

v0.7.1

  • added unit tests
  • removed JSMin since it wasn't used
  • getSkinUrl now also optionally adds the version key to image assets

v0.7.0

  • Allowing to add timestamps to js and css files too now. Feature "inspired" by Tymek's commit.

v0.6.0

aoe-jscsststamp-magento1's People

Contributors

fbrnc avatar leesaferite avatar mathiasschopmans avatar sprankhub avatar ma4nn avatar vinai avatar zyava avatar jadhub avatar bastianccm avatar erfanimani avatar mzeis avatar masmrlar avatar tessig avatar gerritpechmann avatar

Stargazers

Michael Davidsen avatar

Watchers

Michael Davidsen avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.