!!! 5 -# paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ <!--[if lt IE 7]> <html lang="en" class="no-js ie6 oldie"> <![endif]--> <!--[if IE 7]> <html lang="en" class="no-js ie7 oldie"> <![endif]--> <!--[if IE 8]> <html lang="en" class="no-js ie8 oldie"> <![endif]--> -# Consider adding an manifest.appcache: h5bp.com/d/Offline <!--[if gt IE 8]><!--> %html.no-js{ :lang => "en" } <!--<![endif]--> %head %meta{ :charset => "utf-8" }/ -# Use the .htaccess and remove these lines to avoid edge case issues. More info: h5bp.com/b/378 %meta{ "http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1" }/ %title %meta{ :name => "description", :content => "" }/ %meta{ :name => "author", :content => "" }/ -# Mobile viewport optimized: j.mp/bplateviewport %meta{ :name => "viewport", :content => "width=device-width, initial-scale=1.0" }/ -# Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -# CSS: implied media="all" -# CSS concatenated and minified via ant build script %link{ :rel => "stylesheet", :href => "css/style.css"}/ -# All JavaScript at the bottom, except for Modernizr / Respond. Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries For optimal performance, use a custom Modernizr build: www.modernizr.com/download/ %script{ :src => "js/modernizr-2.5.3.min.js" } %body #container %header #main{ :role => 'main' } %footer -# end of #container -# Javascript at the bottom for fast page loading -# Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline %script{ :src => "//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" } %script window.jQuery || document.write("<script src='js/jquery-1.7.2.min.js'>\x3C/script>") -# Grab Google CDN's jQueryui, with a protocol relative URL; fall back to local if offline %script{ :src => "//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js" } %script window.jQuery || document.write("<script src='js/jquery-ui-1.8.22.min.js'>\x3C/script>") -# Add respond.js if ie < 8 <!--[if lt IE 9]> %script{ :src => "js/respond.min.js" } -# scripts concatenated and minified via ant build script %script{ :src => "js/plugins.js" } %script{ :src => "js/script.js" } -# end scripts -# asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet -# change the UA-XXXXX-X to be your site's ID %script var _gaq=[["_setAccount","UA-XXXXX-X"],["_trackPageview"],["_trackPageLoadTime"]]; (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1; g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js"; s.parentNode.insertBefore(g,s)}(document,"script")); -# Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6. chromium.org/developers/how-tos/chrome-frame-getting-started <!--[if lt IE 7]> %script{ :src => "//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js" } %script window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})}); <![endif]-->