Ushahidi 3.0's UI is based on the crossbrowser, front-end framework Foundation and utilizes Sass, which compiles to CSS via Compass. Foundation provides Sass mixins, which are an intergral part of Ushahidi 3.0's grid and design.
Install Dependencies
Compass
Follow these directions to install Compass on your machine.
NOTE: Both Ruby and RubyGems Library are required before installation.
Install Grunt and grunt plugins
You'll need nodejs and npm installed.
In terminal run:
cd modules/UshahidiUI
npm install -g grunt-cli
npm install
Install Ushahidi 3.0
Follow the install instructions
Directory Structure
All design files are located in
modules/UshahidiUI/mediaHTML files are located in
modules/UshahidiUI/media/js/app/templatesSass files are located in
amu/modules/UshahidiUI/media/scss
How to make style changes?
IMPORTANT!! - Do not edit the .css files directly. Always make style changes within the scss directory
In your terminal, navigate to the
UshahidiUIfolder and rungrunt watch(this Grunt command will use Compass to compile all.scssfiles intocss/style.cssupon saving your documents).Then make all style changes within the individual
.scssfiles, creating new ones and importing them intostyle.scssas needed. (Reference currentcss/style.cssfor @import structure).Now when you save your changes to your document, Grunt will run Compass to compile all of your
.scssfiles intocss/style.css. Your changes will take effect upon browser refresh.
Semantic HTML Grid
IMPORTANT!! - "Semantic Grid" means that the grid code is in the Sass/CSS and stays out of the HTML, making the HTML markup more semantic
Ushahidi 3.0 is a responsive, device agnostic application, meaning it is flexible and optimized for usability regardless of the device. It looks good on desktop, mobile phones and everything in between.
It is important to know that the Ushahidi 3.0 grid is semantic, meaning it is controlled via the .scss files, not the HTML. If you need to adjust or add to the grid, please do so via Sass mixins provided by Foundation. Please keep the grid out of the markup and in the CSS.
When in doubt reference Ushahidi 3.0's existing codebase and the Foundation docs.
If you have any questions feel free to contact Seth Hall
- @middle8media on Twitter
- middle8media on Skype
- seth(at)ushahidi.com
3 Comments
Hide/Show CommentsDavid Kobia
csslint might be missing, so run:
Seth Hall
I installed that library to help debug css in dev. It is there to use as needed or can be deleted.
Robbie Mackay
I say just remove csslint in future.