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.
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
+ -- -: