(hoofbeats) Fixes some anonymous closures and gets scanning working.
[profile/ivi/cowhide.git] / README.md
1 # COWHIDE
2
3 Cowhide is an HTML5 UI framework built on top of Twitter Bootstrap.
4 It takes advantage of Bootstrap's modularity both with regards to JavaScript
5 plugins and CDD style.
6
7 Bootstrap's JavaScript components are written as jQuery plugins, in a very
8 minimal way, and that makes it easy to work with them.
9
10 Bootstrap's strength resides in its CSS styles, created using the LESS
11 language.
12
13 Cowhide encapsulates Bootstrap's components and extend their functionality,
14 and implements its own new UI widgets as well.
15
16
17 ## Components
18
19 Underscore.js
20 jQuery 1.8.2
21 Twitter Bootstrap 2.1.1
22 The Slider from jQuery UI 1.8.14.
23
24
25 ## Buiding
26
27 Building requires `npm`. There are only three simple steps to installing
28 Cowhide:
29
30     source env.sh
31     npm install
32     grunt
33
34
35 ## The Calf example
36
37 Calf is an example Cowhide app. It showcases the basic "barebone" UI, and some
38 interactions. On top of the page there's a toolbar with some buttons that
39 simulate system events.
40
41 The `Night mode` button will ask the Framework to perform a theme switch, and
42 toggles day mode and night mode.
43
44 On the right end of the toolbar there's a form that will let you test the
45 Framework's ability to enforce a minimu font size on some widgets.
46
47 If you input a number smaller than 12 and click `Apply`, you will see the text
48 on the buttons get temporarily small as you request, but then the framework
49 will resize them up again after an artificial interval meant to let you see
50 that's happening.
51
52 The Calf app itself is at the bottom. It allows you to navigate artists, albums
53 and songs. Notice the smooth transitions as you change category.
54
55 On the right size there's a picture for the artist or album you are currently
56 hovering with your mouse, that defaults to a cute calf.
57
58 The volume button (last one on the right), will show you the pop-up window
59 that feature sliders and a `Seat Selector`.
60
61 ## Testing
62
63 To run the unit tests, you will need `phantomjs`. You can install it on Ubuntu
64 with:
65
66     apt-get install phantomjs
67
68 Then run:
69
70     ./tests/run.sh