epyce 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -0
- data/LICENSE +3 -0
- data/README.md +59 -0
- data/Rakefile +1 -0
- data/VERSION +1 -0
- data/app/assets/stylesheets/html5S-libs/_core.sass +40 -0
- data/app/assets/stylesheets/html5S-libs/_normal.sass +193 -0
- data/app/assets/stylesheets/html5S-libs/_reset.sass +217 -0
- data/epyce.gemspec +23 -0
- data/lib/epyce.rb +6 -0
- data/lib/epyce/railtie.rb +12 -0
- data/lib/epyce/version.rb +5 -0
- data/lib/generators/epyce/install/install_generator.rb +24 -0
- data/lib/generators/epyce/template/app/views/layouts/_flashes.html.haml +4 -0
- data/lib/generators/epyce/template/app/views/layouts/_footer.html.haml +2 -0
- data/lib/generators/epyce/template/app/views/layouts/_header.html.haml +1 -0
- data/lib/generators/epyce/template/app/views/layouts/application.html.haml +57 -0
- data/lib/generators/epyce/template/public/apple-touch-icon-114x114-precomposed.png +0 -0
- data/lib/generators/epyce/template/public/apple-touch-icon-57x57-precomposed.png +0 -0
- data/lib/generators/epyce/template/public/apple-touch-icon-72x72-precomposed.png +0 -0
- data/lib/generators/epyce/template/public/apple-touch-icon-precomposed.png +0 -0
- data/lib/generators/epyce/template/public/apple-touch-icon.png +0 -0
- data/lib/generators/epyce/template/public/crossdomain.xml +14 -0
- data/lib/generators/epyce/template/public/favicon.png +0 -0
- data/vendor/assets/javascripts/epyce-debug.js.coffee +4 -0
- data/vendor/assets/javascripts/epyce-debug/dd_belatedpng.min.js +13 -0
- data/vendor/assets/javascripts/epyce-debug/head.js +681 -0
- data/vendor/assets/javascripts/epyce-debug/knockout-1.2.1.debug.js +2219 -0
- data/vendor/assets/javascripts/epyce-debug/respond.min.js +7 -0
- data/vendor/assets/javascripts/epyce-debug/underscore.js +839 -0
- data/vendor/assets/javascripts/epyce.js.coffee +4 -0
- data/vendor/assets/javascripts/epyce/dd_belatedpng.min.js +13 -0
- data/vendor/assets/javascripts/epyce/head.min.js +8 -0
- data/vendor/assets/javascripts/epyce/knockout-1.2.1.js +76 -0
- data/vendor/assets/javascripts/epyce/respond.min.js +7 -0
- data/vendor/assets/javascripts/epyce/underscore-min.js +27 -0
- data/vendor/assets/stylesheets/epyce.css.sass +4 -0
- data/vendor/assets/stylesheets/epyce/.gitkeep +0 -0
- data/vendor/assets/stylesheets/skeleton/base.css +336 -0
- data/vendor/assets/stylesheets/skeleton/layout.css +64 -0
- data/vendor/assets/stylesheets/skeleton/skeleton.css +237 -0
- metadata +111 -0
data/Gemfile
ADDED
data/LICENSE
ADDED
data/README.md
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
Epyce
|
2
|
+
=====
|
3
|
+
|
4
|
+
HTML Epyce is a A rails layout including skeleton, HTML5S and knockout.js
|
5
|
+
|
6
|
+
* skeleton (http://www.getskeleton.com/)
|
7
|
+
support png background for old IE
|
8
|
+
* part of Damian Le Nouaille HTML5S project (https://github.com/damln/Html5S) which take parts of html5 boilerplate (http://html5boilerplate.com)
|
9
|
+
* depends on html gem
|
10
|
+
|
11
|
+
Provide a `application.html.haml` layout and some usefull files in the public directory such as default icons.
|
12
|
+
|
13
|
+
Epyce include libs in debug mode when running in development environment and with minimal version of libs otherwise.
|
14
|
+
|
15
|
+
Provided libs are :
|
16
|
+
|
17
|
+
* knockout.js (http://knockoutjs.com)}
|
18
|
+
Model-View-ViewModel pattern implementation
|
19
|
+
* head.js (http://headjs.com/)
|
20
|
+
html reset and javascript load/run management
|
21
|
+
* Underscore.js (http://documentcloud.github.com/underscore)
|
22
|
+
provides a lot of the functional programming
|
23
|
+
|
24
|
+
Rails Installation
|
25
|
+
==================
|
26
|
+
|
27
|
+
First, make sure the following gems are in your Gemfile
|
28
|
+
|
29
|
+
gem "epyce"
|
30
|
+
|
31
|
+
Then run the following
|
32
|
+
|
33
|
+
bundle install
|
34
|
+
rails generate epyce:install
|
35
|
+
|
36
|
+
**Here's a list of the files generator install in your Rails project:**
|
37
|
+
|
38
|
+
app/views/layouts/application.html.haml
|
39
|
+
app/views/layouts/_header.html.haml
|
40
|
+
app/views/layouts/_footer.html.haml
|
41
|
+
app/views/layouts/_flashes.html.haml
|
42
|
+
|
43
|
+
public/apple-touch-icon-114x114-precomposed.png
|
44
|
+
public/apple-touch-icon-57x57-precomposed.png
|
45
|
+
public/apple-touch-icon-72x72-precomposed.png
|
46
|
+
public/apple-touch-icon-precomposed.png
|
47
|
+
public/apple-touch-icon.png
|
48
|
+
public/crossdomain.xml
|
49
|
+
public/favicon.png
|
50
|
+
|
51
|
+
Documentation
|
52
|
+
=============
|
53
|
+
|
54
|
+
(sorry nothing here yet)
|
55
|
+
|
56
|
+
License
|
57
|
+
=======
|
58
|
+
[http://creativecommons.org/licenses/by/3.0](http://creativecommons.org/licenses/by/3.0)
|
59
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
@@ -0,0 +1,40 @@
|
|
1
|
+
/*
|
2
|
+
Author: Damian le Nouaille
|
3
|
+
URL: www.dln.name
|
4
|
+
|
5
|
+
=circle($diam)
|
6
|
+
display: block
|
7
|
+
width: #{$diam}px
|
8
|
+
height: #{$diam}px
|
9
|
+
$rad: #{$diam/2}
|
10
|
+
+border-radius(#{$rad}px)
|
11
|
+
|
12
|
+
=carre($size:200px)
|
13
|
+
display: block
|
14
|
+
width: $size
|
15
|
+
height: $size
|
16
|
+
|
17
|
+
=centerX()
|
18
|
+
display: block
|
19
|
+
margin: 0 auto
|
20
|
+
text-align: left
|
21
|
+
|
22
|
+
=centerXY($width: 100px,$height: 100px)
|
23
|
+
display: block
|
24
|
+
position: absolute
|
25
|
+
width: $width
|
26
|
+
height: $height
|
27
|
+
top: 50%
|
28
|
+
left: 50%
|
29
|
+
margin-top: -$height/2
|
30
|
+
margin-left: -$width/2
|
31
|
+
|
32
|
+
=pressedEffect($top: 1px)
|
33
|
+
position: relative
|
34
|
+
top: #{$top}
|
35
|
+
|
36
|
+
=gradient($top: #222, $bottom: #777)
|
37
|
+
+linear-gradient(color-stops($top, $bottom))
|
38
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#{$top}, endColorStr=#{$bottom}, GradientType=1)
|
39
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$top}, endColorstr=#{$bottom}, GradientType=1)"
|
40
|
+
|
@@ -0,0 +1,193 @@
|
|
1
|
+
body
|
2
|
+
font: normal 13px "Lucida Grande", "Tahoma", sans-serif
|
3
|
+
*font-size: 13px
|
4
|
+
-webkit-font-smoothing: antialiased
|
5
|
+
|
6
|
+
body, select, input, textarea, button
|
7
|
+
color: #303030
|
8
|
+
|
9
|
+
select, input, textarea, button
|
10
|
+
font: 99%
|
11
|
+
b
|
12
|
+
font-weight: bold
|
13
|
+
|
14
|
+
ins, a, a:hover, a:active
|
15
|
+
text-decoration: none
|
16
|
+
|
17
|
+
a, a:active
|
18
|
+
color: #636363
|
19
|
+
font-weight: inherit
|
20
|
+
|
21
|
+
a:hover
|
22
|
+
color: #000
|
23
|
+
|
24
|
+
a:link
|
25
|
+
-webkit-tap-highlight-color: #303030
|
26
|
+
|
27
|
+
td, th
|
28
|
+
border: 1px solid #e5e5e5
|
29
|
+
|
30
|
+
h1, h2, h3, h4, h5, h6
|
31
|
+
color: #181818
|
32
|
+
font-family: "Georgia", "Times New Roman", serif
|
33
|
+
font-weight: normal
|
34
|
+
line-height: 1.3em
|
35
|
+
|
36
|
+
h1, h2, h3, h4, h5, h6, p
|
37
|
+
text-rendering: optimizeLegibility
|
38
|
+
|
39
|
+
p
|
40
|
+
line-height: 1.618em
|
41
|
+
|
42
|
+
h1
|
43
|
+
font-size: 2.6em
|
44
|
+
margin: 14px 0
|
45
|
+
|
46
|
+
h2
|
47
|
+
font-size: 2.2em
|
48
|
+
margin: 10px 0
|
49
|
+
|
50
|
+
h3
|
51
|
+
font-size: 1.8em
|
52
|
+
margin: 6px 0
|
53
|
+
|
54
|
+
h4
|
55
|
+
font-size: 1.4em
|
56
|
+
margin: 4px 0
|
57
|
+
|
58
|
+
h5
|
59
|
+
font-size: 1.1em
|
60
|
+
|
61
|
+
ul, ol
|
62
|
+
margin: 20px
|
63
|
+
|
64
|
+
ol
|
65
|
+
list-style: decimal
|
66
|
+
|
67
|
+
li
|
68
|
+
margin-bottom: 6px
|
69
|
+
list-style: square outside
|
70
|
+
|
71
|
+
blockquote
|
72
|
+
color: #636363
|
73
|
+
font-size: 1.2em
|
74
|
+
line-height: 1.3em
|
75
|
+
font-style: italic
|
76
|
+
margin: 14px 0
|
77
|
+
padding: 9px 20px 0 19px
|
78
|
+
border-left: 1px solid #ddd
|
79
|
+
p
|
80
|
+
font-size: inherit
|
81
|
+
line-height: inherit
|
82
|
+
color: inherit
|
83
|
+
font-style: inherit
|
84
|
+
cite
|
85
|
+
display: block
|
86
|
+
font-size: 0.9em
|
87
|
+
color: #555
|
88
|
+
&:before
|
89
|
+
content: "\2014 \0020"
|
90
|
+
a
|
91
|
+
color: #555
|
92
|
+
&:visited
|
93
|
+
color: #555
|
94
|
+
|
95
|
+
input
|
96
|
+
&[type='text'], &[type='checkbox'], &[type='radio'], &.type_text, &.type_checkbox, &.type_radio
|
97
|
+
background: none
|
98
|
+
|
99
|
+
input
|
100
|
+
&[type='checkbox'], &[type='radio'], &.type_checkbox, &.type_radio
|
101
|
+
border: 0
|
102
|
+
|
103
|
+
|
104
|
+
img.scale
|
105
|
+
max-width: 100%
|
106
|
+
height: auto
|
107
|
+
|
108
|
+
hr
|
109
|
+
height: 1px
|
110
|
+
padding: 0
|
111
|
+
margin: 10px 0
|
112
|
+
color: #c4c4c4
|
113
|
+
background-color: #c4c4c4
|
114
|
+
border: 0
|
115
|
+
|
116
|
+
input[type='text'], input[type='password'], .type_text, .type_password
|
117
|
+
color: #444
|
118
|
+
border: 1px solid #ccc
|
119
|
+
padding: 2px
|
120
|
+
background: #fff
|
121
|
+
+border-radius(2px)
|
122
|
+
&:focus
|
123
|
+
color: inherit
|
124
|
+
border: 1px solid #aaa
|
125
|
+
+box-shadow(#eee 1px 1px 0)
|
126
|
+
|
127
|
+
a.button, button, input[type='submit'], input[type='reset'], input[type='button'], .type_submit, .type_reset, .type_button
|
128
|
+
color: #444
|
129
|
+
border: 1px solid #aaa
|
130
|
+
border-top: 1px solid #ccc
|
131
|
+
border-left: 1px solid #ccc
|
132
|
+
padding: 2px 5px
|
133
|
+
display: inline-block
|
134
|
+
font-size: 0.85em
|
135
|
+
cursor: pointer
|
136
|
+
margin-bottom: 16px
|
137
|
+
line-height: 15px
|
138
|
+
background: #eee
|
139
|
+
+border-radius(3px)
|
140
|
+
+text-shadow(rgba(255, 255, 255, 0.75) 0 1px)
|
141
|
+
+gradient(#f7f7f7, #dddddd)
|
142
|
+
|
143
|
+
&:hover
|
144
|
+
color: #fcfcfc
|
145
|
+
background: #5499d8
|
146
|
+
padding: 2px 5px
|
147
|
+
border: 1px solid #888
|
148
|
+
border-top: 1px solid #aaa
|
149
|
+
border-left: 1px solid #aaa
|
150
|
+
+text-shadow(none)
|
151
|
+
+gradient(#5499d8, #2d7dc5)
|
152
|
+
|
153
|
+
&:active
|
154
|
+
color: #fff
|
155
|
+
background: #2d7dc5
|
156
|
+
padding: 2px 5px
|
157
|
+
border: 1px solid #888
|
158
|
+
border-bottom: 1px solid #aaa
|
159
|
+
border-right: 1px solid #aaa
|
160
|
+
+text-shadow(none)
|
161
|
+
+gradient(#2d7dc5, #5499d8)
|
162
|
+
+pressedEffect
|
163
|
+
|
164
|
+
textarea, textarea:hover, textarea:focus, textarea:active
|
165
|
+
background: #fff
|
166
|
+
border: 1px solid #e5e5e5
|
167
|
+
|
168
|
+
textarea, select
|
169
|
+
color: inherit
|
170
|
+
border: 1px solid #ccc
|
171
|
+
width: 210px
|
172
|
+
max-width: 100%
|
173
|
+
display: block
|
174
|
+
margin-bottom: 20px
|
175
|
+
background: #fff
|
176
|
+
+border-radius(2px)
|
177
|
+
&:focus
|
178
|
+
border: 1px solid #aaa
|
179
|
+
+box-shadow(#eee 2px 2px 0)
|
180
|
+
|
181
|
+
textarea
|
182
|
+
padding: 6px 4px
|
183
|
+
|
184
|
+
\::-moz-selection
|
185
|
+
background: #2d7dc5
|
186
|
+
color: #fff
|
187
|
+
+text-shadow(none)
|
188
|
+
|
189
|
+
\::selection
|
190
|
+
background: #00bbff
|
191
|
+
color: #fff
|
192
|
+
+text-shadow(none)
|
193
|
+
|
@@ -0,0 +1,217 @@
|
|
1
|
+
// HTML5 ✰ BOILERPLATE
|
2
|
+
|
3
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video
|
4
|
+
margin: 0
|
5
|
+
padding: 0
|
6
|
+
border: 0
|
7
|
+
font-size: 100%
|
8
|
+
font: inherit
|
9
|
+
vertical-align: baseline
|
10
|
+
|
11
|
+
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
|
12
|
+
display: block
|
13
|
+
|
14
|
+
html
|
15
|
+
overflow-y: scroll
|
16
|
+
|
17
|
+
blockquote, q
|
18
|
+
quotes: none
|
19
|
+
|
20
|
+
blockquote
|
21
|
+
&:before, &:after
|
22
|
+
content: ""
|
23
|
+
content: none
|
24
|
+
|
25
|
+
q
|
26
|
+
&:before, &:after
|
27
|
+
content: ""
|
28
|
+
content: none
|
29
|
+
|
30
|
+
ins
|
31
|
+
text-decoration: none
|
32
|
+
|
33
|
+
del
|
34
|
+
text-decoration: line-through
|
35
|
+
|
36
|
+
abbr[title], dfn[title]
|
37
|
+
border: 0
|
38
|
+
cursor: help
|
39
|
+
|
40
|
+
table
|
41
|
+
border-collapse: collapse
|
42
|
+
border-spacing: 0
|
43
|
+
|
44
|
+
hr
|
45
|
+
display: block
|
46
|
+
background: none
|
47
|
+
height: 0px
|
48
|
+
border: 0
|
49
|
+
margin: 0
|
50
|
+
padding: 0
|
51
|
+
|
52
|
+
input, select
|
53
|
+
vertical-align: middle
|
54
|
+
|
55
|
+
select, input, textarea, button
|
56
|
+
font-size: 99%
|
57
|
+
|
58
|
+
pre, code, kbd, samp
|
59
|
+
font-family: monospace, sans-serif
|
60
|
+
|
61
|
+
a
|
62
|
+
&:hover, &:active
|
63
|
+
outline: none
|
64
|
+
|
65
|
+
ol
|
66
|
+
list-style-type: decimal
|
67
|
+
|
68
|
+
ul, li
|
69
|
+
margin: 0
|
70
|
+
list-style: none
|
71
|
+
list-style-image: none
|
72
|
+
|
73
|
+
small
|
74
|
+
font-size: 85%
|
75
|
+
|
76
|
+
strong, th
|
77
|
+
font-weight: bold
|
78
|
+
|
79
|
+
td, th
|
80
|
+
vertical-align: top
|
81
|
+
text-align: left
|
82
|
+
|
83
|
+
sub
|
84
|
+
font-size: 75%
|
85
|
+
line-height: 0
|
86
|
+
position: relative
|
87
|
+
|
88
|
+
sup
|
89
|
+
font-size: 75%
|
90
|
+
line-height: 0
|
91
|
+
position: relative
|
92
|
+
top: -0.5em
|
93
|
+
|
94
|
+
sub
|
95
|
+
bottom: -0.25em
|
96
|
+
|
97
|
+
pre
|
98
|
+
white-space: pre
|
99
|
+
white-space: pre-wrap
|
100
|
+
word-wrap: break-word
|
101
|
+
padding: 15px
|
102
|
+
|
103
|
+
address
|
104
|
+
font-style: normal
|
105
|
+
|
106
|
+
textarea
|
107
|
+
overflow: auto
|
108
|
+
resize: none
|
109
|
+
|
110
|
+
// Chrome blue glow :
|
111
|
+
select, option, input, textarea, select:focus
|
112
|
+
outline: none
|
113
|
+
font-size: 1em
|
114
|
+
|
115
|
+
input
|
116
|
+
&[type="radio"]
|
117
|
+
vertical-align: text-bottom
|
118
|
+
&[type="checkbox"]
|
119
|
+
vertical-align: bottom
|
120
|
+
|
121
|
+
label
|
122
|
+
cursor: text
|
123
|
+
|
124
|
+
input
|
125
|
+
&[type="button"], &[type="submit"], &[type="image"], &[type="reset"]
|
126
|
+
cursor: pointer
|
127
|
+
|
128
|
+
button
|
129
|
+
cursor: pointer
|
130
|
+
|
131
|
+
input, button, textarea
|
132
|
+
padding: 0
|
133
|
+
border: 0
|
134
|
+
margin: 0
|
135
|
+
background: transparent
|
136
|
+
font: inherit
|
137
|
+
|
138
|
+
// Firefox bug
|
139
|
+
caption
|
140
|
+
text-align: left
|
141
|
+
|
142
|
+
h1, h2, h3, h4, h5, h6, strong, th
|
143
|
+
font-weight: normal
|
144
|
+
font-size: 1em
|
145
|
+
|
146
|
+
button
|
147
|
+
width: auto
|
148
|
+
cursor: pointer
|
149
|
+
overflow: visible
|
150
|
+
|
151
|
+
// ----------[ IE WORLD ]-------------------
|
152
|
+
.ie6 legend, .ie7 legend
|
153
|
+
margin-left: -7px
|
154
|
+
|
155
|
+
.ie7 img
|
156
|
+
-ms-interpolation-mode: bicubic
|
157
|
+
|
158
|
+
.ie7 input[type="checkbox"]
|
159
|
+
vertical-align: baseline
|
160
|
+
|
161
|
+
.ie6 input
|
162
|
+
vertical-align: text-bottom
|
163
|
+
|
164
|
+
// ----------[ HELPERS ]-----------
|
165
|
+
.unselectable
|
166
|
+
-moz-user-select: -moz-none
|
167
|
+
-khtml-user-select: none
|
168
|
+
-webkit-user-select: none
|
169
|
+
user-select: none
|
170
|
+
|
171
|
+
.ir
|
172
|
+
display: block
|
173
|
+
text-indent: -999em
|
174
|
+
overflow: hidden
|
175
|
+
background-repeat: no-repeat
|
176
|
+
text-align: left
|
177
|
+
direction: ltr
|
178
|
+
|
179
|
+
.hidden
|
180
|
+
display: none
|
181
|
+
visibility: hidden
|
182
|
+
|
183
|
+
.visuallyhidden
|
184
|
+
border: 0
|
185
|
+
clip: rect(0 0 0 0)
|
186
|
+
height: 1px
|
187
|
+
margin: -1px
|
188
|
+
overflow: hidden
|
189
|
+
padding: 0
|
190
|
+
position: absolute
|
191
|
+
width: 1px
|
192
|
+
&.focusable
|
193
|
+
&:active, &:focus
|
194
|
+
clip: auto
|
195
|
+
height: auto
|
196
|
+
margin: 0
|
197
|
+
overflow: visible
|
198
|
+
position: static
|
199
|
+
width: auto
|
200
|
+
|
201
|
+
.invisible
|
202
|
+
visibility: hidden
|
203
|
+
|
204
|
+
.cf
|
205
|
+
clear: both
|
206
|
+
zoom: 1
|
207
|
+
&:before
|
208
|
+
content: "\0020"
|
209
|
+
display: block
|
210
|
+
height: 0
|
211
|
+
overflow: hidden
|
212
|
+
&:after
|
213
|
+
content: "\0020"
|
214
|
+
display: block
|
215
|
+
height: 0
|
216
|
+
overflow: hidden
|
217
|
+
clear: both
|