compass_extension 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/app/helpers/html5_boilerplate_helper.rb +63 -0
- data/lib/compass/h5bp/version.rb +6 -0
- data/lib/compass/h5bp.rb +7 -0
- data/lib/compass_extension.rb +9 -0
- data/stylesheets/_h5bp.scss +12 -0
- data/stylesheets/h5bp/_chromeframe.scss +7 -0
- data/stylesheets/h5bp/_helpers.scss +58 -0
- data/stylesheets/h5bp/_media.scss +23 -0
- data/stylesheets/h5bp/_normalize.scss +213 -0
- data/templates/project/_flashes.html.haml +4 -0
- data/templates/project/_footer.html.haml +2 -0
- data/templates/project/_head.html.haml +29 -0
- data/templates/project/_header.html.haml +1 -0
- data/templates/project/_javascripts.html.haml +37 -0
- data/templates/project/_stylesheets.html.haml +5 -0
- data/templates/project/application.html.haml +22 -0
- data/templates/project/files/404.html +38 -0
- data/templates/project/files/apple-touch-icon-114x114-precomposed.png +0 -0
- data/templates/project/files/apple-touch-icon-57x57-precomposed.png +0 -0
- data/templates/project/files/apple-touch-icon-72x72-precomposed.png +0 -0
- data/templates/project/files/apple-touch-icon-precomposed.png +0 -0
- data/templates/project/files/apple-touch-icon.png +0 -0
- data/templates/project/files/crossdomain.xml +25 -0
- data/templates/project/files/favicon.ico +0 -0
- data/templates/project/files/favicon.png +0 -0
- data/templates/project/files/google.yml +22 -0
- data/templates/project/files/humans.txt +43 -0
- data/templates/project/files/robots.txt +5 -0
- data/templates/project/index.html.haml +83 -0
- data/templates/project/javascripts/jquery-1.7.2.js +9404 -0
- data/templates/project/javascripts/jquery-1.7.2.min.js +4 -0
- data/templates/project/javascripts/jquery-ui-1.8.22.min.js +85 -0
- data/templates/project/javascripts/modernizr-2.5.3.min.js +4 -0
- data/templates/project/javascripts/plugins.js +105 -0
- data/templates/project/javascripts/rails.js +368 -0
- data/templates/project/javascripts/respond.min.js +6 -0
- data/templates/project/javascripts/script.js +26 -0
- data/templates/project/manifest.rb +83 -2
- data/templates/project/partials/SCSS_template.scss +83 -0
- data/templates/project/partials/_base.scss +198 -0
- data/templates/project/partials/_fonts.scss +4 -0
- data/templates/project/partials/_footer.scss +83 -0
- data/templates/project/partials/_header.scss +83 -0
- data/templates/project/partials/_media.scss +38 -0
- data/templates/project/partials/_modules.scss +19 -0
- data/templates/project/partials/_overrides.scss +47 -0
- data/templates/project/partials/_page.scss +126 -0
- data/templates/project/partials/modules/_mod-breadcrumb.scss +83 -0
- data/templates/project/partials/modules/_mod-carousels.scss +83 -0
- data/templates/project/partials/modules/_mod-default.scss +83 -0
- data/templates/project/partials/modules/_mod-form.scss +83 -0
- data/templates/project/partials/modules/_mod-login.scss +83 -0
- data/templates/project/partials/modules/_mod-pagination.scss +83 -0
- data/templates/project/partials/modules/_mod-subnav.scss +83 -0
- data/templates/project/partials/modules/_mod-widget.scss +83 -0
- data/templates/project/style.scss +28 -0
- metadata +56 -3
- data/templates/project/screen.scss +0 -2
@@ -0,0 +1,63 @@
|
|
1
|
+
module Html5BoilerplateHelper
|
2
|
+
# Create a named haml tag to wrap IE conditional around a block
|
3
|
+
# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
4
|
+
# Consider adding an manifest.appcache: h5bp.com/d/Offline
|
5
|
+
def ie_tag(name=:body, attrs={}, &block)
|
6
|
+
attrs.symbolize_keys!
|
7
|
+
haml_concat("<!--[if lt IE 7]> #{ tag(name, add_class('ie6', attrs), true) } <![endif]-->".html_safe)
|
8
|
+
haml_concat("<!--[if IE 7]> #{ tag(name, add_class('ie7', attrs), true) } <![endif]-->".html_safe)
|
9
|
+
haml_concat("<!--[if IE 8]> #{ tag(name, add_class('ie8', attrs), true) } <![endif]-->".html_safe)
|
10
|
+
haml_concat("<!--[if gt IE 8]><!-->".html_safe)
|
11
|
+
haml_tag name, attrs do
|
12
|
+
haml_concat("<!--<![endif]-->".html_safe)
|
13
|
+
block.call
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def ie_html(attrs={}, &block)
|
18
|
+
ie_tag(:html, attrs, &block)
|
19
|
+
end
|
20
|
+
|
21
|
+
def ie_body(attrs={}, &block)
|
22
|
+
ie_tag(:body, attrs, &block)
|
23
|
+
end
|
24
|
+
|
25
|
+
def google_account_id
|
26
|
+
ENV['GOOGLE_ACCOUNT_ID'] || google_config(:google_account_id)
|
27
|
+
end
|
28
|
+
|
29
|
+
def google_api_key
|
30
|
+
ENV['GOOGLE_API_KEY'] || google_config(:google_api_key)
|
31
|
+
end
|
32
|
+
|
33
|
+
def remote_jquery(version)
|
34
|
+
if Rails.env == 'development'
|
35
|
+
"'jquery', '#{version}', {uncompressed:true}"
|
36
|
+
else
|
37
|
+
"'jquery', '#{version}'"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def local_jquery(version)
|
42
|
+
if Rails.env == 'development'
|
43
|
+
"#{version}/jquery.js"
|
44
|
+
else
|
45
|
+
"#{version}/jquery.min.js"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def add_class(name, attrs)
|
52
|
+
classes = attrs[:class] || ''
|
53
|
+
classes.strip!
|
54
|
+
classes = ' ' + classes if !classes.blank?
|
55
|
+
classes = name + classes
|
56
|
+
attrs.merge(:class => classes)
|
57
|
+
end
|
58
|
+
|
59
|
+
def google_config(key)
|
60
|
+
configs = YAML.load_file(File.join(Rails.root, 'config', 'google.yml'))[Rails.env.to_sym] rescue {}
|
61
|
+
configs[key]
|
62
|
+
end
|
63
|
+
end
|
data/lib/compass/h5bp.rb
ADDED
data/lib/compass_extension.rb
CHANGED
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'compass'
|
2
|
+
require "compass/h5bp"
|
3
|
+
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
+
Compass::Frameworks.register('compass_extension', :path => "#{File.dirname(__FILE__)}/..") if defined?(Compass)
|
5
|
+
|
6
|
+
if defined?(ActionController)
|
7
|
+
require File.join(File.dirname(__FILE__), 'app', 'helpers', 'html5_boilerplate_helper')
|
8
|
+
ActionController::Base.helper(Html5BoilerplateHelper)
|
9
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// HTML5 ✰ Boilerplate
|
2
|
+
//
|
3
|
+
// What follows is the result of much research on cross-browser styling.
|
4
|
+
// Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
|
5
|
+
// Kroc Camen, and the H5BP dev community and team.
|
6
|
+
//
|
7
|
+
// Detailed information about this CSS: h5bp.com/css
|
8
|
+
|
9
|
+
@import "h5bp/normalize";
|
10
|
+
@import "h5bp/chromeframe";
|
11
|
+
@import "h5bp/helpers";
|
12
|
+
@import "h5bp/media";
|
@@ -0,0 +1,58 @@
|
|
1
|
+
//
|
2
|
+
// Non-semantic helper classes
|
3
|
+
//
|
4
|
+
|
5
|
+
@mixin h5bp-helpers {
|
6
|
+
|
7
|
+
.ir { @include image-replacement; }
|
8
|
+
|
9
|
+
.hidden { @include hidden; }
|
10
|
+
|
11
|
+
.visuallyhidden { @include visually-hidden; }
|
12
|
+
|
13
|
+
.invisible { @include invisible; }
|
14
|
+
|
15
|
+
.clearfix { @include micro-clearfix; }
|
16
|
+
|
17
|
+
}
|
18
|
+
|
19
|
+
// For image replacement
|
20
|
+
@mixin image-replacement($img: none, $x: 50%, $y: 50%) {
|
21
|
+
display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0;
|
22
|
+
@if $img != none {
|
23
|
+
background-image: image-url($img);
|
24
|
+
background-position: $x $y;
|
25
|
+
}
|
26
|
+
br { display: none; }
|
27
|
+
}
|
28
|
+
|
29
|
+
// Uses image dimensions
|
30
|
+
@mixin sized-image-replacement($img, $x: 50%, $y: 50%) {
|
31
|
+
@include image-replacement($img, $x, $y);
|
32
|
+
width: image-width($img);
|
33
|
+
height: image-height($img);
|
34
|
+
}
|
35
|
+
|
36
|
+
// Hide from both screenreaders and browsers: h5bp.com/u
|
37
|
+
@mixin hidden {
|
38
|
+
display: none !important;
|
39
|
+
visibility: hidden;
|
40
|
+
}
|
41
|
+
|
42
|
+
// Hide only visually, but have it available for screenreaders: h5bp.com/v
|
43
|
+
@mixin visually-hidden {
|
44
|
+
border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
|
45
|
+
&.focusable:active, &.focusable:focus {
|
46
|
+
clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
// Hide visually and from screenreaders, but maintain layout
|
51
|
+
@mixin invisible { visibility: hidden; }
|
52
|
+
|
53
|
+
// Contain floats: h5bp.com/q
|
54
|
+
@mixin micro-clearfix {
|
55
|
+
&:before, &:after { content: ""; display: table; }
|
56
|
+
&:after { clear: both; }
|
57
|
+
& { *zoom: 1; }
|
58
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
// Print styles
|
2
|
+
// Inlined to avoid required HTTP connection: h5bp.com/r
|
3
|
+
|
4
|
+
@mixin h5bp-media {
|
5
|
+
@media print {
|
6
|
+
@include h5bp-media-print;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
@mixin h5bp-media-print {
|
11
|
+
* { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } // Black prints faster: h5bp.com/s
|
12
|
+
a, a:visited { text-decoration: underline; }
|
13
|
+
a[href]:after { content: " (" attr(href) ")"; }
|
14
|
+
abbr[title]:after { content: " (" attr(title) ")"; }
|
15
|
+
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } // Don't show links for images, or javascript/internal links
|
16
|
+
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
17
|
+
thead { display: table-header-group; } // h5bp.com/t
|
18
|
+
tr, img { page-break-inside: avoid; }
|
19
|
+
img { max-width: 100% !important; }
|
20
|
+
@page { margin: 0.5cm; }
|
21
|
+
p, h2, h3 { orphans: 3; widows: 3; }
|
22
|
+
h2, h3 { page-break-after: avoid; }
|
23
|
+
}
|
@@ -0,0 +1,213 @@
|
|
1
|
+
//
|
2
|
+
// Normalize
|
3
|
+
//
|
4
|
+
|
5
|
+
$line-height: 1.4 !default;
|
6
|
+
$font-color: #222 !default;
|
7
|
+
$font-family: sans-serif !default;
|
8
|
+
$font-size: 1em !default;
|
9
|
+
$link-color: #00e !default;
|
10
|
+
$link-hover-color: #06e !default;
|
11
|
+
$link-visited-color: #551a8b !default;
|
12
|
+
$selected-font-color: #fff !default;
|
13
|
+
$selected-background-color: #fe57a1 !default;
|
14
|
+
$invalid-background-color: #f0dddd !default;
|
15
|
+
|
16
|
+
|
17
|
+
@mixin h5bp-normalize {
|
18
|
+
@include h5bp-display;
|
19
|
+
@include h5bp-base;
|
20
|
+
@include h5bp-selection;
|
21
|
+
@include h5bp-links;
|
22
|
+
@include h5bp-typography;
|
23
|
+
@include h5bp-lists;
|
24
|
+
@include h5bp-embeds;
|
25
|
+
@include h5bp-figures;
|
26
|
+
@include h5bp-forms;
|
27
|
+
@include h5bp-tables;
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
// Html5 display definitions
|
32
|
+
@mixin h5bp-display {
|
33
|
+
|
34
|
+
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
35
|
+
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
36
|
+
audio:not([controls]) { display: none; }
|
37
|
+
[hidden] { display: none; }
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
// Base
|
43
|
+
@mixin h5bp-base {
|
44
|
+
|
45
|
+
// 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
46
|
+
// 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
|
47
|
+
|
48
|
+
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
|
49
|
+
|
50
|
+
html, button, input, select, textarea { font-family: $font-family; color: $font-color; }
|
51
|
+
|
52
|
+
body { margin: 0; font-size: $font-size; line-height: $line-height; }
|
53
|
+
|
54
|
+
}
|
55
|
+
|
56
|
+
@mixin h5bp-selection {
|
57
|
+
|
58
|
+
// Remove text-shadow in selection highlight: h5bp.com/i
|
59
|
+
// These selection declarations have to be separate
|
60
|
+
// Also: hot pink! (or customize the background color to match your design)
|
61
|
+
|
62
|
+
::-moz-selection { background: $selected-background-color; color: $selected-font-color; text-shadow: none; }
|
63
|
+
::selection { background: $selected-background-color; color: $selected-font-color; text-shadow: none; }
|
64
|
+
|
65
|
+
}
|
66
|
+
|
67
|
+
|
68
|
+
// Links
|
69
|
+
@mixin h5bp-links {
|
70
|
+
|
71
|
+
a { color: $link-color; }
|
72
|
+
a:visited { color: $link-visited-color; }
|
73
|
+
a:hover { color: $link-hover-color; }
|
74
|
+
a:focus { outline: thin dotted; }
|
75
|
+
|
76
|
+
// Improve readability when focused and hovered in all browsers: h5bp.com/h
|
77
|
+
a:hover, a:active { outline: 0; }
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
// Typography
|
83
|
+
@mixin h5bp-typography {
|
84
|
+
|
85
|
+
abbr[title] { border-bottom: 1px dotted; }
|
86
|
+
|
87
|
+
b, strong { font-weight: bold; }
|
88
|
+
|
89
|
+
blockquote { margin: 1em 40px; }
|
90
|
+
|
91
|
+
dfn { font-style: italic; }
|
92
|
+
|
93
|
+
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
|
94
|
+
|
95
|
+
ins { background: #ff9; color: #000; text-decoration: none; }
|
96
|
+
|
97
|
+
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
|
98
|
+
|
99
|
+
// Redeclare monospace font family: h5bp.com/j
|
100
|
+
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
|
101
|
+
|
102
|
+
// Improve readability of pre-formatted text in all browsers
|
103
|
+
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
|
104
|
+
|
105
|
+
q { quotes: none; }
|
106
|
+
q:before, q:after { content: ""; content: none; }
|
107
|
+
|
108
|
+
small { font-size: 85%; }
|
109
|
+
|
110
|
+
// Position subscript and superscript content without affecting line-height: h5bp.com/k
|
111
|
+
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
112
|
+
sup { top: -0.5em; }
|
113
|
+
sub { bottom: -0.25em; }
|
114
|
+
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
// Lists
|
119
|
+
@mixin h5bp-lists {
|
120
|
+
|
121
|
+
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
|
122
|
+
dd { margin: 0 0 0 40px; }
|
123
|
+
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
|
124
|
+
|
125
|
+
}
|
126
|
+
|
127
|
+
|
128
|
+
// Embedded content
|
129
|
+
@mixin h5bp-embeds {
|
130
|
+
|
131
|
+
// 1. Improve image quality when scaled in IE7: h5bp.com/d
|
132
|
+
// 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
|
133
|
+
|
134
|
+
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
|
135
|
+
|
136
|
+
// Correct overflow not hidden in IE9
|
137
|
+
|
138
|
+
svg:not(:root) { overflow: hidden; }
|
139
|
+
|
140
|
+
}
|
141
|
+
|
142
|
+
|
143
|
+
// Figures
|
144
|
+
@mixin h5bp-figures {
|
145
|
+
|
146
|
+
figure { margin: 0; }
|
147
|
+
|
148
|
+
}
|
149
|
+
|
150
|
+
|
151
|
+
// Forms
|
152
|
+
@mixin h5bp-forms {
|
153
|
+
|
154
|
+
form { margin: 0; }
|
155
|
+
fieldset { border: 0; margin: 0; padding: 0; }
|
156
|
+
|
157
|
+
// Indicate that 'label' will shift focus to the associated form element
|
158
|
+
label { cursor: pointer; }
|
159
|
+
|
160
|
+
// 1. Correct color not inheriting in IE6/7/8/9
|
161
|
+
// 2. Correct alignment displayed oddly in IE6/7
|
162
|
+
|
163
|
+
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
|
164
|
+
|
165
|
+
// 1. Correct font-size not inheriting in all browsers
|
166
|
+
// 2. Remove margins in FF3/4 S5 Chrome
|
167
|
+
// 3. Define consistent vertical alignment display in all browsers
|
168
|
+
|
169
|
+
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
|
170
|
+
|
171
|
+
// 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
|
172
|
+
|
173
|
+
button, input { line-height: normal; }
|
174
|
+
|
175
|
+
// 1. Display hand cursor for clickable form elements
|
176
|
+
// 2. Allow styling of clickable form elements in iOS
|
177
|
+
// 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
|
178
|
+
|
179
|
+
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
|
180
|
+
|
181
|
+
// Re-set default cursor for disabled elements
|
182
|
+
|
183
|
+
button[disabled], input[disabled] { cursor: default; }
|
184
|
+
|
185
|
+
// Consistent box sizing and appearance
|
186
|
+
|
187
|
+
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
|
188
|
+
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
|
189
|
+
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
|
190
|
+
|
191
|
+
// Remove inner padding and border in FF3/4: h5bp.com/l
|
192
|
+
|
193
|
+
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
194
|
+
|
195
|
+
// 1. Remove default vertical scrollbar in IE6/7/8/9
|
196
|
+
// 2. Allow only vertical resizing
|
197
|
+
|
198
|
+
textarea { overflow: auto; vertical-align: top; resize: vertical; }
|
199
|
+
|
200
|
+
// Colors for form validity
|
201
|
+
input:valid, textarea:valid { }
|
202
|
+
input:invalid, textarea:invalid { background-color: $invalid-background-color; }
|
203
|
+
|
204
|
+
}
|
205
|
+
|
206
|
+
|
207
|
+
// Tables
|
208
|
+
@mixin h5bp-tables {
|
209
|
+
|
210
|
+
table { border-collapse: collapse; border-spacing: 0; }
|
211
|
+
td { vertical-align: top; }
|
212
|
+
|
213
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
%meta{ :charset => "utf-8" }/
|
2
|
+
|
3
|
+
-#
|
4
|
+
Use the .htaccess and remove these lines to avoid edge case issues.
|
5
|
+
More info: h5bp.com/b/378
|
6
|
+
%meta{ "http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1" }/
|
7
|
+
|
8
|
+
%title
|
9
|
+
== #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
|
10
|
+
|
11
|
+
%meta{ :name => "description", :content => "" }/
|
12
|
+
%meta{ :name => "author", :content => "" }/
|
13
|
+
|
14
|
+
-# Mobile viewport optimized: j.mp/bplateviewport
|
15
|
+
%meta{ :name => "viewport", :content => "width=device-width, initial-scale=1.0" }/
|
16
|
+
|
17
|
+
-# Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons
|
18
|
+
|
19
|
+
-# Pass in a stylesheet_partial to render inside your head
|
20
|
+
- if local_assigns[:stylesheet_partial]
|
21
|
+
= render :partial => local_assigns[:stylesheet_partial]
|
22
|
+
|
23
|
+
-#
|
24
|
+
All JavaScript at the bottom, except for Modernizr / Respond.
|
25
|
+
Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries
|
26
|
+
For optimal performance, use a custom Modernizr build: www.modernizr.com/download/
|
27
|
+
= javascript_include_tag 'modernizr.min'
|
28
|
+
|
29
|
+
= csrf_meta_tag
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 Header
|
@@ -0,0 +1,37 @@
|
|
1
|
+
-# Grab Google CDN's jQuery, with a protocol relative URL
|
2
|
+
-# Looks for google_api_key first in ENV['GOOGLE_API_KEY'] then in config/google.yml
|
3
|
+
-# remote_jquery and local_jquery helpers use minified jquery unless Rails.env is development
|
4
|
+
- if !google_api_key.blank?
|
5
|
+
= javascript_include_tag "//www.google.com/jsapi?key=#{google_api_key}"
|
6
|
+
%script
|
7
|
+
google.load(#{ remote_jquery("1.7.2") });
|
8
|
+
- else
|
9
|
+
= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.7.2") }"
|
10
|
+
|
11
|
+
-# fall back to local jQuery if necessary
|
12
|
+
%script
|
13
|
+
window.jQuery || document.write("<script src='/javascripts/jquery.min.js'>\x3C/script>")
|
14
|
+
|
15
|
+
= javascript_include_tag 'rails', 'plugins', 'application'
|
16
|
+
|
17
|
+
-# Append your own using content_for :javascripts
|
18
|
+
= yield :javascripts
|
19
|
+
|
20
|
+
-# asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet
|
21
|
+
-# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/google.yml
|
22
|
+
- if !google_account_id.blank?
|
23
|
+
%script
|
24
|
+
var _gaq=[["_setAccount","#{google_account_id}"],["_trackPageview"],["_trackPageLoadTime"]];
|
25
|
+
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
|
26
|
+
g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
|
27
|
+
s.parentNode.insertBefore(g,s)}(document,"script"));
|
28
|
+
|
29
|
+
-#
|
30
|
+
Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
|
31
|
+
chromium.org/developers/how-tos/chrome-frame-getting-started
|
32
|
+
|
33
|
+
<!--[if lt IE 7]>
|
34
|
+
%script{ :src => "//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js" }
|
35
|
+
%script
|
36
|
+
window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
|
37
|
+
<![endif]-->
|
@@ -0,0 +1,22 @@
|
|
1
|
+
!!! 5
|
2
|
+
-# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
3
|
+
-ie_html :class => 'no-js oldie', :lang => 'en' do
|
4
|
+
%head
|
5
|
+
-# To render a different stylesheet partial inside the head (i.e. for admin layout)
|
6
|
+
-# just copy _stylesheets.html.haml, and point to that partial instead.
|
7
|
+
= render "layouts/head", :stylesheet_partial => "layouts/stylesheets"
|
8
|
+
|
9
|
+
%body{ :class => "#{controller.controller_name}" }
|
10
|
+
#container
|
11
|
+
%header#header
|
12
|
+
= render "layouts/header"
|
13
|
+
|
14
|
+
#main{ :role => 'main' }
|
15
|
+
= render "layouts/flashes"
|
16
|
+
= yield
|
17
|
+
|
18
|
+
%footer#footer
|
19
|
+
= render "layouts/footer"
|
20
|
+
|
21
|
+
-# Javascript at the bottom for fast page loading
|
22
|
+
= render "layouts/javascripts"
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Page Not Found :(</title>
|
6
|
+
<style>
|
7
|
+
body { text-align: center;}
|
8
|
+
h1 { font-size: 50px; text-align: center }
|
9
|
+
span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
|
10
|
+
body { font: 20px Constantia, 'Hoefler Text', "Adobe Caslon Pro", Baskerville, Georgia, Times, serif; color: #999; text-shadow: 2px 2px 2px rgba(200, 200, 200, 0.5); }
|
11
|
+
::-moz-selection{ background:#FF5E99; color:#fff; }
|
12
|
+
::selection { background:#FF5E99; color:#fff; }
|
13
|
+
article {display:block; text-align: left; width: 500px; margin: 0 auto; }
|
14
|
+
|
15
|
+
a { color: rgb(36, 109, 56); text-decoration:none; }
|
16
|
+
a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<article>
|
21
|
+
<h1>Not found <span frown>:(</span></h1>
|
22
|
+
<div>
|
23
|
+
<p>Sorry, but the page you were trying to view does not exist.</p>
|
24
|
+
<p>It looks like this was the result of either:</p>
|
25
|
+
<ul>
|
26
|
+
<li>a mistyped address</li>
|
27
|
+
<li>an out-of-date link</li>
|
28
|
+
</ul>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<script>
|
32
|
+
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),
|
33
|
+
GOOG_FIXURL_SITE = location.host;
|
34
|
+
</script>
|
35
|
+
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
|
36
|
+
</article>
|
37
|
+
</body>
|
38
|
+
</html>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
|
3
|
+
<cross-domain-policy>
|
4
|
+
|
5
|
+
|
6
|
+
<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->
|
7
|
+
|
8
|
+
<!-- Most restrictive policy: -->
|
9
|
+
<site-control permitted-cross-domain-policies="none"/>
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<!-- Least restrictive policy: -->
|
14
|
+
<!--
|
15
|
+
<site-control permitted-cross-domain-policies="all"/>
|
16
|
+
<allow-access-from domain="*" to-ports="*" secure="false"/>
|
17
|
+
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
|
18
|
+
-->
|
19
|
+
<!--
|
20
|
+
If you host a crossdomain.xml file with allow-access-from domain="*"
|
21
|
+
and don’t understand all of the points described here, you probably
|
22
|
+
have a nasty security vulnerability. ~ simon willison
|
23
|
+
-->
|
24
|
+
|
25
|
+
</cross-domain-policy>
|
Binary file
|
Binary file
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Html5BoilerplateHelper will first check your ENV and
|
2
|
+
# then this yml file for these values. If they are both
|
3
|
+
# empty, the google code block will not be used.
|
4
|
+
#
|
5
|
+
# e.g. ENV['GOOGLE_ACCOUNT_ID'] || yml[:google_account_id]
|
6
|
+
# e.g. ENV['GOOGLE_API_KEY'] || yml[:google_api_key]
|
7
|
+
#
|
8
|
+
defaults: &defaults
|
9
|
+
:google_account_id: ''
|
10
|
+
:google_api_key: ''
|
11
|
+
|
12
|
+
:development:
|
13
|
+
<<: *defaults
|
14
|
+
|
15
|
+
:test:
|
16
|
+
<<: *defaults
|
17
|
+
|
18
|
+
:staging:
|
19
|
+
<<: *defaults
|
20
|
+
|
21
|
+
:production:
|
22
|
+
<<: *defaults
|
@@ -0,0 +1,43 @@
|
|
1
|
+
/* the humans responsible & colophon */
|
2
|
+
/* humanstxt.org */
|
3
|
+
|
4
|
+
|
5
|
+
/* TEAM */
|
6
|
+
<your title>: <your name>
|
7
|
+
Site:
|
8
|
+
Twitter:
|
9
|
+
Location:
|
10
|
+
|
11
|
+
/* THANKS */
|
12
|
+
Names (& URL):
|
13
|
+
|
14
|
+
/* SITE */
|
15
|
+
Standards: HTML5, CSS3
|
16
|
+
Components: Modernizr, jQuery
|
17
|
+
Software:
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
-o/-
|
22
|
+
+oo//-
|
23
|
+
:ooo+//:
|
24
|
+
-ooooo///-
|
25
|
+
/oooooo//:
|
26
|
+
:ooooooo+//-
|
27
|
+
-+oooooooo///-
|
28
|
+
-://////////////+oooooooooo++////////////::
|
29
|
+
:+ooooooooooooooooooooooooooooooooooooo+:::-
|
30
|
+
-/+ooooooooooooooooooooooooooooooo+/::////:-
|
31
|
+
-:+oooooooooooooooooooooooooooo/::///////:-
|
32
|
+
--/+ooooooooooooooooooooo+::://////:-
|
33
|
+
-:+ooooooooooooooooo+:://////:--
|
34
|
+
/ooooooooooooooooo+//////:-
|
35
|
+
-ooooooooooooooooooo////-
|
36
|
+
/ooooooooo+oooooooooo//:
|
37
|
+
:ooooooo+/::/+oooooooo+//-
|
38
|
+
-oooooo/::///////+oooooo///-
|
39
|
+
/ooo+::://////:---:/+oooo//:
|
40
|
+
-o+/::///////:- -:/+o+//-
|
41
|
+
:-:///////:- -:/://
|
42
|
+
-////:- --//:
|
43
|
+
-- -:
|