Magnar, could you talk a little about how your project is better than/different from Stefon/dieter and cornet? I feel like we have a lot of these projects now, all doing mostly the same thing.
I also don't totally understand why they're all done as Ring middleware instead of lein/maven plugins. Maybe this is my Java background talking, but that seems to me to be the logical place to put this sort of thing. jason On Sunday, November 24, 2013 2:00:10 PM UTC-8, Magnar Sveen wrote: > > I just open sourced optimus. README and code here: > https://github.com/magnars/optimus<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimus&sa=D&sntz=1&usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ> > > Optimus is a Ring middleware for frontend performance optimization. > > It serves your static assets: > > - in production: as optimized bundles > - in development: as unchanged, individual files > > In other words: Develop with ease. Optimize in production. > > *Features* > > Depending on how you use it, optimus: > > - concatenates your JavaScript and CSS files into bundles. > - minifies your JavaScript with UglifyJS > 2<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmishoo%2FUglifyJS2&sa=D&sntz=1&usg=AFQjCNGjUWtc9t6OLfeCSFD67Qiv1YJHuA> > - minifies your CSS with > CSSO<http://www.google.com/url?q=http%3A%2F%2Fbem.info%2Ftools%2Foptimizers%2Fcsso%2F&sa=D&sntz=1&usg=AFQjCNHFxxUFir_vcxqI79FeEYI-2xijmQ> > - adds cache-busters to your static asset URLs > - adds far future Expires > headers<http://www.google.com/url?q=http%3A%2F%2Fdeveloper.yahoo.com%2Fperformance%2Frules.html%23expires&sa=D&sntz=1&usg=AFQjCNFc3zu6wMgQIthHxVHy4AoHDyPdQw> > > Also, if you're using Angular.JS: > > - prepopulates the Angular template > cache<http://www.google.com/url?q=http%3A%2F%2Fdocs.angularjs.org%2Fapi%2Fng.%2524templateCache&sa=D&sntz=1&usg=AFQjCNE8i4GlTWl0r4u9fKoAyEipcMYAlw> > with > your HTML templates. > > > > https://github.com/magnars/optimus<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmagnars%2Foptimus&sa=D&sntz=1&usg=AFQjCNHVew3Ey2Bh409AV3mEhpEipbxGzQ> > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.