# Rake-Minify

**URL:** <https://www.ruby-forum.com/t/rake-minify/205515>\
**Category:** IT\
**Created:** [April 7, 2011, 9:51pm UTC](https://www.ruby-forum.com/t/rake-minify/205515 "2011-04-07T21:51:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [April 7, 2011, 9:51pm UTC](https://www.ruby-forum.com/t/rake-minify/205515/1 "2011-04-07T21:51:33Z")

</div>

Ciao a tutti,

Come alcuni di voi sapranno (quelli del CodeMotion, insomma :P),  
nell’azienda per la quale lavoro (Mavigex) realizziamo applicazioni  
mobile  
multipiattaforma usando Sencha Touch e fruibili direttamente dal Web.  
Questo significa che le applicazioni debbono essere estremamente veloci  
a  
caricare, e questo impone che i vari Javascript (qualche centinaio di  
KB)  
vengano minificati e compattati in un unico file.  
Dal momento che spesso usiamo Sinatra per il backend, perch tipicamente  
vengono usate API esterne, non potevamo usare molte delle ottime  
librerie  
per minificare i Javascript per RoR (e alcune di quelle che potevamo  
usare  
non davano le performance desidate, anzi peggioravano la situazione!).  
Quindi ne ho realizzata una che pu anche essere eseguita offline, in  
fase  
di deploy (w capistrano!): rake  
minify[https://github.com/mcollina/rake-minify](https://github.com/mcollina/rake-minify).  
Sono veramente poche righe di codice, fa quanto mi serve e niente pi:  
ovviamente se ci sono suggerimenti/bug fatemeli sapere che li corregger  
appena possibile!

Ciao,  
Matteo

---

<div class="post-metadata">

**Author:** ![matteo\_c](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@matteo\_c](https://www.ruby-forum.com/u/matteo_c)\
**Post date:** [April 8, 2011, 12:40pm UTC](https://www.ruby-forum.com/t/rake-minify/205515/2 "2011-04-08T12:40:51Z")

</div>

Ciao Matteo,  
Un po’ di tempo fa avevo lo stesso problema, e ho creato:

> **[GitHub - jodosha/assets\_packager: Rake tasks for merge and compress your stylesheets...](https://github.com/jodosha/assets_packager)**
>
> Rake tasks for merge and compress your stylesheets and javascripts

E’ una gem che fornisce una serie di Rake tasks per comprimere e fare il  
merge in un unico file, sia i javascripts che gli stylesheets. E’  
framework/language agnostic, nel senso che pu essere usato per qualsiasi  
altro progetto web, a patto di avere un runtime Ruby, ovviamente.  
Inoltre fornisce qualche, funzionalit in pi per le applicazioni Rails.

Ecco un esempio di configurazione: [Configuration example for https://github.com/jodosha/assets\_packager · GitHub](https://gist.github.com/909622)

## Luca

> **[Luca Guidi on about.me](https://about.me/jodosha)**
>
> I use about.me to show people what matters most to me.

---

<div class="post-metadata">

**Author:** ![matteo\_c](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@matteo\_c](https://www.ruby-forum.com/u/matteo_c)\
**Post date:** [April 8, 2011, 1:38pm UTC](https://www.ruby-forum.com/t/rake-minify/205515/3 "2011-04-08T13:38:15Z")

</div>

Il giorno 08 aprile 2011 12:40, Luca G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha  
scritto:

> 

Carino, a saperlo prima non mi mettevo a scrivere rake-minify :). Non  
che ci  
abbia messo molto, stato abbastanza divertente.  
L’approccio leggermente differente, uso un DSL invece che un file YAML,  
ma  
il concetto molto simile :).

Matteo

---

<div class="post-metadata">

**Author:** ![matteo\_c](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@matteo\_c](https://www.ruby-forum.com/u/matteo_c)\
**Post date:** [April 8, 2011, 7:11pm UTC](https://www.ruby-forum.com/t/rake-minify/205515/4 "2011-04-08T19:11:14Z")

</div>

Ciao ancora,  
Ho appena aggiornato assets\_packager alla versione 0.0.2.

C’ una semplice feature in pi: aggiunge un timestamp agli url delle  
immagini presenti negli stylesheets.  
Esempio:  
div#logo{ background: url(/images/logo.png) top left; }

Diventa:  
div#logo{ background: url(/images/logo.png?1286374077) top left; }

In questo modo viene imitata la feature di ActionView che appende un  
timestamp, quando viene usato l’helper #image\_tag o #image\_path.

Luca
