html5bp 0.0.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/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/html5bp.gemspec +26 -0
- data/lib/assets/javascripts/modernizr-2.6.2.min.js +4 -0
- data/lib/assets/javascripts/plugins.js +24 -0
- data/lib/assets/stylesheets/main.css +304 -0
- data/lib/assets/stylesheets/normalize.css +527 -0
- data/lib/generators/html5bp/layout_generator.rb +13 -0
- data/lib/generators/html5bp/templates/index.html.erb +39 -0
- data/lib/html5bp.rb +6 -0
- data/lib/html5bp/version.rb +3 -0
- metadata +124 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2014 Rodrigo Flores
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Html5bp
|
|
2
|
+
|
|
3
|
+
TODO: Write a gem description
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add this line to your application's Gemfile:
|
|
8
|
+
|
|
9
|
+
gem 'html5bp'
|
|
10
|
+
|
|
11
|
+
And then execute:
|
|
12
|
+
|
|
13
|
+
$ bundle
|
|
14
|
+
|
|
15
|
+
Or install it yourself as:
|
|
16
|
+
|
|
17
|
+
$ gem install html5bp
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
TODO: Write usage instructions here
|
|
22
|
+
|
|
23
|
+
## Contributing
|
|
24
|
+
|
|
25
|
+
1. Fork it
|
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require "bundler/gem_tasks"
|
data/html5bp.gemspec
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'html5bp/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "html5bp"
|
|
8
|
+
spec.version = Html5bp::VERSION
|
|
9
|
+
spec.authors = ["Rodrigo Flores"]
|
|
10
|
+
spec.email = ["mail@rodrigoflores.org"]
|
|
11
|
+
spec.description = %q{Loads html boilerplace into your rails app}
|
|
12
|
+
spec.summary = %q{Loads html boilerplace into your rails app}
|
|
13
|
+
spec.homepage = ""
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
|
|
16
|
+
spec.files = `git ls-files`.split($/)
|
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
spec.require_paths = ["lib"]
|
|
20
|
+
|
|
21
|
+
spec.add_dependency "railties", ">= 4.1.0"
|
|
22
|
+
spec.add_dependency "thor", ">= 0.19.1"
|
|
23
|
+
|
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
|
25
|
+
spec.add_development_dependency "rake"
|
|
26
|
+
end
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
|
|
2
|
+
* Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
|
|
3
|
+
*/
|
|
4
|
+
;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Avoid `console` errors in browsers that lack a console.
|
|
2
|
+
(function() {
|
|
3
|
+
var method;
|
|
4
|
+
var noop = function () {};
|
|
5
|
+
var methods = [
|
|
6
|
+
'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
|
|
7
|
+
'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
|
|
8
|
+
'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
|
|
9
|
+
'timeStamp', 'trace', 'warn'
|
|
10
|
+
];
|
|
11
|
+
var length = methods.length;
|
|
12
|
+
var console = (window.console = window.console || {});
|
|
13
|
+
|
|
14
|
+
while (length--) {
|
|
15
|
+
method = methods[length];
|
|
16
|
+
|
|
17
|
+
// Only stub undefined methods.
|
|
18
|
+
if (!console[method]) {
|
|
19
|
+
console[method] = noop;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}());
|
|
23
|
+
|
|
24
|
+
// Place any jQuery/helper plugins in here.
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* What follows is the result of much research on cross-browser styling.
|
|
5
|
+
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
|
|
6
|
+
* Kroc Camen, and the H5BP dev community and team.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* ==========================================================================
|
|
10
|
+
Base styles: opinionated defaults
|
|
11
|
+
========================================================================== */
|
|
12
|
+
|
|
13
|
+
html,
|
|
14
|
+
button,
|
|
15
|
+
input,
|
|
16
|
+
select,
|
|
17
|
+
textarea {
|
|
18
|
+
color: #222;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
html {
|
|
22
|
+
font-size: 1em;
|
|
23
|
+
line-height: 1.4;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
* Remove text-shadow in selection highlight: h5bp.com/i
|
|
28
|
+
* These selection rule sets have to be separate.
|
|
29
|
+
* Customize the background color to match your design.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
::-moz-selection {
|
|
33
|
+
background: #b3d4fc;
|
|
34
|
+
text-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
::selection {
|
|
38
|
+
background: #b3d4fc;
|
|
39
|
+
text-shadow: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
* A better looking default horizontal rule
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
hr {
|
|
47
|
+
display: block;
|
|
48
|
+
height: 1px;
|
|
49
|
+
border: 0;
|
|
50
|
+
border-top: 1px solid #ccc;
|
|
51
|
+
margin: 1em 0;
|
|
52
|
+
padding: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/*
|
|
56
|
+
* Remove the gap between images, videos, audio and canvas and the bottom of
|
|
57
|
+
* their containers: h5bp.com/i/440
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
audio,
|
|
61
|
+
canvas,
|
|
62
|
+
img,
|
|
63
|
+
video {
|
|
64
|
+
vertical-align: middle;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/*
|
|
68
|
+
* Remove default fieldset styles.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
fieldset {
|
|
72
|
+
border: 0;
|
|
73
|
+
margin: 0;
|
|
74
|
+
padding: 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/*
|
|
78
|
+
* Allow only vertical resizing of textareas.
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
textarea {
|
|
82
|
+
resize: vertical;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* ==========================================================================
|
|
86
|
+
Browse Happy prompt
|
|
87
|
+
========================================================================== */
|
|
88
|
+
|
|
89
|
+
.browsehappy {
|
|
90
|
+
margin: 0.2em 0;
|
|
91
|
+
background: #ccc;
|
|
92
|
+
color: #000;
|
|
93
|
+
padding: 0.2em 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* ==========================================================================
|
|
97
|
+
Author's custom styles
|
|
98
|
+
========================================================================== */
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
/* ==========================================================================
|
|
117
|
+
Helper classes
|
|
118
|
+
========================================================================== */
|
|
119
|
+
|
|
120
|
+
/*
|
|
121
|
+
* Image replacement
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
.ir {
|
|
125
|
+
background-color: transparent;
|
|
126
|
+
border: 0;
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
/* IE 6/7 fallback */
|
|
129
|
+
*text-indent: -9999px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.ir:before {
|
|
133
|
+
content: "";
|
|
134
|
+
display: block;
|
|
135
|
+
width: 0;
|
|
136
|
+
height: 150%;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/*
|
|
140
|
+
* Hide from both screenreaders and browsers: h5bp.com/u
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
.hidden {
|
|
144
|
+
display: none !important;
|
|
145
|
+
visibility: hidden;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/*
|
|
149
|
+
* Hide only visually, but have it available for screenreaders: h5bp.com/v
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
.visuallyhidden {
|
|
153
|
+
border: 0;
|
|
154
|
+
clip: rect(0 0 0 0);
|
|
155
|
+
height: 1px;
|
|
156
|
+
margin: -1px;
|
|
157
|
+
overflow: hidden;
|
|
158
|
+
padding: 0;
|
|
159
|
+
position: absolute;
|
|
160
|
+
width: 1px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/*
|
|
164
|
+
* Extends the .visuallyhidden class to allow the element to be focusable
|
|
165
|
+
* when navigated to via the keyboard: h5bp.com/p
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
.visuallyhidden.focusable:active,
|
|
169
|
+
.visuallyhidden.focusable:focus {
|
|
170
|
+
clip: auto;
|
|
171
|
+
height: auto;
|
|
172
|
+
margin: 0;
|
|
173
|
+
overflow: visible;
|
|
174
|
+
position: static;
|
|
175
|
+
width: auto;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/*
|
|
179
|
+
* Hide visually and from screenreaders, but maintain layout
|
|
180
|
+
*/
|
|
181
|
+
|
|
182
|
+
.invisible {
|
|
183
|
+
visibility: hidden;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/*
|
|
187
|
+
* Clearfix: contain floats
|
|
188
|
+
*
|
|
189
|
+
* For modern browsers
|
|
190
|
+
* 1. The space content is one way to avoid an Opera bug when the
|
|
191
|
+
* `contenteditable` attribute is included anywhere else in the document.
|
|
192
|
+
* Otherwise it causes space to appear at the top and bottom of elements
|
|
193
|
+
* that receive the `clearfix` class.
|
|
194
|
+
* 2. The use of `table` rather than `block` is only necessary if using
|
|
195
|
+
* `:before` to contain the top-margins of child elements.
|
|
196
|
+
*/
|
|
197
|
+
|
|
198
|
+
.clearfix:before,
|
|
199
|
+
.clearfix:after {
|
|
200
|
+
content: " "; /* 1 */
|
|
201
|
+
display: table; /* 2 */
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.clearfix:after {
|
|
205
|
+
clear: both;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/*
|
|
209
|
+
* For IE 6/7 only
|
|
210
|
+
* Include this rule to trigger hasLayout and contain floats.
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
.clearfix {
|
|
214
|
+
*zoom: 1;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/* ==========================================================================
|
|
218
|
+
EXAMPLE Media Queries for Responsive Design.
|
|
219
|
+
These examples override the primary ('mobile first') styles.
|
|
220
|
+
Modify as content requires.
|
|
221
|
+
========================================================================== */
|
|
222
|
+
|
|
223
|
+
@media only screen and (min-width: 35em) {
|
|
224
|
+
/* Style adjustments for viewports that meet the condition */
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
@media print,
|
|
228
|
+
(-o-min-device-pixel-ratio: 5/4),
|
|
229
|
+
(-webkit-min-device-pixel-ratio: 1.25),
|
|
230
|
+
(min-resolution: 120dpi) {
|
|
231
|
+
/* Style adjustments for high resolution devices */
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* ==========================================================================
|
|
235
|
+
Print styles.
|
|
236
|
+
Inlined to avoid required HTTP connection: h5bp.com/r
|
|
237
|
+
========================================================================== */
|
|
238
|
+
|
|
239
|
+
@media print {
|
|
240
|
+
* {
|
|
241
|
+
background: transparent !important;
|
|
242
|
+
color: #000 !important; /* Black prints faster: h5bp.com/s */
|
|
243
|
+
box-shadow: none !important;
|
|
244
|
+
text-shadow: none !important;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
a,
|
|
248
|
+
a:visited {
|
|
249
|
+
text-decoration: underline;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
a[href]:after {
|
|
253
|
+
content: " (" attr(href) ")";
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
abbr[title]:after {
|
|
257
|
+
content: " (" attr(title) ")";
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/*
|
|
261
|
+
* Don't show links for images, or javascript/internal links
|
|
262
|
+
*/
|
|
263
|
+
|
|
264
|
+
.ir a:after,
|
|
265
|
+
a[href^="javascript:"]:after,
|
|
266
|
+
a[href^="#"]:after {
|
|
267
|
+
content: "";
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
pre,
|
|
271
|
+
blockquote {
|
|
272
|
+
border: 1px solid #999;
|
|
273
|
+
page-break-inside: avoid;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
thead {
|
|
277
|
+
display: table-header-group; /* h5bp.com/t */
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
tr,
|
|
281
|
+
img {
|
|
282
|
+
page-break-inside: avoid;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
img {
|
|
286
|
+
max-width: 100% !important;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
@page {
|
|
290
|
+
margin: 0.5cm;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
p,
|
|
294
|
+
h2,
|
|
295
|
+
h3 {
|
|
296
|
+
orphans: 3;
|
|
297
|
+
widows: 3;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
h2,
|
|
301
|
+
h3 {
|
|
302
|
+
page-break-after: avoid;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
|
|
2
|
+
|
|
3
|
+
/* ==========================================================================
|
|
4
|
+
HTML5 display definitions
|
|
5
|
+
========================================================================== */
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
article,
|
|
12
|
+
aside,
|
|
13
|
+
details,
|
|
14
|
+
figcaption,
|
|
15
|
+
figure,
|
|
16
|
+
footer,
|
|
17
|
+
header,
|
|
18
|
+
hgroup,
|
|
19
|
+
main,
|
|
20
|
+
nav,
|
|
21
|
+
section,
|
|
22
|
+
summary {
|
|
23
|
+
display: block;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
audio,
|
|
31
|
+
canvas,
|
|
32
|
+
video {
|
|
33
|
+
display: inline-block;
|
|
34
|
+
*display: inline;
|
|
35
|
+
*zoom: 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Prevent modern browsers from displaying `audio` without controls.
|
|
40
|
+
* Remove excess height in iOS 5 devices.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
audio:not([controls]) {
|
|
44
|
+
display: none;
|
|
45
|
+
height: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
|
|
50
|
+
* Known issue: no IE 6 support.
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
[hidden] {
|
|
54
|
+
display: none;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ==========================================================================
|
|
58
|
+
Base
|
|
59
|
+
========================================================================== */
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
|
|
63
|
+
* `em` units.
|
|
64
|
+
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
|
65
|
+
* user zoom.
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
html {
|
|
69
|
+
font-size: 100%; /* 1 */
|
|
70
|
+
-ms-text-size-adjust: 100%; /* 2 */
|
|
71
|
+
-webkit-text-size-adjust: 100%; /* 2 */
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Address `font-family` inconsistency between `textarea` and other form
|
|
76
|
+
* elements.
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
html,
|
|
80
|
+
button,
|
|
81
|
+
input,
|
|
82
|
+
select,
|
|
83
|
+
textarea {
|
|
84
|
+
font-family: sans-serif;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Address margins handled incorrectly in IE 6/7.
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
body {
|
|
92
|
+
margin: 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* ==========================================================================
|
|
96
|
+
Links
|
|
97
|
+
========================================================================== */
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Address `outline` inconsistency between Chrome and other browsers.
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
a:focus {
|
|
104
|
+
outline: thin dotted;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Improve readability when focused and also mouse hovered in all browsers.
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
a:active,
|
|
112
|
+
a:hover {
|
|
113
|
+
outline: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ==========================================================================
|
|
117
|
+
Typography
|
|
118
|
+
========================================================================== */
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Address font sizes and margins set differently in IE 6/7.
|
|
122
|
+
* Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
|
|
123
|
+
* and Chrome.
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
h1 {
|
|
127
|
+
font-size: 2em;
|
|
128
|
+
margin: 0.67em 0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
h2 {
|
|
132
|
+
font-size: 1.5em;
|
|
133
|
+
margin: 0.83em 0;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
h3 {
|
|
137
|
+
font-size: 1.17em;
|
|
138
|
+
margin: 1em 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
h4 {
|
|
142
|
+
font-size: 1em;
|
|
143
|
+
margin: 1.33em 0;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
h5 {
|
|
147
|
+
font-size: 0.83em;
|
|
148
|
+
margin: 1.67em 0;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
h6 {
|
|
152
|
+
font-size: 0.67em;
|
|
153
|
+
margin: 2.33em 0;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Address styling not present in IE 7/8/9, Safari 5, and Chrome.
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
abbr[title] {
|
|
161
|
+
border-bottom: 1px dotted;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
b,
|
|
169
|
+
strong {
|
|
170
|
+
font-weight: bold;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
blockquote {
|
|
174
|
+
margin: 1em 40px;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Address styling not present in Safari 5 and Chrome.
|
|
179
|
+
*/
|
|
180
|
+
|
|
181
|
+
dfn {
|
|
182
|
+
font-style: italic;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Address differences between Firefox and other browsers.
|
|
187
|
+
* Known issue: no IE 6/7 normalization.
|
|
188
|
+
*/
|
|
189
|
+
|
|
190
|
+
hr {
|
|
191
|
+
-moz-box-sizing: content-box;
|
|
192
|
+
box-sizing: content-box;
|
|
193
|
+
height: 0;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Address styling not present in IE 6/7/8/9.
|
|
198
|
+
*/
|
|
199
|
+
|
|
200
|
+
mark {
|
|
201
|
+
background: #ff0;
|
|
202
|
+
color: #000;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Address margins set differently in IE 6/7.
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
p,
|
|
210
|
+
pre {
|
|
211
|
+
margin: 1em 0;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
code,
|
|
219
|
+
kbd,
|
|
220
|
+
pre,
|
|
221
|
+
samp {
|
|
222
|
+
font-family: monospace, serif;
|
|
223
|
+
_font-family: 'courier new', monospace;
|
|
224
|
+
font-size: 1em;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Improve readability of pre-formatted text in all browsers.
|
|
229
|
+
*/
|
|
230
|
+
|
|
231
|
+
pre {
|
|
232
|
+
white-space: pre;
|
|
233
|
+
white-space: pre-wrap;
|
|
234
|
+
word-wrap: break-word;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Address CSS quotes not supported in IE 6/7.
|
|
239
|
+
*/
|
|
240
|
+
|
|
241
|
+
q {
|
|
242
|
+
quotes: none;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Address `quotes` property not supported in Safari 4.
|
|
247
|
+
*/
|
|
248
|
+
|
|
249
|
+
q:before,
|
|
250
|
+
q:after {
|
|
251
|
+
content: '';
|
|
252
|
+
content: none;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Address inconsistent and variable font size in all browsers.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
small {
|
|
260
|
+
font-size: 80%;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
|
265
|
+
*/
|
|
266
|
+
|
|
267
|
+
sub,
|
|
268
|
+
sup {
|
|
269
|
+
font-size: 75%;
|
|
270
|
+
line-height: 0;
|
|
271
|
+
position: relative;
|
|
272
|
+
vertical-align: baseline;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
sup {
|
|
276
|
+
top: -0.5em;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
sub {
|
|
280
|
+
bottom: -0.25em;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/* ==========================================================================
|
|
284
|
+
Lists
|
|
285
|
+
========================================================================== */
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Address margins set differently in IE 6/7.
|
|
289
|
+
*/
|
|
290
|
+
|
|
291
|
+
dl,
|
|
292
|
+
menu,
|
|
293
|
+
ol,
|
|
294
|
+
ul {
|
|
295
|
+
margin: 1em 0;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
dd {
|
|
299
|
+
margin: 0 0 0 40px;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Address paddings set differently in IE 6/7.
|
|
304
|
+
*/
|
|
305
|
+
|
|
306
|
+
menu,
|
|
307
|
+
ol,
|
|
308
|
+
ul {
|
|
309
|
+
padding: 0 0 0 40px;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Correct list images handled incorrectly in IE 7.
|
|
314
|
+
*/
|
|
315
|
+
|
|
316
|
+
nav ul,
|
|
317
|
+
nav ol {
|
|
318
|
+
list-style: none;
|
|
319
|
+
list-style-image: none;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/* ==========================================================================
|
|
323
|
+
Embedded content
|
|
324
|
+
========================================================================== */
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
|
|
328
|
+
* 2. Improve image quality when scaled in IE 7.
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
img {
|
|
332
|
+
border: 0; /* 1 */
|
|
333
|
+
-ms-interpolation-mode: bicubic; /* 2 */
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Correct overflow displayed oddly in IE 9.
|
|
338
|
+
*/
|
|
339
|
+
|
|
340
|
+
svg:not(:root) {
|
|
341
|
+
overflow: hidden;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/* ==========================================================================
|
|
345
|
+
Figures
|
|
346
|
+
========================================================================== */
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
|
|
350
|
+
*/
|
|
351
|
+
|
|
352
|
+
figure {
|
|
353
|
+
margin: 0;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/* ==========================================================================
|
|
357
|
+
Forms
|
|
358
|
+
========================================================================== */
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Correct margin displayed oddly in IE 6/7.
|
|
362
|
+
*/
|
|
363
|
+
|
|
364
|
+
form {
|
|
365
|
+
margin: 0;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Define consistent border, margin, and padding.
|
|
370
|
+
*/
|
|
371
|
+
|
|
372
|
+
fieldset {
|
|
373
|
+
border: 1px solid #c0c0c0;
|
|
374
|
+
margin: 0 2px;
|
|
375
|
+
padding: 0.35em 0.625em 0.75em;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* 1. Correct color not being inherited in IE 6/7/8/9.
|
|
380
|
+
* 2. Correct text not wrapping in Firefox 3.
|
|
381
|
+
* 3. Correct alignment displayed oddly in IE 6/7.
|
|
382
|
+
*/
|
|
383
|
+
|
|
384
|
+
legend {
|
|
385
|
+
border: 0; /* 1 */
|
|
386
|
+
padding: 0;
|
|
387
|
+
white-space: normal; /* 2 */
|
|
388
|
+
*margin-left: -7px; /* 3 */
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* 1. Correct font size not being inherited in all browsers.
|
|
393
|
+
* 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
|
|
394
|
+
* and Chrome.
|
|
395
|
+
* 3. Improve appearance and consistency in all browsers.
|
|
396
|
+
*/
|
|
397
|
+
|
|
398
|
+
button,
|
|
399
|
+
input,
|
|
400
|
+
select,
|
|
401
|
+
textarea {
|
|
402
|
+
font-size: 100%; /* 1 */
|
|
403
|
+
margin: 0; /* 2 */
|
|
404
|
+
vertical-align: baseline; /* 3 */
|
|
405
|
+
*vertical-align: middle; /* 3 */
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Address Firefox 3+ setting `line-height` on `input` using `!important` in
|
|
410
|
+
* the UA stylesheet.
|
|
411
|
+
*/
|
|
412
|
+
|
|
413
|
+
button,
|
|
414
|
+
input {
|
|
415
|
+
line-height: normal;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
|
420
|
+
* All other form control elements do not inherit `text-transform` values.
|
|
421
|
+
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
|
|
422
|
+
* Correct `select` style inheritance in Firefox 4+ and Opera.
|
|
423
|
+
*/
|
|
424
|
+
|
|
425
|
+
button,
|
|
426
|
+
select {
|
|
427
|
+
text-transform: none;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
|
432
|
+
* and `video` controls.
|
|
433
|
+
* 2. Correct inability to style clickable `input` types in iOS.
|
|
434
|
+
* 3. Improve usability and consistency of cursor style between image-type
|
|
435
|
+
* `input` and others.
|
|
436
|
+
* 4. Remove inner spacing in IE 7 without affecting normal text inputs.
|
|
437
|
+
* Known issue: inner spacing remains in IE 6.
|
|
438
|
+
*/
|
|
439
|
+
|
|
440
|
+
button,
|
|
441
|
+
html input[type="button"], /* 1 */
|
|
442
|
+
input[type="reset"],
|
|
443
|
+
input[type="submit"] {
|
|
444
|
+
-webkit-appearance: button; /* 2 */
|
|
445
|
+
cursor: pointer; /* 3 */
|
|
446
|
+
*overflow: visible; /* 4 */
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Re-set default cursor for disabled elements.
|
|
451
|
+
*/
|
|
452
|
+
|
|
453
|
+
button[disabled],
|
|
454
|
+
html input[disabled] {
|
|
455
|
+
cursor: default;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* 1. Address box sizing set to content-box in IE 8/9.
|
|
460
|
+
* 2. Remove excess padding in IE 8/9.
|
|
461
|
+
* 3. Remove excess padding in IE 7.
|
|
462
|
+
* Known issue: excess padding remains in IE 6.
|
|
463
|
+
*/
|
|
464
|
+
|
|
465
|
+
input[type="checkbox"],
|
|
466
|
+
input[type="radio"] {
|
|
467
|
+
box-sizing: border-box; /* 1 */
|
|
468
|
+
padding: 0; /* 2 */
|
|
469
|
+
*height: 13px; /* 3 */
|
|
470
|
+
*width: 13px; /* 3 */
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
|
|
475
|
+
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
|
|
476
|
+
* (include `-moz` to future-proof).
|
|
477
|
+
*/
|
|
478
|
+
|
|
479
|
+
input[type="search"] {
|
|
480
|
+
-webkit-appearance: textfield; /* 1 */
|
|
481
|
+
-moz-box-sizing: content-box;
|
|
482
|
+
-webkit-box-sizing: content-box; /* 2 */
|
|
483
|
+
box-sizing: content-box;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Remove inner padding and search cancel button in Safari 5 and Chrome
|
|
488
|
+
* on OS X.
|
|
489
|
+
*/
|
|
490
|
+
|
|
491
|
+
input[type="search"]::-webkit-search-cancel-button,
|
|
492
|
+
input[type="search"]::-webkit-search-decoration {
|
|
493
|
+
-webkit-appearance: none;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Remove inner padding and border in Firefox 3+.
|
|
498
|
+
*/
|
|
499
|
+
|
|
500
|
+
button::-moz-focus-inner,
|
|
501
|
+
input::-moz-focus-inner {
|
|
502
|
+
border: 0;
|
|
503
|
+
padding: 0;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* 1. Remove default vertical scrollbar in IE 6/7/8/9.
|
|
508
|
+
* 2. Improve readability and alignment in all browsers.
|
|
509
|
+
*/
|
|
510
|
+
|
|
511
|
+
textarea {
|
|
512
|
+
overflow: auto; /* 1 */
|
|
513
|
+
vertical-align: top; /* 2 */
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/* ==========================================================================
|
|
517
|
+
Tables
|
|
518
|
+
========================================================================== */
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* Remove most spacing between table cells.
|
|
522
|
+
*/
|
|
523
|
+
|
|
524
|
+
table {
|
|
525
|
+
border-collapse: collapse;
|
|
526
|
+
border-spacing: 0;
|
|
527
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Html5bp
|
|
2
|
+
class LayoutGenerator < Rails::Generators::Base
|
|
3
|
+
source_root File.expand_path("../templates", __FILE__)
|
|
4
|
+
|
|
5
|
+
desc "Adds the application layout from HTML 5 Boilerplate gem"
|
|
6
|
+
def generate_layout
|
|
7
|
+
template "index.html.erb", "app/views/layouts/application.html.erb"
|
|
8
|
+
insert_into_file 'app/assets/stylesheets/application.css', "*= require 'main'\n *= require 'normalize'\n ", before: "*= require_tree ."
|
|
9
|
+
insert_into_file 'app/assets/javascripts/application.js', "\n//= require plugins", after: "//= require turbolinks"
|
|
10
|
+
create_file 'config/initializers/assets.rb', "Rails.application.config.assets.precompile += %w( modernizr-2.6.2.min.js )"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
|
3
|
+
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
|
4
|
+
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
|
5
|
+
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
|
|
6
|
+
<head>
|
|
7
|
+
<meta charset="utf-8">
|
|
8
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
9
|
+
<title></title>
|
|
10
|
+
<meta name="description" content="">
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
12
|
+
|
|
13
|
+
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
|
|
14
|
+
|
|
15
|
+
<%%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
|
16
|
+
<%%= javascript_include_tag 'modernizr-2.6.2.min', 'data-turbolinks-track' => true %>
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
<!--[if lt IE 7]>
|
|
20
|
+
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
|
|
21
|
+
<![endif]-->
|
|
22
|
+
|
|
23
|
+
<!-- Add your site or application content here -->
|
|
24
|
+
<%%= yield %>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<%%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
|
28
|
+
|
|
29
|
+
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
|
|
30
|
+
<script>
|
|
31
|
+
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
|
|
32
|
+
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
|
|
33
|
+
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
|
|
34
|
+
e.src='//www.google-analytics.com/analytics.js';
|
|
35
|
+
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
|
|
36
|
+
ga('create','UA-XXXXX-X');ga('send','pageview');
|
|
37
|
+
</script>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
data/lib/html5bp.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: html5bp
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Rodrigo Flores
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2014-05-03 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: railties
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ! '>='
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 4.1.0
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ! '>='
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: 4.1.0
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: thor
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ! '>='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: 0.19.1
|
|
38
|
+
type: :runtime
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 0.19.1
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: bundler
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ~>
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '1.3'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ~>
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '1.3'
|
|
62
|
+
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: rake
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
66
|
+
requirements:
|
|
67
|
+
- - ! '>='
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
type: :development
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
78
|
+
description: Loads html boilerplace into your rails app
|
|
79
|
+
email:
|
|
80
|
+
- mail@rodrigoflores.org
|
|
81
|
+
executables: []
|
|
82
|
+
extensions: []
|
|
83
|
+
extra_rdoc_files: []
|
|
84
|
+
files:
|
|
85
|
+
- .gitignore
|
|
86
|
+
- Gemfile
|
|
87
|
+
- LICENSE.txt
|
|
88
|
+
- README.md
|
|
89
|
+
- Rakefile
|
|
90
|
+
- html5bp.gemspec
|
|
91
|
+
- lib/assets/javascripts/modernizr-2.6.2.min.js
|
|
92
|
+
- lib/assets/javascripts/plugins.js
|
|
93
|
+
- lib/assets/stylesheets/main.css
|
|
94
|
+
- lib/assets/stylesheets/normalize.css
|
|
95
|
+
- lib/generators/html5bp/layout_generator.rb
|
|
96
|
+
- lib/generators/html5bp/templates/index.html.erb
|
|
97
|
+
- lib/html5bp.rb
|
|
98
|
+
- lib/html5bp/version.rb
|
|
99
|
+
homepage: ''
|
|
100
|
+
licenses:
|
|
101
|
+
- MIT
|
|
102
|
+
post_install_message:
|
|
103
|
+
rdoc_options: []
|
|
104
|
+
require_paths:
|
|
105
|
+
- lib
|
|
106
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
|
+
none: false
|
|
108
|
+
requirements:
|
|
109
|
+
- - ! '>='
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: '0'
|
|
112
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
|
+
none: false
|
|
114
|
+
requirements:
|
|
115
|
+
- - ! '>='
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
requirements: []
|
|
119
|
+
rubyforge_project:
|
|
120
|
+
rubygems_version: 1.8.23
|
|
121
|
+
signing_key:
|
|
122
|
+
specification_version: 3
|
|
123
|
+
summary: Loads html boilerplace into your rails app
|
|
124
|
+
test_files: []
|