html5-boilerplate 0.3.2 → 0.3.3

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.3.3
@@ -3,11 +3,10 @@ module Html5BoilerplateHelper
3
3
  # http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
4
4
  def ie_tag(name=:body, attrs={}, &block)
5
5
  attrs.symbolize_keys!
6
- haml_concat("<!--[if lt IE 7 ]> #{ tag(name, add_class('ie6', attrs), true) } <![endif]-->".html_safe)
7
- haml_concat("<!--[if IE 7 ]> #{ tag(name, add_class('ie7', attrs), true) } <![endif]-->".html_safe)
8
- haml_concat("<!--[if IE 8 ]> #{ tag(name, add_class('ie8', attrs), true) } <![endif]-->".html_safe)
9
- haml_concat("<!--[if IE 9 ]> #{ tag(name, add_class('ie9', attrs), true) } <![endif]-->".html_safe)
10
- haml_concat("<!--[if (gte IE 9)|!(IE)]><!-->".html_safe)
6
+ haml_concat("<!--[if lt IE 7]> #{ tag(name, add_class('ie6', attrs), true) } <![endif]-->".html_safe)
7
+ haml_concat("<!--[if IE 7]> #{ tag(name, add_class('ie7', attrs), true) } <![endif]-->".html_safe)
8
+ haml_concat("<!--[if IE 8]> #{ tag(name, add_class('ie8', attrs), true) } <![endif]-->".html_safe)
9
+ haml_concat("<!--[if gt IE 8]><!-->".html_safe)
11
10
  haml_tag name, attrs do
12
11
  haml_concat("<!--<![endif]-->".html_safe)
13
12
  block.call
@@ -3,7 +3,7 @@ $base-font-size: 13px !default;
3
3
  $base-line-height: 1.231 !default;
4
4
 
5
5
  //
6
- // Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui
6
+ // Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/
7
7
  // Whatever parts of this port of YUI to Sass that are copyrightable, are Copyright (c) 2008, Christopher Eppstein. All Rights Reserved.
8
8
  //
9
9
 
@@ -17,15 +17,13 @@ $base-line-height: 1.231 !default;
17
17
 
18
18
  select, input, textarea, button { font: 99% $family; }
19
19
 
20
- // normalize monospace sizing
21
- // meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/
20
+ // Normalize monospace sizing:
22
21
  // en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome
23
22
  pre, code, kbd, samp { font-family: monospace, sans-serif; }
24
23
  }
25
24
 
26
- // maxvoltar.com/archive/-webkit-font-smoothing
27
25
  @mixin font-smoothing {
28
- -webkit-font-smoothing: antialiased;
26
+ @warn "The 'font-smoothing' mixin has been deprecated as it made monospace too thin.";
29
27
  }
30
28
 
31
29
  // Sets the font size specified in pixels using percents so that the base
@@ -22,7 +22,7 @@
22
22
 
23
23
  @mixin media-print {
24
24
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
25
- -ms-filter: none !important; } // black prints faster: sanbeiji.com/archives/953
25
+ -ms-filter: none !important; } // Black prints faster: sanbeiji.com/archives/953
26
26
  a, a:visited { color: #444 !important; text-decoration: underline; }
27
27
  a[href]:after { content: " (" attr(href) ")"; }
28
28
  abbr[title]:after { content: " (" attr(title) ")"; }
@@ -12,23 +12,23 @@
12
12
  article, aside, canvas, details, figcaption, figure,
13
13
  footer, header, hgroup, menu, nav, section, summary,
14
14
  time, mark, audio, video {
15
- margin:0;
16
- padding:0;
17
- border:0;
18
- font-size:100%;
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0;
18
+ font-size: 100%;
19
19
  font: inherit;
20
- vertical-align:baseline;
20
+ vertical-align: baseline;
21
21
  }
22
22
 
23
23
  article, aside, details, figcaption, figure,
24
- footer, header, hgroup, menu, nav, section {
24
+ footer, header, hgroup, menu, nav, section {
25
25
  display: block;
26
26
  }
27
27
 
28
28
  blockquote, q { quotes: none; }
29
29
 
30
30
  blockquote:before, blockquote:after,
31
- q:before, q:after { content:''; content:none; }
31
+ q:before, q:after { content: ""; content: none; }
32
32
 
33
33
  ins { background-color: #ff9; color: #000; text-decoration: none; }
34
34
 
@@ -17,7 +17,7 @@ $list-left-margin: 1.8em !default;
17
17
  ul, ol { margin-left: $list-left-margin; }
18
18
  ol { list-style-type: decimal; }
19
19
 
20
- td, td img { vertical-align: top; }
20
+ td { vertical-align: top; }
21
21
 
22
22
  sub { @include sub; }
23
23
 
@@ -33,7 +33,7 @@ $list-left-margin: 1.8em !default;
33
33
 
34
34
  @include hand-cursor-inputs;
35
35
 
36
- @include webkit-reset-form-elements;
36
+ @include reset-form-elements;
37
37
 
38
38
  @include selected-text;
39
39
 
@@ -60,13 +60,12 @@ $list-left-margin: 1.8em !default;
60
60
  // www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap
61
61
  @mixin quoted-pre {
62
62
  pre {
63
- white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word;
63
+ white-space: pre; white-space: pre-wrap; word-wrap: break-word;
64
64
  padding: 15px;
65
65
  }
66
66
  }
67
67
 
68
- // Align checkboxes, radios, text inputs with their label
69
- // by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css
68
+ // Align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css
70
69
  @mixin align-input-labels {
71
70
  input[type="radio"] { vertical-align: text-bottom; }
72
71
  input[type="checkbox"] { vertical-align: bottom; }
@@ -79,9 +78,19 @@ $list-left-margin: 1.8em !default;
79
78
  label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
80
79
  }
81
80
 
82
- // Webkit browsers add a 2px margin outside the chrome of form elements
81
+ @mixin reset-form-elements {
82
+ // 1) Make inputs and buttons play nice in IE: www.viget.com/inspire/styling-the-button-element-in-internet-explorer/
83
+ // 2) WebKit browsers add a 2px margin outside the chrome of form elements.
84
+ // Firefox adds a 1px margin above and below textareas
85
+ button, input, select, textarea { width: auto; overflow: visible; margin: 0; }
86
+
87
+ // Remove extra padding and inner border in Firefox
88
+ input::-moz-focus-inner,
89
+ button::-moz-focus-inner { border: 0; padding: 0; }
90
+ }
91
+
83
92
  @mixin webkit-reset-form-elements {
84
- button, input, select, textarea { margin: 0; }
93
+ @warn "The 'webkit-reset-form-elements' mixin has been deprecated. Use 'reset-form-elements' instead.";
85
94
  }
86
95
 
87
96
  // These selection declarations have to be separate.
@@ -103,10 +112,6 @@ $list-left-margin: 1.8em !default;
103
112
  }
104
113
 
105
114
  @mixin ie-hacks {
106
- // Make buttons play nice in IE:
107
- // www.viget.com/inspire/styling-the-button-element-in-internet-explorer/
108
- button { width: auto; overflow: visible; }
109
-
110
115
  // Bicubic resizing for non-native sized IMG:
111
116
  // code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
112
117
  .ie7 img { -ms-interpolation-mode: bicubic; }
@@ -117,4 +122,4 @@ $list-left-margin: 1.8em !default;
117
122
  @mixin no-nav-margins {
118
123
  // remove margins for navigation lists
119
124
  nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
120
- }
125
+ }
@@ -1,27 +1,27 @@
1
- %head
2
- %meta{ :charset => "utf-8" }/
1
+ %meta{ :charset => "utf-8" }/
2
+
3
+ -# Always force latest IE rendering engine (even in intranet) & Chrome Frame
4
+ -# Remove this if you use the .htaccess
5
+ %meta{ "http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1" }/
6
+
7
+ %title
8
+ == #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
3
9
 
4
- -#
5
- Always force latest IE rendering engine (even in intranet) & Chrome Frame
6
- Remove this if you use the .htaccess
7
- %meta{ :content => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible" }/
8
-
9
- %title
10
- == #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
11
-
12
- %meta{ :content => "", :name => "description" }/
13
- %meta{ :content => "", :name => "author" }/
14
-
15
- -# Mobile viewport optimized: j.mp/bplateviewport
16
- %meta{ :content => "width=device-width, initial-scale=1.0", :name => "viewport" }/
17
-
18
- -# Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references
19
- -# %link{ :href => "/favicon.ico", :rel => "shortcut icon" }/
20
- -# %link{ :href => "/apple-touch-icon.png", :rel => "apple-touch-icon" }/
21
-
22
- = render :partial => 'layouts/stylesheets'
23
-
24
- -# All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects
25
- = javascript_include_tag 'modernizr.min'
26
-
27
- = csrf_meta_tag
10
+ %meta{ :name => "description", :content => "" }/
11
+ %meta{ :name => "author", :content => "" }/
12
+
13
+ -# Mobile viewport optimized: j.mp/bplateviewport
14
+ %meta{ :name => "viewport", :content => "width=device-width, initial-scale=1.0" }/
15
+
16
+ -# Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references
17
+ -# %link{ :rel => "shortcut icon", :href => "/favicon.ico" }/
18
+ -# %link{ :rel => "apple-touch-icon", :href => "/apple-touch-icon.png" }/
19
+
20
+ -# You can specify a stylesheet_partial when rendering this partial (i.e. admin/stylesheets)
21
+ - if local_assigns[:stylesheet_partial]
22
+ = render :partial => local_assigns[:stylesheet_partial]
23
+
24
+ -# All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects
25
+ = javascript_include_tag 'modernizr.min'
26
+
27
+ = csrf_meta_tag
@@ -4,13 +4,13 @@
4
4
  - if !google_api_key.blank?
5
5
  = javascript_include_tag "//www.google.com/jsapi?key=#{google_api_key}"
6
6
  :javascript
7
- google.load(#{ remote_jquery("1.5.1") });
7
+ google.load(#{ remote_jquery("1.5.2") });
8
8
  - else
9
- = javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.5.1") }"
9
+ = javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.5.2") }"
10
10
 
11
11
  -# fall back to local jQuery if necessary
12
12
  :javascript
13
- !window.jQuery && document.write(unescape('%3Cscript src="/javascripts/jquery.min.js"%3E%3C/script%3E'))
13
+ window.jQuery || document.write("<script src='/javascripts/jquery.min.js'>\x3C/script>")
14
14
 
15
15
  = javascript_include_tag 'rails', 'plugins', 'application'
16
16
 
@@ -27,11 +27,7 @@
27
27
  -# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/google.yml
28
28
  - if !google_account_id.blank?
29
29
  :javascript
30
- var _gaq = [['_setAccount', '#{google_account_id}'], ['_trackPageview']];
31
- (function(d, t) {
32
- var g = d.createElement(t),
33
- s = d.getElementsByTagName(t)[0];
34
- g.async = true;
35
- g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
36
- s.parentNode.insertBefore(g, s);
37
- })(document, 'script');
30
+ var _gaq=[["_setAccount","#{google_account_id}"],["_trackPageview"]];
31
+ (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
32
+ g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
33
+ s.parentNode.insertBefore(g,s)}(document,"script"));
@@ -1,15 +1,20 @@
1
1
  !!! 5
2
2
  -# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
3
- -ie_html :class => 'no-js' do
4
- = render :partial => 'layouts/head'
5
- %body{ :lang => 'en', :class => "#{controller.controller_name}" }
3
+ -ie_html :class => 'no-js', :lang => 'en' do
4
+ %head
5
+ = render "layouts/head", :stylesheet_partial => "layouts/stylesheets"
6
+
7
+ %body{ :class => "#{controller.controller_name}" }
6
8
  #container
7
9
  %header#header
8
- = render :partial => 'layouts/header'
10
+ = render "layouts/header"
11
+
9
12
  #main{ :role => 'main' }
10
- = render :partial => 'layouts/flashes'
13
+ = render "layouts/flashes"
11
14
  = yield
15
+
12
16
  %footer#footer
13
- = render :partial => 'layouts/footer'
17
+ = render "layouts/footer"
18
+
14
19
  -# Javascript at the bottom for fast page loading
15
- = render :partial => 'layouts/javascripts'
20
+ = render "layouts/javascripts"
@@ -1,22 +1,38 @@
1
1
  <!doctype html>
2
- <title>not found</title>
3
-
4
- <style>
5
- body { text-align: center;}
6
- h1 { font-size: 50px; }
7
- 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); }
8
- ::-moz-selection{ background:#FF5E99; color:#fff; }
9
- ::selection { background:#FF5E99; color:#fff; }
10
- details { display:block; }
11
- a { color: rgb(36, 109, 56); text-decoration:none; }
12
- a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
13
- span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
14
- </style>
15
-
16
-
17
-
18
-
19
- <details>
20
- <summary><h1>Not found</h1></summary>
21
- <p><span frown>:(</span></p>
22
- </details>
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>
@@ -17,9 +17,9 @@
17
17
  <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
18
18
  -->
19
19
  <!--
20
- If you host a crossdomain.xml file with allow-access-from domain=“*”
20
+ If you host a crossdomain.xml file with allow-access-from domain="*"
21
21
  and don’t understand all of the points described here, you probably
22
22
  have a nasty security vulnerability. ~ simon willison
23
23
  -->
24
24
 
25
- </cross-domain-policy>
25
+ </cross-domain-policy>
@@ -91,7 +91,7 @@ AddEncoding gzip svgz
91
91
  AddType application/vnd.ms-fontobject eot
92
92
  AddType font/truetype ttf
93
93
  AddType font/opentype otf
94
- AddType application/x-font-woff woff
94
+ AddType application/x-font-woff woff
95
95
 
96
96
  # assorted types
97
97
  AddType image/x-icon ico
@@ -215,7 +215,7 @@ AddType application/octet-stream safariextz
215
215
  # webfonts
216
216
  ExpiresByType font/truetype "access plus 1 month"
217
217
  ExpiresByType font/opentype "access plus 1 month"
218
- ExpiresByType font/woff "access plus 1 month"
218
+ ExpiresByType application/x-font-woff "access plus 1 month"
219
219
  ExpiresByType image/svg+xml "access plus 1 month"
220
220
  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
221
221
 
@@ -327,6 +327,61 @@ FileETag None
327
327
 
328
328
 
329
329
 
330
+ # ----------------------------------------------------------------------
331
+ # Add/remove trailing slash to (non-file) URLs
332
+ # ----------------------------------------------------------------------
333
+
334
+ # Google treats URLs with and without trailing slashes separately.
335
+ # Forcing a trailing slash is usually preferred, but all that's really
336
+ # important is that one correctly redirects to the other.
337
+
338
+ # By default option 1 (force trailing slash) is activated.
339
+ # http://googlewebmastercentral.blogspot.com/2010/04/to-slash-or-not-to-slash.html
340
+ # http://www.alistapart.com/articles/slashforward/
341
+ # http://httpd.apache.org/docs/2.0/misc/rewriteguide.html#url Trailing Slash Problem
342
+
343
+ # ----------------------------------------------------------------------
344
+
345
+ # Option 1:
346
+ # Rewrite "domain.com/foo -> domain.com/foo/"
347
+
348
+ <IfModule mod_rewrite.c>
349
+ RewriteCond %{REQUEST_FILENAME} !-f
350
+ RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
351
+ RewriteRule ^(.*)$ /$1/ [R=301,L]
352
+ </IfModule>
353
+
354
+ # ----------------------------------------------------------------------
355
+
356
+ # Option 2:
357
+ # Rewrite "domain.com/foo/ -> domain.com/foo"
358
+
359
+ #<IfModule mod_rewrite.c>
360
+ # RewriteRule ^(.*)/$ /$1 [R=301,L]
361
+ #</IfModule>
362
+
363
+
364
+
365
+ # ----------------------------------------------------------------------
366
+ # Built-in filename-based cache busting
367
+ # ----------------------------------------------------------------------
368
+
369
+ # If you're not using the build script to manage your filename version revving,
370
+ # you might want to consider enabling this, which will route requests for
371
+ # /css/style.20110203.css to /css/style.css
372
+
373
+ # To understand why this is important and a better idea than all.css?v1231,
374
+ # read: github.com/paulirish/html5-boilerplate/wiki/Version-Control-with-Cachebusting
375
+
376
+ # Uncomment to enable.
377
+ # <IfModule mod_rewrite.c>
378
+ # RewriteCond %{REQUEST_FILENAME} !-f
379
+ # RewriteCond %{REQUEST_FILENAME} !-d
380
+ # RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
381
+ # </IfModule>
382
+
383
+
384
+
330
385
  # ----------------------------------------------------------------------
331
386
  # Prevent SSL cert warnings
332
387
  # ----------------------------------------------------------------------
@@ -337,7 +392,7 @@ FileETag None
337
392
 
338
393
  # <IfModule mod_rewrite.c>
339
394
  # RewriteCond %{SERVER_PORT} !^443
340
- # RewriteRule (.*) https://example-domain-please-change.com.com/$1 [R=301,L]
395
+ # RewriteRule (.*) https://example-domain-please-change-me.com/$1 [R=301,L]
341
396
  # </IfModule>
342
397
 
343
398
 
@@ -388,7 +443,7 @@ AddCharset utf-8 .html .css .js .xml .json .rss
388
443
  # "-Indexes" will have Apache block users from browsing folders without a default document
389
444
  # Usually you should leave this activated, because you shouldn't allow everybody to surf through
390
445
  # every folder on your server (which includes rather private places like CMS system folders).
391
- # Options -Indexes
446
+ Options -Indexes
392
447
 
393
448
 
394
449
  # Block access to "hidden" directories whose names begin with a period. This
@@ -416,5 +471,8 @@ AddCharset utf-8 .html .css .js .xml .json .rss
416
471
  # php_flag register_globals Off
417
472
 
418
473
 
419
-
474
+ # Increase cookie security
475
+ <IfModule php5_module>
476
+ php_value session.cookie_httponly true
477
+ </IfModule>
420
478