ushahidi/Ushahidi_Web — pull request #958 by rjmackay (2012-12-03 03:57:02+00:00)
Title: Code Review: CSS/JS Abstraction and Theme improvements

This a fairly major set of changes and could do with a serious code review.
Here's the main things this does:

1. Add theme inheritance and css/js overriding
* This still default to including the default theme
* Allows themes to specify CSS/JS files to include through readme.txt
* Allow themes to override CSS/JS from parent theme by include a file of the same name
2. Split out themes/default/css/style.css
3. Handle all CSS / JS includes through 1 library: Requirements
* This enables us to combine and compress these files
* Requirements library is ported from another framework, but has had serious modification so needs some review too (however I haven't rewritten it all so haven't enforced coding standards everywhere)
* We're adding CSSMin and JSMin to compress files
* A bunch of new options in application/config/requirements.php
4. Add support for RTL css files through Requirements library.
* All CSS files can be replace by a file of the same name with the -rtl suffix.

There are also other fixes that were enabled by the refactoring, and some general JS/CSS cleanup.

Issues addressed: #338 #550 #301 #261

I've started documenting all this here: https://wiki.ushahidi.com/display/WIKI/Managing+CSS+and+JS+in+Ushahidi

Any feedback appreciated, even if its to tell me I'm crazy and I've over thought the whole thing.