compass_extension 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/lib/app/helpers/html5_boilerplate_helper.rb +63 -0
  2. data/lib/compass/h5bp/version.rb +6 -0
  3. data/lib/compass/h5bp.rb +7 -0
  4. data/lib/compass_extension.rb +9 -0
  5. data/stylesheets/_h5bp.scss +12 -0
  6. data/stylesheets/h5bp/_chromeframe.scss +7 -0
  7. data/stylesheets/h5bp/_helpers.scss +58 -0
  8. data/stylesheets/h5bp/_media.scss +23 -0
  9. data/stylesheets/h5bp/_normalize.scss +213 -0
  10. data/templates/project/_flashes.html.haml +4 -0
  11. data/templates/project/_footer.html.haml +2 -0
  12. data/templates/project/_head.html.haml +29 -0
  13. data/templates/project/_header.html.haml +1 -0
  14. data/templates/project/_javascripts.html.haml +37 -0
  15. data/templates/project/_stylesheets.html.haml +5 -0
  16. data/templates/project/application.html.haml +22 -0
  17. data/templates/project/files/404.html +38 -0
  18. data/templates/project/files/apple-touch-icon-114x114-precomposed.png +0 -0
  19. data/templates/project/files/apple-touch-icon-57x57-precomposed.png +0 -0
  20. data/templates/project/files/apple-touch-icon-72x72-precomposed.png +0 -0
  21. data/templates/project/files/apple-touch-icon-precomposed.png +0 -0
  22. data/templates/project/files/apple-touch-icon.png +0 -0
  23. data/templates/project/files/crossdomain.xml +25 -0
  24. data/templates/project/files/favicon.ico +0 -0
  25. data/templates/project/files/favicon.png +0 -0
  26. data/templates/project/files/google.yml +22 -0
  27. data/templates/project/files/humans.txt +43 -0
  28. data/templates/project/files/robots.txt +5 -0
  29. data/templates/project/index.html.haml +83 -0
  30. data/templates/project/javascripts/jquery-1.7.2.js +9404 -0
  31. data/templates/project/javascripts/jquery-1.7.2.min.js +4 -0
  32. data/templates/project/javascripts/jquery-ui-1.8.22.min.js +85 -0
  33. data/templates/project/javascripts/modernizr-2.5.3.min.js +4 -0
  34. data/templates/project/javascripts/plugins.js +105 -0
  35. data/templates/project/javascripts/rails.js +368 -0
  36. data/templates/project/javascripts/respond.min.js +6 -0
  37. data/templates/project/javascripts/script.js +26 -0
  38. data/templates/project/manifest.rb +83 -2
  39. data/templates/project/partials/SCSS_template.scss +83 -0
  40. data/templates/project/partials/_base.scss +198 -0
  41. data/templates/project/partials/_fonts.scss +4 -0
  42. data/templates/project/partials/_footer.scss +83 -0
  43. data/templates/project/partials/_header.scss +83 -0
  44. data/templates/project/partials/_media.scss +38 -0
  45. data/templates/project/partials/_modules.scss +19 -0
  46. data/templates/project/partials/_overrides.scss +47 -0
  47. data/templates/project/partials/_page.scss +126 -0
  48. data/templates/project/partials/modules/_mod-breadcrumb.scss +83 -0
  49. data/templates/project/partials/modules/_mod-carousels.scss +83 -0
  50. data/templates/project/partials/modules/_mod-default.scss +83 -0
  51. data/templates/project/partials/modules/_mod-form.scss +83 -0
  52. data/templates/project/partials/modules/_mod-login.scss +83 -0
  53. data/templates/project/partials/modules/_mod-pagination.scss +83 -0
  54. data/templates/project/partials/modules/_mod-subnav.scss +83 -0
  55. data/templates/project/partials/modules/_mod-widget.scss +83 -0
  56. data/templates/project/style.scss +28 -0
  57. metadata +56 -3
  58. 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
@@ -0,0 +1,6 @@
1
+ module Compass
2
+ module H5bp
3
+ VERSION = "0.0.5"
4
+ HTML5_BOILERPLATE_VERSION = "3.0.2"
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ require "compass/h5bp/version"
2
+
3
+ module Compass
4
+ module H5bp
5
+ Compass::Frameworks.register("compass-h5bp", :path => "#{File.dirname(__FILE__)}/../..")
6
+ end
7
+ end
@@ -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,7 @@
1
+ //
2
+ // Chrome Frame Prompt
3
+ //
4
+
5
+ @mixin h5bp-chromeframe {
6
+ .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }
7
+ }
@@ -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,4 @@
1
+ #flash
2
+ - flash.each do |key, value|
3
+ .message{ :class => key }
4
+ %p= value
@@ -0,0 +1,2 @@
1
+ %small.copyright
2
+ Copyright &copy; #{Date.today.year}
@@ -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,5 @@
1
+ -# CSS: implied media="all"
2
+ = stylesheet_link_tag 'style'
3
+
4
+ -# Append your own using content_for :stylesheets
5
+ = yield :stylesheets
@@ -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>
@@ -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
+ -- -: