├── .nojekyll ├── README.md ├── _assets ├── github-icon.png ├── glossary.doc └── glossary.pdf ├── _css └── main.css ├── _fonts ├── bitter-bold.eot ├── bitter-bold.svg ├── bitter-bold.ttf ├── bitter-bold.woff ├── bitter-bolditalic.eot ├── bitter-bolditalic.svg ├── bitter-bolditalic.ttf ├── bitter-bolditalic.woff ├── bitter-italic.eot ├── bitter-italic.svg ├── bitter-italic.ttf ├── bitter-italic.woff ├── bitter-regular.eot ├── bitter-regular.svg ├── bitter-regular.ttf ├── bitter-regular.woff ├── chunkymobile-regular.eot ├── chunkymobile-regular.svg ├── chunkymobile-regular.ttf └── chunkymobile-regular.woff ├── _scripts ├── modernizr-custom.js ├── respond.min.js ├── scripts.js └── vendor │ ├── jquery-1.10.1.min.js │ └── modernizr-2.6.2-respond-1.1.0.min.js ├── exercise_files ├── Chapter_02 │ ├── 02_07 │ │ ├── _css │ │ │ └── main.css │ │ ├── _scripts │ │ │ ├── modernizr-custom.js │ │ │ ├── respond.min.js │ │ │ ├── scripts.js │ │ │ └── vendor │ │ │ │ ├── jquery-1.10.1.min.js │ │ │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ │ └── index.html │ ├── 02_10 │ │ ├── _css │ │ │ └── main.css │ │ ├── _scripts │ │ │ ├── modernizr-custom.js │ │ │ ├── respond.min.js │ │ │ ├── scripts.js │ │ │ └── vendor │ │ │ │ ├── jquery-1.10.1.min.js │ │ │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ │ └── index.html │ ├── 02_14 │ │ ├── _assets │ │ │ └── fonts.txt │ │ ├── _css │ │ │ └── main.css │ │ ├── _fonts │ │ │ ├── bitter-bold.eot │ │ │ ├── bitter-bold.svg │ │ │ ├── bitter-bold.ttf │ │ │ ├── bitter-bold.woff │ │ │ ├── bitter-bolditalic.eot │ │ │ ├── bitter-bolditalic.svg │ │ │ ├── bitter-bolditalic.ttf │ │ │ ├── bitter-bolditalic.woff │ │ │ ├── bitter-italic.eot │ │ │ ├── bitter-italic.svg │ │ │ ├── bitter-italic.ttf │ │ │ ├── bitter-italic.woff │ │ │ ├── bitter-regular.eot │ │ │ ├── bitter-regular.svg │ │ │ ├── bitter-regular.ttf │ │ │ ├── bitter-regular.woff │ │ │ ├── chunkymobile-regular.eot │ │ │ ├── chunkymobile-regular.svg │ │ │ ├── chunkymobile-regular.ttf │ │ │ └── chunkymobile-regular.woff │ │ ├── _scripts │ │ │ ├── modernizr-custom.js │ │ │ ├── respond.min.js │ │ │ ├── scripts.js │ │ │ └── vendor │ │ │ │ ├── jquery-1.10.1.min.js │ │ │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ │ └── index.html │ └── 02_16 │ │ ├── _assets │ │ ├── css.txt │ │ └── fonts.txt │ │ ├── _css │ │ └── main.css │ │ ├── _fonts │ │ ├── bitter-bold.eot │ │ ├── bitter-bold.svg │ │ ├── bitter-bold.ttf │ │ ├── bitter-bold.woff │ │ ├── bitter-bolditalic.eot │ │ ├── bitter-bolditalic.svg │ │ ├── bitter-bolditalic.ttf │ │ ├── bitter-bolditalic.woff │ │ ├── bitter-italic.eot │ │ ├── bitter-italic.svg │ │ ├── bitter-italic.ttf │ │ ├── bitter-italic.woff │ │ ├── bitter-regular.eot │ │ ├── bitter-regular.svg │ │ ├── bitter-regular.ttf │ │ ├── bitter-regular.woff │ │ ├── chunkymobile-regular.eot │ │ ├── chunkymobile-regular.svg │ │ ├── chunkymobile-regular.ttf │ │ └── chunkymobile-regular.woff │ │ ├── _scripts │ │ ├── modernizr-custom.js │ │ ├── respond.min.js │ │ ├── scripts.js │ │ └── vendor │ │ │ ├── jquery-1.10.1.min.js │ │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ │ └── index.html ├── Chapter_03 │ └── 03_03 │ │ └── gitignore.txt ├── Chapter_04 │ ├── 04_03 │ │ ├── _assets │ │ │ ├── github-icon.png │ │ │ ├── glossary.doc │ │ │ └── glossary.pdf │ │ ├── _css │ │ │ └── main.css │ │ ├── _fonts │ │ │ ├── bitter-bold.eot │ │ │ ├── bitter-bold.svg │ │ │ ├── bitter-bold.ttf │ │ │ ├── bitter-bold.woff │ │ │ ├── bitter-bolditalic.eot │ │ │ ├── bitter-bolditalic.svg │ │ │ ├── bitter-bolditalic.ttf │ │ │ ├── bitter-bolditalic.woff │ │ │ ├── bitter-italic.eot │ │ │ ├── bitter-italic.svg │ │ │ ├── bitter-italic.ttf │ │ │ ├── bitter-italic.woff │ │ │ ├── bitter-regular.eot │ │ │ ├── bitter-regular.svg │ │ │ ├── bitter-regular.ttf │ │ │ ├── bitter-regular.woff │ │ │ ├── chunkymobile-regular.eot │ │ │ ├── chunkymobile-regular.svg │ │ │ ├── chunkymobile-regular.ttf │ │ │ └── chunkymobile-regular.woff │ │ ├── _scripts │ │ │ ├── modernizr-custom.js │ │ │ ├── respond.min.js │ │ │ ├── scripts.js │ │ │ └── vendor │ │ │ │ ├── jquery-1.10.1.min.js │ │ │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ │ ├── glossary.html │ │ ├── index.html │ │ ├── reference.html │ │ └── resources.html │ ├── 04_05 │ │ └── README.md │ ├── 04_06 │ │ └── link.txt │ ├── 04_08 │ │ └── .nojekyll │ ├── 04_11 │ │ └── definition.doc │ └── 04_13 │ │ ├── add.txt │ │ └── list.txt ├── Chapter_05 │ └── 05_05 │ │ └── glossary_content.htm └── Resources │ ├── README.md │ ├── _css │ └── main.css │ ├── _fonts │ ├── bitter-bold.eot │ ├── bitter-bold.svg │ ├── bitter-bold.ttf │ ├── bitter-bold.woff │ ├── bitter-bolditalic.eot │ ├── bitter-bolditalic.svg │ ├── bitter-bolditalic.ttf │ ├── bitter-bolditalic.woff │ ├── bitter-italic.eot │ ├── bitter-italic.svg │ ├── bitter-italic.ttf │ ├── bitter-italic.woff │ ├── bitter-regular.eot │ ├── bitter-regular.svg │ ├── bitter-regular.ttf │ ├── bitter-regular.woff │ ├── chunkymobile-regular.eot │ ├── chunkymobile-regular.svg │ ├── chunkymobile-regular.ttf │ └── chunkymobile-regular.woff │ ├── _scripts │ ├── modernizr-custom.js │ ├── respond.min.js │ ├── scripts.js │ └── vendor │ │ ├── jquery-1.10.1.min.js │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ ├── glossary.doc │ ├── glossary.html │ ├── glossary.pdf │ ├── index.html │ ├── reference.html │ └── resources.html ├── glossary.html ├── index.html ├── reference.html └── resources.html /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/.nojekyll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Github for Web Designers 2 | ======================== 3 | 4 | Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well. 5 | 6 | ##[View the companion reference site](http://jameswillweb.github.io/github-for-web-designers/) 7 | -------------------------------------------------------------------------------- /_assets/github-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_assets/github-icon.png -------------------------------------------------------------------------------- /_assets/glossary.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_assets/glossary.doc -------------------------------------------------------------------------------- /_assets/glossary.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_assets/glossary.pdf -------------------------------------------------------------------------------- /_fonts/bitter-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bold.eot -------------------------------------------------------------------------------- /_fonts/bitter-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bold.ttf -------------------------------------------------------------------------------- /_fonts/bitter-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bold.woff -------------------------------------------------------------------------------- /_fonts/bitter-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bolditalic.eot -------------------------------------------------------------------------------- /_fonts/bitter-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bolditalic.ttf -------------------------------------------------------------------------------- /_fonts/bitter-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-bolditalic.woff -------------------------------------------------------------------------------- /_fonts/bitter-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-italic.eot -------------------------------------------------------------------------------- /_fonts/bitter-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-italic.ttf -------------------------------------------------------------------------------- /_fonts/bitter-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-italic.woff -------------------------------------------------------------------------------- /_fonts/bitter-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-regular.eot -------------------------------------------------------------------------------- /_fonts/bitter-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-regular.ttf -------------------------------------------------------------------------------- /_fonts/bitter-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/bitter-regular.woff -------------------------------------------------------------------------------- /_fonts/chunkymobile-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/chunkymobile-regular.eot -------------------------------------------------------------------------------- /_fonts/chunkymobile-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/chunkymobile-regular.ttf -------------------------------------------------------------------------------- /_fonts/chunkymobile-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/_fonts/chunkymobile-regular.woff -------------------------------------------------------------------------------- /_scripts/modernizr-custom.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.7.1 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-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-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-css_mediaqueries-css_regions-svg_filters-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function C(a){i.cssText=a}function D(a,b){return C(m.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=g,(m?l:n).innerHTML+=h,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=f.style.overflow,f.style.overflow="hidden",f.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),f.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return x("@media "+b+" { #"+g+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},z=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=E(e[d],"function"),E(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}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(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=v.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(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexbox=function(){return I("flexWrap")},r.flexboxlegacy=function(){return I("boxDirection")},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x(["@media (",m.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){return!!a.openDatabase},r.indexedDB=function(){return!!I("indexedDB",a)},r.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},r.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},r.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(i.backgroundColor,"rgba")},r.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(i.backgroundColor,"rgba")||F(i.backgroundColor,"hsla")},r.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(i.background)},r.backgroundsize=function(){return I("backgroundSize")},r.borderimage=function(){return I("borderImage")},r.borderradius=function(){return I("borderRadius")},r.boxshadow=function(){return I("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){return D("opacity:.55"),/^0.55$/.test(i.opacity)},r.cssanimations=function(){return I("animationName")},r.csscolumns=function(){return I("columnCount")},r.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 C((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),F(i.backgroundImage,"gradient")},r.cssreflections=function(){return I("boxReflect")},r.csstransforms=function(){return!!I("transform")},r.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in f.style&&x("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},r.csstransitions=function(){return I("transition")},r.fontface=function(){var a;return x('@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},r.generatedcontent=function(){var a;return x(["#",g,"{font:0/0 a}#",g,':after{content:"',k,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},r.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},r.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},r.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,"clipPath")))};for(var K in r)B(r,K)&&(w=K.toLowerCase(),e[w]=r[K](),u.push((e[w]?"":"no-")+w));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),h=j=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=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){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=x,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},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=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_07/_css/main.css: -------------------------------------------------------------------------------- 1 | /* -lynda.com base template styles 2 | based partially from normalize.css v3.0.0 | MIT License | git.io/normalize 3 | and includes micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ 4 | */ 5 | 6 | html { 7 | -ms-text-size-adjust: 100%; 8 | -webkit-text-size-adjust: 100%; 9 | } 10 | html, body { 11 | margin: 0; 12 | } 13 | /* Correct `block` display not defined in IE 8/9.*/ 14 | article,aside,details,figcaption,figure,footer,header,main,nav,section,summary { 15 | display: block; 16 | } 17 | 18 | /* Correct `inline-block` display not defined in IE 8/9. */ 19 | audio,canvas,progress,video { 20 | display: inline-block; 21 | vertical-align: baseline; 22 | } 23 | 24 | /*Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices.*/ 25 | audio:not([controls]) { 26 | display: none; 27 | height: 0; 28 | } 29 | 30 | /* Links 31 | ========================================================================== */ 32 | 33 | a { 34 | background: transparent; 35 | } 36 | 37 | /* Improve readability when focused and also mouse hovered in all browsers.*/ 38 | a:active, 39 | a:hover { 40 | outline: 0; 41 | } 42 | 43 | /*Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/ 44 | b,strong { 45 | font-weight: bold; 46 | } 47 | 48 | /* Prevent `sub` and `sup` affecting `line-height` in all browsers.*/ 49 | sub, 50 | sup { 51 | font-size: 75%; 52 | line-height: 0; 53 | position: relative; 54 | vertical-align: baseline; 55 | } 56 | sup { 57 | top: -0.5em; 58 | } 59 | sub { 60 | bottom: -0.25em; 61 | } 62 | /* Remove border when inside `a` element in IE 8/9.*/ 63 | img { 64 | border: 0; 65 | } 66 | /* Correct overflow displayed oddly in IE 9.*/ 67 | svg:not(:root) { 68 | overflow: hidden; 69 | } 70 | 71 | pre { 72 | background: black; 73 | padding: 1em 2em; 74 | color: #F2EFB5; 75 | font-size: 1.4em; 76 | white-space: pre-wrap; 77 | white-space: -moz-pre-wrap; 78 | white-space: -pre-wrap; 79 | white-space: -o-pre-wrap; 80 | word-wrap: break-word; 81 | overflow: auto; 82 | } 83 | 84 | /* Forms 85 | ========================================================================== */ 86 | 87 | /*Address margins set differently in Firefox 4+, Safari 5, and Chrome.*/ 88 | 89 | button, input,optgroup,select,textarea { 90 | margin: 0; 91 | } 92 | 93 | /*Address `overflow` set to `hidden` in IE 8/9/10.*/ 94 | button { 95 | overflow: visible; 96 | } 97 | /* Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. Correct inability to style clickable `input` types in iOS. Improve usability and consistency of cursor style between image-type `input` and others. */ 98 | 99 | button, 100 | html input[type="button"], /* 1 */ 101 | input[type="reset"], 102 | input[type="submit"] { 103 | -webkit-appearance: button; /* 2 */ 104 | cursor: pointer; /* 3 */ 105 | } 106 | /* Remove inner padding and border in Firefox 4+.*/ 107 | button::-moz-focus-inner, 108 | input::-moz-focus-inner { 109 | border: 0; 110 | padding: 0; 111 | } 112 | 113 | /* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ 114 | input { 115 | line-height: normal; 116 | } 117 | 118 | /*Address `appearance` set to `searchfield` in Safari 5 and Chrome. Address `box-sizing` set to `border-box` in Safari 5 and Chrome */ 119 | 120 | input[type="search"] { 121 | -webkit-appearance: textfield; 122 | -moz-box-sizing: content-box; 123 | -webkit-box-sizing: content-box; 124 | box-sizing: content-box; 125 | } 126 | 127 | /* Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance).*/ 128 | 129 | input[type="search"]::-webkit-search-cancel-button, 130 | input[type="search"]::-webkit-search-decoration { 131 | -webkit-appearance: none; 132 | } 133 | 134 | /* Remove default vertical scrollbar in IE 8/9 */ 135 | textarea { 136 | overflow: auto; 137 | } 138 | /*Global classes*/ 139 | /*micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/*/ 140 | /* For modern browsers */ 141 | .cf:before, 142 | .cf:after { 143 | content:""; 144 | display:table; 145 | } 146 | .cf:after { 147 | clear:both; 148 | } 149 | /* For IE 6/7 (trigger hasLayout) */ 150 | .cf { 151 | zoom:1; 152 | } 153 | .cr { 154 | clear: right; 155 | } 156 | .cl { 157 | clear: left; 158 | } 159 | .cb { 160 | clear: both; 161 | } -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_07/_scripts/modernizr-custom.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.7.1 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-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-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-css_mediaqueries-css_regions-svg_filters-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function C(a){i.cssText=a}function D(a,b){return C(m.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=g,(m?l:n).innerHTML+=h,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=f.style.overflow,f.style.overflow="hidden",f.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),f.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return x("@media "+b+" { #"+g+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},z=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=E(e[d],"function"),E(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}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(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=v.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(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexbox=function(){return I("flexWrap")},r.flexboxlegacy=function(){return I("boxDirection")},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x(["@media (",m.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){return!!a.openDatabase},r.indexedDB=function(){return!!I("indexedDB",a)},r.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},r.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},r.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(i.backgroundColor,"rgba")},r.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(i.backgroundColor,"rgba")||F(i.backgroundColor,"hsla")},r.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(i.background)},r.backgroundsize=function(){return I("backgroundSize")},r.borderimage=function(){return I("borderImage")},r.borderradius=function(){return I("borderRadius")},r.boxshadow=function(){return I("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){return D("opacity:.55"),/^0.55$/.test(i.opacity)},r.cssanimations=function(){return I("animationName")},r.csscolumns=function(){return I("columnCount")},r.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 C((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),F(i.backgroundImage,"gradient")},r.cssreflections=function(){return I("boxReflect")},r.csstransforms=function(){return!!I("transform")},r.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in f.style&&x("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},r.csstransitions=function(){return I("transition")},r.fontface=function(){var a;return x('@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},r.generatedcontent=function(){var a;return x(["#",g,"{font:0/0 a}#",g,':after{content:"',k,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},r.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},r.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},r.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,"clipPath")))};for(var K in r)B(r,K)&&(w=K.toLowerCase(),e[w]=r[K](),u.push((e[w]?"":"no-")+w));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),h=j=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=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){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=x,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},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=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_07/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_07/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lynda boilerplate 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Page title

18 |
19 | 21 |
22 |
23 |
24 |
25 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_10/_css/main.css: -------------------------------------------------------------------------------- 1 | /* -lynda.com base template styles 2 | based partially from normalize.css v3.0.0 | MIT License | git.io/normalize 3 | and includes micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ 4 | */ 5 | 6 | html { 7 | -ms-text-size-adjust: 100%; 8 | -webkit-text-size-adjust: 100%; 9 | } 10 | html, body { 11 | margin: 0; 12 | } 13 | /* Correct `block` display not defined in IE 8/9.*/ 14 | article,aside,details,figcaption,figure,footer,header,main,nav,section,summary { 15 | display: block; 16 | } 17 | 18 | /* Correct `inline-block` display not defined in IE 8/9. */ 19 | audio,canvas,progress,video { 20 | display: inline-block; 21 | vertical-align: baseline; 22 | } 23 | 24 | /*Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices.*/ 25 | audio:not([controls]) { 26 | display: none; 27 | height: 0; 28 | } 29 | 30 | /* Links 31 | ========================================================================== */ 32 | 33 | a { 34 | background: transparent; 35 | } 36 | 37 | /* Improve readability when focused and also mouse hovered in all browsers.*/ 38 | a:active, 39 | a:hover { 40 | outline: 0; 41 | } 42 | 43 | /*Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/ 44 | b,strong { 45 | font-weight: bold; 46 | } 47 | 48 | /* Prevent `sub` and `sup` affecting `line-height` in all browsers.*/ 49 | sub, 50 | sup { 51 | font-size: 75%; 52 | line-height: 0; 53 | position: relative; 54 | vertical-align: baseline; 55 | } 56 | sup { 57 | top: -0.5em; 58 | } 59 | sub { 60 | bottom: -0.25em; 61 | } 62 | /* Remove border when inside `a` element in IE 8/9.*/ 63 | img { 64 | border: 0; 65 | } 66 | /* Correct overflow displayed oddly in IE 9.*/ 67 | svg:not(:root) { 68 | overflow: hidden; 69 | } 70 | 71 | pre { 72 | background: black; 73 | padding: 1em 2em; 74 | color: #F2EFB5; 75 | font-size: 1.4em; 76 | white-space: pre-wrap; 77 | white-space: -moz-pre-wrap; 78 | white-space: -pre-wrap; 79 | white-space: -o-pre-wrap; 80 | word-wrap: break-word; 81 | overflow: auto; 82 | } 83 | 84 | /* Forms 85 | ========================================================================== */ 86 | 87 | /*Address margins set differently in Firefox 4+, Safari 5, and Chrome.*/ 88 | 89 | button, input,optgroup,select,textarea { 90 | margin: 0; 91 | } 92 | 93 | /*Address `overflow` set to `hidden` in IE 8/9/10.*/ 94 | button { 95 | overflow: visible; 96 | } 97 | /* Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. Correct inability to style clickable `input` types in iOS. Improve usability and consistency of cursor style between image-type `input` and others. */ 98 | 99 | button, 100 | html input[type="button"], /* 1 */ 101 | input[type="reset"], 102 | input[type="submit"] { 103 | -webkit-appearance: button; /* 2 */ 104 | cursor: pointer; /* 3 */ 105 | } 106 | /* Remove inner padding and border in Firefox 4+.*/ 107 | button::-moz-focus-inner, 108 | input::-moz-focus-inner { 109 | border: 0; 110 | padding: 0; 111 | } 112 | 113 | /* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ 114 | input { 115 | line-height: normal; 116 | } 117 | 118 | /*Address `appearance` set to `searchfield` in Safari 5 and Chrome. Address `box-sizing` set to `border-box` in Safari 5 and Chrome */ 119 | 120 | input[type="search"] { 121 | -webkit-appearance: textfield; 122 | -moz-box-sizing: content-box; 123 | -webkit-box-sizing: content-box; 124 | box-sizing: content-box; 125 | } 126 | 127 | /* Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance).*/ 128 | 129 | input[type="search"]::-webkit-search-cancel-button, 130 | input[type="search"]::-webkit-search-decoration { 131 | -webkit-appearance: none; 132 | } 133 | 134 | /* Remove default vertical scrollbar in IE 8/9 */ 135 | textarea { 136 | overflow: auto; 137 | } 138 | /*Global classes*/ 139 | /*micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/*/ 140 | /* For modern browsers */ 141 | .cf:before, 142 | .cf:after { 143 | content:""; 144 | display:table; 145 | } 146 | .cf:after { 147 | clear:both; 148 | } 149 | /* For IE 6/7 (trigger hasLayout) */ 150 | .cf { 151 | zoom:1; 152 | } 153 | .cr { 154 | clear: right; 155 | } 156 | .cl { 157 | clear: left; 158 | } 159 | .cb { 160 | clear: both; 161 | } -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_10/_scripts/modernizr-custom.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.7.1 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-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-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-css_mediaqueries-css_regions-svg_filters-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function C(a){i.cssText=a}function D(a,b){return C(m.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=g,(m?l:n).innerHTML+=h,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=f.style.overflow,f.style.overflow="hidden",f.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),f.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return x("@media "+b+" { #"+g+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},z=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=E(e[d],"function"),E(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}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(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=v.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(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexbox=function(){return I("flexWrap")},r.flexboxlegacy=function(){return I("boxDirection")},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x(["@media (",m.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){return!!a.openDatabase},r.indexedDB=function(){return!!I("indexedDB",a)},r.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},r.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},r.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(i.backgroundColor,"rgba")},r.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(i.backgroundColor,"rgba")||F(i.backgroundColor,"hsla")},r.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(i.background)},r.backgroundsize=function(){return I("backgroundSize")},r.borderimage=function(){return I("borderImage")},r.borderradius=function(){return I("borderRadius")},r.boxshadow=function(){return I("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){return D("opacity:.55"),/^0.55$/.test(i.opacity)},r.cssanimations=function(){return I("animationName")},r.csscolumns=function(){return I("columnCount")},r.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 C((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),F(i.backgroundImage,"gradient")},r.cssreflections=function(){return I("boxReflect")},r.csstransforms=function(){return!!I("transform")},r.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in f.style&&x("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},r.csstransitions=function(){return I("transition")},r.fontface=function(){var a;return x('@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},r.generatedcontent=function(){var a;return x(["#",g,"{font:0/0 a}#",g,':after{content:"',k,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},r.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},r.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},r.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,"clipPath")))};for(var K in r)B(r,K)&&(w=K.toLowerCase(),e[w]=r[K](),u.push((e[w]?"":"no-")+w));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),h=j=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=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){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=x,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},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=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_10/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_10/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lynda boilerplate 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Page title

18 |
19 | 21 |
22 |
23 |
24 |
25 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_css/main.css: -------------------------------------------------------------------------------- 1 | /* -lynda.com base template styles 2 | based partially from normalize.css v3.0.0 | MIT License | git.io/normalize 3 | and includes micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ 4 | */ 5 | 6 | html { 7 | -ms-text-size-adjust: 100%; 8 | -webkit-text-size-adjust: 100%; 9 | } 10 | html, body { 11 | margin: 0; 12 | } 13 | /* Correct `block` display not defined in IE 8/9.*/ 14 | article,aside,details,figcaption,figure,footer,header,main,nav,section,summary { 15 | display: block; 16 | } 17 | 18 | /* Correct `inline-block` display not defined in IE 8/9. */ 19 | audio,canvas,progress,video { 20 | display: inline-block; 21 | vertical-align: baseline; 22 | } 23 | 24 | /*Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices.*/ 25 | audio:not([controls]) { 26 | display: none; 27 | height: 0; 28 | } 29 | 30 | /* Links 31 | ========================================================================== */ 32 | 33 | a { 34 | background: transparent; 35 | } 36 | 37 | /* Improve readability when focused and also mouse hovered in all browsers.*/ 38 | a:active, 39 | a:hover { 40 | outline: 0; 41 | } 42 | 43 | /*Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/ 44 | b,strong { 45 | font-weight: bold; 46 | } 47 | 48 | /* Prevent `sub` and `sup` affecting `line-height` in all browsers.*/ 49 | sub, 50 | sup { 51 | font-size: 75%; 52 | line-height: 0; 53 | position: relative; 54 | vertical-align: baseline; 55 | } 56 | sup { 57 | top: -0.5em; 58 | } 59 | sub { 60 | bottom: -0.25em; 61 | } 62 | /* Remove border when inside `a` element in IE 8/9.*/ 63 | img { 64 | border: 0; 65 | } 66 | /* Correct overflow displayed oddly in IE 9.*/ 67 | svg:not(:root) { 68 | overflow: hidden; 69 | } 70 | 71 | pre { 72 | background: black; 73 | padding: 1em 2em; 74 | color: #F2EFB5; 75 | font-size: 1.4em; 76 | white-space: pre-wrap; 77 | white-space: -moz-pre-wrap; 78 | white-space: -pre-wrap; 79 | white-space: -o-pre-wrap; 80 | word-wrap: break-word; 81 | overflow: auto; 82 | } 83 | 84 | /* Forms 85 | ========================================================================== */ 86 | 87 | /*Address margins set differently in Firefox 4+, Safari 5, and Chrome.*/ 88 | 89 | button, input,optgroup,select,textarea { 90 | margin: 0; 91 | } 92 | 93 | /*Address `overflow` set to `hidden` in IE 8/9/10.*/ 94 | button { 95 | overflow: visible; 96 | } 97 | /* Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. Correct inability to style clickable `input` types in iOS. Improve usability and consistency of cursor style between image-type `input` and others. */ 98 | 99 | button, 100 | html input[type="button"], /* 1 */ 101 | input[type="reset"], 102 | input[type="submit"] { 103 | -webkit-appearance: button; /* 2 */ 104 | cursor: pointer; /* 3 */ 105 | } 106 | /* Remove inner padding and border in Firefox 4+.*/ 107 | button::-moz-focus-inner, 108 | input::-moz-focus-inner { 109 | border: 0; 110 | padding: 0; 111 | } 112 | 113 | /* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ 114 | input { 115 | line-height: normal; 116 | } 117 | 118 | /*Address `appearance` set to `searchfield` in Safari 5 and Chrome. Address `box-sizing` set to `border-box` in Safari 5 and Chrome */ 119 | 120 | input[type="search"] { 121 | -webkit-appearance: textfield; 122 | -moz-box-sizing: content-box; 123 | -webkit-box-sizing: content-box; 124 | box-sizing: content-box; 125 | } 126 | 127 | /* Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance).*/ 128 | 129 | input[type="search"]::-webkit-search-cancel-button, 130 | input[type="search"]::-webkit-search-decoration { 131 | -webkit-appearance: none; 132 | } 133 | 134 | /* Remove default vertical scrollbar in IE 8/9 */ 135 | textarea { 136 | overflow: auto; 137 | } 138 | /*Global classes*/ 139 | /*micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/*/ 140 | /* For modern browsers */ 141 | .cf:before, 142 | .cf:after { 143 | content:""; 144 | display:table; 145 | } 146 | .cf:after { 147 | clear:both; 148 | } 149 | /* For IE 6/7 (trigger hasLayout) */ 150 | .cf { 151 | zoom:1; 152 | } 153 | .cr { 154 | clear: right; 155 | } 156 | .cl { 157 | clear: left; 158 | } 159 | .cb { 160 | clear: both; 161 | } -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bold.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bold.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bold.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-bolditalic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-italic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-italic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-italic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/bitter-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/bitter-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_14/_fonts/chunkymobile-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_scripts/respond.min.js: -------------------------------------------------------------------------------- 1 | /*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 2 | (function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_14/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 21 |
22 |
23 |
24 |
25 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_assets/css.txt: -------------------------------------------------------------------------------- 1 | /* Specific elements 2 | ========================================================================*/ 3 | header,main,footer { 4 | padding: 0 2em; 5 | } 6 | header { 7 | border-bottom:1px solid rgb(157,189,198); 8 | margin-bottom: 1em; 9 | background: rgb(218,234,239); 10 | } 11 | header h1 { 12 | color: rgb(127,64,45); 13 | padding-top: 1em; 14 | } 15 | 16 | main h2 { 17 | margin-top: 0.2em; 18 | margin-bottom: 0.5em; 19 | } 20 | main h3 { 21 | margin-top: 0.2em; 22 | margin-bottom: 0; 23 | } 24 | footer { 25 | background: rgb(157,189,198); 26 | padding: 2em; 27 | font-size: 0.8em; 28 | } -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_css/main.css: -------------------------------------------------------------------------------- 1 | /* -lynda.com base template styles 2 | based partially from normalize.css v3.0.0 | MIT License | git.io/normalize 3 | and includes micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ 4 | */ 5 | 6 | html { 7 | -ms-text-size-adjust: 100%; 8 | -webkit-text-size-adjust: 100%; 9 | } 10 | html, body { 11 | margin: 0; 12 | } 13 | /* Correct `block` display not defined in IE 8/9.*/ 14 | article,aside,details,figcaption,figure,footer,header,main,nav,section,summary { 15 | display: block; 16 | } 17 | 18 | /* Correct `inline-block` display not defined in IE 8/9. */ 19 | audio,canvas,progress,video { 20 | display: inline-block; 21 | vertical-align: baseline; 22 | } 23 | 24 | /*Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices.*/ 25 | audio:not([controls]) { 26 | display: none; 27 | height: 0; 28 | } 29 | 30 | /* Links 31 | ========================================================================== */ 32 | 33 | a { 34 | background: transparent; 35 | } 36 | 37 | /* Improve readability when focused and also mouse hovered in all browsers.*/ 38 | a:active, 39 | a:hover { 40 | outline: 0; 41 | } 42 | 43 | /*Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/ 44 | b,strong { 45 | font-weight: bold; 46 | } 47 | 48 | /* Prevent `sub` and `sup` affecting `line-height` in all browsers.*/ 49 | sub, 50 | sup { 51 | font-size: 75%; 52 | line-height: 0; 53 | position: relative; 54 | vertical-align: baseline; 55 | } 56 | sup { 57 | top: -0.5em; 58 | } 59 | sub { 60 | bottom: -0.25em; 61 | } 62 | /* Remove border when inside `a` element in IE 8/9.*/ 63 | img { 64 | border: 0; 65 | } 66 | /* Correct overflow displayed oddly in IE 9.*/ 67 | svg:not(:root) { 68 | overflow: hidden; 69 | } 70 | 71 | pre { 72 | background: black; 73 | padding: 1em 2em; 74 | color: #F2EFB5; 75 | font-size: 1.4em; 76 | white-space: pre-wrap; 77 | white-space: -moz-pre-wrap; 78 | white-space: -pre-wrap; 79 | white-space: -o-pre-wrap; 80 | word-wrap: break-word; 81 | overflow: auto; 82 | } 83 | /* Icons 84 | ========================================================================*/ 85 | span[data-icon]:before { 86 | font-family: chunky_mobile; 87 | content: attr(data-icon); 88 | speak: none; 89 | font-weight: 400; 90 | font-style: normal; 91 | font-variant: normal; 92 | text-transform:none; 93 | display: inline-block; 94 | font-size: 2em; 95 | line-height: 1; 96 | -webkit-font-smoothing: antialiased; 97 | -moz-osx-font-smoothing: grayscale; 98 | } 99 | 100 | /* Specific elements 101 | ========================================================================*/ 102 | header,main,footer { 103 | padding: 0 2em; 104 | } 105 | header { 106 | border-bottom:1px solid rgb(157,189,198); 107 | margin-bottom: 1em; 108 | background: rgb(218,234,239); 109 | } 110 | header h1 { 111 | color: rgb(127,64,45); 112 | padding-top: 1em; 113 | } 114 | 115 | main h2 { 116 | margin-top: 0.2em; 117 | margin-bottom: 0.5em; 118 | } 119 | main h3 { 120 | margin-top: 0.2em; 121 | margin-bottom: 0; 122 | } 123 | footer { 124 | background: rgb(157,189,198); 125 | padding: 2em; 126 | font-size: 0.8em; 127 | } 128 | /* Forms 129 | ========================================================================== */ 130 | 131 | /*Address margins set differently in Firefox 4+, Safari 5, and Chrome.*/ 132 | 133 | button, input,optgroup,select,textarea { 134 | margin: 0; 135 | } 136 | 137 | /*Address `overflow` set to `hidden` in IE 8/9/10.*/ 138 | button { 139 | overflow: visible; 140 | } 141 | /* Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. Correct inability to style clickable `input` types in iOS. Improve usability and consistency of cursor style between image-type `input` and others. */ 142 | 143 | button, 144 | html input[type="button"], /* 1 */ 145 | input[type="reset"], 146 | input[type="submit"] { 147 | -webkit-appearance: button; /* 2 */ 148 | cursor: pointer; /* 3 */ 149 | } 150 | /* Remove inner padding and border in Firefox 4+.*/ 151 | button::-moz-focus-inner, 152 | input::-moz-focus-inner { 153 | border: 0; 154 | padding: 0; 155 | } 156 | 157 | /* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ 158 | input { 159 | line-height: normal; 160 | } 161 | 162 | /*Address `appearance` set to `searchfield` in Safari 5 and Chrome. Address `box-sizing` set to `border-box` in Safari 5 and Chrome */ 163 | 164 | input[type="search"] { 165 | -webkit-appearance: textfield; 166 | -moz-box-sizing: content-box; 167 | -webkit-box-sizing: content-box; 168 | box-sizing: content-box; 169 | } 170 | 171 | /* Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance).*/ 172 | 173 | input[type="search"]::-webkit-search-cancel-button, 174 | input[type="search"]::-webkit-search-decoration { 175 | -webkit-appearance: none; 176 | } 177 | 178 | /* Remove default vertical scrollbar in IE 8/9 */ 179 | textarea { 180 | overflow: auto; 181 | } 182 | /*Global classes*/ 183 | /*micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/*/ 184 | /* For modern browsers */ 185 | .cf:before, 186 | .cf:after { 187 | content:""; 188 | display:table; 189 | } 190 | .cf:after { 191 | clear:both; 192 | } 193 | /* For IE 6/7 (trigger hasLayout) */ 194 | .cf { 195 | zoom:1; 196 | } 197 | .cr { 198 | clear: right; 199 | } 200 | .cl { 201 | clear: left; 202 | } 203 | .cb { 204 | clear: both; 205 | } -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bold.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bold.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bold.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-bolditalic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-italic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-italic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-italic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/bitter-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/bitter-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_02/02_16/_fonts/chunkymobile-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_scripts/respond.min.js: -------------------------------------------------------------------------------- 1 | /*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 2 | (function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_02/02_16/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 21 |
22 |
23 |
24 |
25 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /exercise_files/Chapter_03/03_03/gitignore.txt: -------------------------------------------------------------------------------- 1 | # Exclude the .htaccess file 2 | .htaccess 3 | 4 | # Exclude any PSD/AI source 5 | *.psd 6 | *.ai 7 | 8 | # Exclude the build products 9 | build/* 10 | *.[oa] 11 | 12 | # Exclude OS X folder attributes 13 | .DS_Store 14 | 15 | # Exclude Text Files 16 | *.txt 17 | # Except read me 18 | !README.txt 19 | 20 | # Exclude log files 21 | *.log 22 | 23 | # Exclude Fonts 24 | _fonts/ 25 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_assets/github-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_assets/github-icon.png -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_assets/glossary.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_assets/glossary.doc -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_assets/glossary.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_assets/glossary.pdf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bold.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bold.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bold.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-bolditalic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-italic.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-italic.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-italic.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/bitter-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/bitter-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.eot -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_03/_fonts/chunkymobile-regular.woff -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_scripts/respond.min.js: -------------------------------------------------------------------------------- 1 | /*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 2 | (function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/glossary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Github Glossary

29 |

This is a short glossary of terms you're likely to encounter when learning Github. It's by no means complete, but should give you a good overview of commonly used terminology and their definitions.

30 |
31 | 35 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Welcome

29 |

Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well.

30 |

This course is the result of my own frustrations from trying to learn Github. It seemed like every tutorial I took, or article I read, assumed I was a developer and used terms and terminology that I just wasn't familiar with. Perhaps worse than that, because certain things were assumed it would often halt my learning process because I wouldn't understand how to fill in the blanks between steps. I decided to jump in headfirst, make lots of mistakes, and research things that as a designer I wasn't really that interested in. The result was that I learned Github the hard way, and I'm hoping my course means that you don't have to.

31 |

Stuff I learned

32 |

Whenever I learn something new I have those "aha” moments where I break through the murk into moments of clarity. In addition to the reference and glossary that you’ll find here I wanted to list some of the concepts that I found really important when learning Github.

33 |

Take some time to learn Git

34 |

I'll admit it; when I first started learning Github my hope was that it would provide me an interface to do all the things I needed to do without actually having to learn Git. While most of the basic day to day tasks can be performed without ever going into the command line or even understanding the terminology involved, eventually you'll have a situation that you can't fix. Save yourself the trouble and go ahead and learn at least the basics of Git first. I consider this so important that I changed the structure of my course to reflect this; spending a chapter at the beginning of the course teaching those basics. Although you can certainly muddle along it's almost impossible to use Github to its fullest potential without also knowing Git. The desktop apps are great and very intuitive but they have limited feature sets and don't really try to teach you what's going on behind the scenes.

35 |

Understand what is meant by "distributed"

36 |

Git is a distributed version control system, meaning that all copies of the repositories are local. Here are some highligts that you should take away.

37 |
38 |
No central repository 39 |
40 |
All copies of it are local and can update other copies
41 |
Doesn’t create multiple copies of files 42 |
43 |
Git maintains a single directory structure. "Snapshots" are taken of projects as they progress to save history states.
44 |
You can branch snapshots to create infinite project variations. 45 |
46 |
Branching is incredibly powerful and allows you to create several different versions of your project without disturbing the history of the main project.
47 |
48 |

The concept of staged files

49 |

This one was tricky for me at first. I assumed that most version control systems automatically tracked and versioned files. That's not how Git works, in Git you have to first stage a file in order to include it in the next snapshot, referred to as a commit.

50 |
51 |
Files aren’t added to commits automatically 52 |
53 |
You have to add files manually in order for them to be committed in the next snapshot. This adds a little bit more manual labor to the process, but also gives you much more control over how and when things are recorded.
54 |
Staged files are ‘frozen’ once staged 55 |
56 |
If you update a file once it's been staged, the staged version of it doesn't record this. In order to make sure that the most recent changes are committed you'll need to restage the file.
57 |
You can un-stage files 58 |
59 |
If you decide that you've made a mistake, it's very easy to un-stage a file so that it's not included in the next commit.
60 |
61 |

How important Branching is

62 |

As a designer the ability to branch off from your main project, experiment or refine, and then return back to your main project and merge in those changes is fantastic. No more will I create 15 versions of the same file, or multiple directories of the same project nested inside each other. With branching I can simply create a new branch do what I need to do and then decide whether or not I want to keep or get rid of the changes I've made. It's an incredibly liberating way to work and I would encourage you to learn as much as you can about how branching and merging work.

63 |
64 |
Branches give you flexibility 65 |
66 |
Branches allow for simultaneous development, experimentation, and error fixing without disturbing the stable version.
67 |
You can keep them private 68 |
69 |
Branches are private, meaning they’re not uploaded to Github unless you want them to be.
70 |
Understanding merging is key 71 |
72 |
You need to spend time learning how merging works, I mean really understanding it so that you know what to expect when merging branches.
73 |
Develop a workflow pattern for branching 74 |
75 |
If you don’t things can get messy fast. This is even more important in a team environment where you're working with multiple collaborators.
76 |
77 |

Github is a publishing platform

78 |

I kind of already knew this when I started learning Github since this was one of the reasons I really wanted to learn it. However, it's important to point out how evolved Github has become as a publishing platform.

79 |
80 |
Sharing projects publicly 81 |
82 |
Projects can be shared and distributed with the public without having to buy hosting or register a domain.
83 |
Collaborators from around the world can/may offer assistance 84 |
85 |
This is one of the coolest aspects. If you have a really great idea but lack skills in a certain area you can put the project up on Github and ask for assistance. The open source nature of the Github community means that you may get dozens or even hundreds of collaborators helping you with your project. Just keep in mind that open source means just that. You'll need to carefully research the licensing options and understand that you are releasing your project to the world.
86 |
Github Pages add polish 87 |
88 |
Github Pages allow you to host a basic site for your project. You can create your own or use their Jekyll template to generate pages. This reference is an example of Github Pages.
89 |
90 |

Clarity is important

91 |

There are many places in the Github workflow where you have to compose messages or descriptions for actions. I've learned the hard way that it's really important to be as descriptive as possible. Whether it’s writing the project’s readme file or making commit messages it’s critical that you write clearly and concisely. Not only for others but so that future-you understands it as well. 92 |

93 |

94 |
95 |
96 |
97 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_03/resources.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Resources

29 |

Here are a few links to additional resources that can help deepen your understanding of Github and serve as a reference for you as you learn it.

30 |

Courses & Online Books

31 |

Git Essential Training - Kevin Skoglund

38 |

Deep dive into Git with step-by-step exercises

39 |

Pro Git - Scott Chacon

40 |

Online version of Scott's authoritative book on Git.

41 |

Online Articles & Tutorials

42 |

Git Tutorials - Atlassian

43 |

Clearn, concise tutorials on Git.

44 |

Designing Github for Mac - Kyle Neath

45 |

Fantastic article about the design decisions made when creating the Mac Github Client. Offers insight into how the client works and perceived workflows.

46 |

Aha! Moments When Learning Git - Kalid Azad

47 |

Great article that focuses on the concepts important to fully understanding Git.

48 |

References & Cheatsheets

49 |

Github help

50 |

Github Glossary

51 |

Official Git reference

52 |

Quick Git reference

53 |

Git Cheatsheet

54 |
55 | 59 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_05/README.md: -------------------------------------------------------------------------------- 1 | Github for Web Designers 2 | ======================== 3 | 4 | Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well. 5 | -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_06/link.txt: -------------------------------------------------------------------------------- 1 | ##[View the companion reference site](-copy link from github-) -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_08/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_08/.nojekyll -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_11/definition.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Chapter_04/04_11/definition.doc -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_13/add.txt: -------------------------------------------------------------------------------- 1 | Added on the third commit -------------------------------------------------------------------------------- /exercise_files/Chapter_04/04_13/list.txt: -------------------------------------------------------------------------------- 1 | This is the first commit -------------------------------------------------------------------------------- /exercise_files/Chapter_05/05_05/glossary_content.htm: -------------------------------------------------------------------------------- 1 |
2 |
Add
3 |
Command used to stage files. Allows the user to specify which files or directories to include in the next commit.
4 |
Branch
5 |
A parallel version of a repository. Although it is contained within the same repository it allows you to develop it separately and then merge changes back into the ‘live’ repository or with other branches when appropriate.
6 |
Checkout
7 |
Git command to switch to a specific file, branch, or commit. Allows you to activate older versions of files or commits or switch between active branches.
8 |
Clone
9 |
The process of copying a remote repository to your local machine. When you clone a repo you copy its entire history as well as all branches. Remote tracking for the branches is established enabling you to update and retrieve content by using basic commands without a remote reference.
10 |
Collaborator
11 |
Project team member. Collaborators are invited to participate in projects and are given read and/or write access to repos.
12 |
Commit
13 |
Snapshot of project history. Records changes to the repository with the unique hash identifier that can be referenced later to revert or rollback changes. A commit can contain the changes of a single file or a range of files and directories.
14 |
Fetching
15 |
Retrieve remote changes to a repo without merging them. A Fetch command will retrieve a remote commit but will not merge them into your local commits. This allows you to examine changes and then decide what to merge into your local history.
16 |
Fork
17 |
A local copy of another user’s repository. Forking a project allows you to create another copy of it, which you can then edit and develop independently of the main project. Forks are tied to the source project, allowing you to issue pull requests and pull in changes to your local copy.
18 |
Git
19 |
Version control system that Github is built around. It is a widely used open source distributed version control system developed by the author of Linux.
20 |
Issues
21 |
Bug tracking system for Github. Collaborators can use issues to report bugs, request features, or set milestones for projects. Issues are tracked, reported, and closed by collaborators during the development process. They’re a great way of communicating with your team and reporting progress.
22 |
Merging
23 |
The process of combining branches within a repo. Changes are taken from one or more branches and applied to another. When merging in Git several different methods are used to resolve conflicts and choose the appropriate changes. For the most part these methods are chosen automatically by Git. Occasionally the user will have to manually resolve conflicts, which could include editing code or choosing the proper file to use.
24 |
Organizations
25 |
Groups of collaborators organized into a team. Github allows you to create organizations with multiple collaborators that can then be administered based on repository access and read/write privileges.
26 |
Pull
27 |
Retrieve remote changes. A Pull command is similar to a Fetch command, except that it both retrieves remote changes as well as merging them in to you own commit history.
28 |
Pull Request
29 |
Proposed changes to a remote repo. Collaborators without write access can send a pull request to the administrator with the changes they've made to the repo. The administrator can then approve and merge or reject the changes to the main repository. For open source projects pull requests can be sent by anyone that has forked a project.
30 |
Push
31 |
Sending changes to a remote repo. The remote repository is updated with the changes pushed and now mirrors the local repo.
32 |
Rebase
33 |
Another way to merge changes from one branch to another. Similar to merge, rebase allows you to include changes from one branch on to another. Unlike the merge command rebase replays a branch’s commit history onto the branch it’s merging into. This results in a linear commit history, but overwrites previous commits.
34 |
Release
35 |
A means of tagging a specific commit. Github allows you to specify a commit as a release. This will tag the commit with a user created tag. This allows you to specify release points like 1.0 or 1.1 for projects.
36 |
Repo
37 |
Short for repository. Refers to a project folder that is being tracked by Git and containing project files. Repos can be local as well as hosted on Github.
38 |
Readme
39 |
Text file used for project info. Readme files contain project descriptions and are displayed on the main page of the project repo. These are plain text files although Github supports its own version of Markdown as well.
40 |
-------------------------------------------------------------------------------- /exercise_files/Resources/README.md: -------------------------------------------------------------------------------- 1 | Github for Web Designers 2 | ======================== 3 | 4 | Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well. 5 | 6 | ##[View the companion reference site](http://jameswillweb.github.io/github-for-web-designers/) 7 | -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bold.eot -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bold.ttf -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bold.woff -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bolditalic.eot -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bolditalic.ttf -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-bolditalic.woff -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-italic.eot -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-italic.ttf -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-italic.woff -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-regular.eot -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/bitter-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/bitter-regular.woff -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/chunkymobile-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/chunkymobile-regular.eot -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/chunkymobile-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/chunkymobile-regular.ttf -------------------------------------------------------------------------------- /exercise_files/Resources/_fonts/chunkymobile-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/_fonts/chunkymobile-regular.woff -------------------------------------------------------------------------------- /exercise_files/Resources/_scripts/modernizr-custom.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.7.1 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-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-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-css_mediaqueries-css_regions-svg_filters-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function C(a){i.cssText=a}function D(a,b){return C(m.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=g,(m?l:n).innerHTML+=h,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=f.style.overflow,f.style.overflow="hidden",f.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),f.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return x("@media "+b+" { #"+g+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},z=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=E(e[d],"function"),E(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}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(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=v.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(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexbox=function(){return I("flexWrap")},r.flexboxlegacy=function(){return I("boxDirection")},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x(["@media (",m.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){return!!a.openDatabase},r.indexedDB=function(){return!!I("indexedDB",a)},r.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},r.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},r.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(i.backgroundColor,"rgba")},r.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(i.backgroundColor,"rgba")||F(i.backgroundColor,"hsla")},r.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(i.background)},r.backgroundsize=function(){return I("backgroundSize")},r.borderimage=function(){return I("borderImage")},r.borderradius=function(){return I("borderRadius")},r.boxshadow=function(){return I("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){return D("opacity:.55"),/^0.55$/.test(i.opacity)},r.cssanimations=function(){return I("animationName")},r.csscolumns=function(){return I("columnCount")},r.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 C((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),F(i.backgroundImage,"gradient")},r.cssreflections=function(){return I("boxReflect")},r.csstransforms=function(){return!!I("transform")},r.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in f.style&&x("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},r.csstransitions=function(){return I("transition")},r.fontface=function(){var a;return x('@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},r.generatedcontent=function(){var a;return x(["#",g,"{font:0/0 a}#",g,':after{content:"',k,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},r.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},r.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},r.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,"clipPath")))};for(var K in r)B(r,K)&&(w=K.toLowerCase(),e[w]=r[K](),u.push((e[w]?"":"no-")+w));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),h=j=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=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){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=x,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},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=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this)); -------------------------------------------------------------------------------- /exercise_files/Resources/_scripts/scripts.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exercise_files/Resources/glossary.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/glossary.doc -------------------------------------------------------------------------------- /exercise_files/Resources/glossary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Github Glossary

29 |

This is a short glossary of terms you're likely to encounter when learning Github. It's by no means complete, but should give you a good overview of commonly used terminology and their definitions.

30 |
31 |
Add
32 |
Command used to stage files. Allows the user to specify which files or directories to include in the next commit.
33 |
Branch
34 |
A parallel version of a repository. Although it is contained within the same repository it allows you to develop it separately and then merge changes back into the ‘live’ repository or with other branches when appropriate.
35 |
Checkout
36 |
Git command to switch to a specific file, branch, or commit. Allows you to activate older versions of files or commits or switch between active branches.
37 |
Clone
38 |
The process of copying a remote repository to your local machine. When you clone a repo you copy its entire history as well as all branches. Remote tracking for the branches is established enabling you to update and retrieve content by using basic commands without a remote reference.
39 |
Collaborator
40 |
Project team member. Collaborators are invited to participate in projects and are given read and/or write access to repos.
41 |
Commit
42 |
Snapshot of project history. Records changes to the repository with the unique hash identifier that can be referenced later to revert or rollback changes. A commit can contain the changes of a single file or a range of files and directories.
43 |
Fetching
44 |
Retrieve remote changes to a repo without merging them. A Fetch command will retrieve a remote commit but will not merge them into your local commits. This allows you to examine changes and then decide what to merge into your local history.
45 |
Fork
46 |
A local copy of another user’s repository. Forking a project allows you to create another copy of it, which you can then edit and develop independently of the main project. Forks are tied to the source project, allowing you to issue pull requests and pull in changes to your local copy.
47 |
Git
48 |
Version control system that Github is built around. It is a widely used open source distributed version control system developed by the author of Linux.
49 |
Issues
50 |
Bug tracking system for Github. Collaborators can use issues to report bugs, request features, or set milestones for projects. Issues are tracked, reported, and closed by collaborators during the development process. They’re a great way of communicating with your team and reporting progress.
51 |
Merging
52 |
The process of combining branches within a repo. Changes are taken from one or more branches and applied to another. When merging in Git several different methods are used to resolve conflicts and choose the appropriate changes. For the most part these methods are chosen automatically by Git. Occasionally the user will have to manually resolve conflicts, which could include editing code or choosing the proper file to use.
53 |
Organizations
54 |
Groups of collaborators organized into a team. Github allows you to create organizations with multiple collaborators that can then be administered based on repository access and read/write privileges.
55 |
Pull
56 |
Retrieve remote changes. A Pull command is similar to a Fetch command, except that it both retrieves remote changes as well as merging them in to you own commit history.
57 |
Pull Request
58 |
Proposed changes to a remote repo. Collaborators without write access can send a pull request to the administrator with the changes they've made to the repo. The administrator can then approve and merge or reject the changes to the main repository. For open source projects pull requests can be sent by anyone that has forked a project.
59 |
Push
60 |
Sending changes to a remote repo. The remote repository is updated with the changes pushed and now mirrors the local repo.
61 |
Rebase
62 |
Another way to merge changes from one branch to another. Similar to merge, rebase allows you to include changes from one branch on to another. Unlike the merge command rebase replays a branch’s commit history onto the branch it’s merging into. This results in a linear commit history, but overwrites previous commits.
63 |
Release
64 |
A means of tagging a specific commit. Github allows you to specify a commit as a release. This will tag the commit with a user created tag. This allows you to specify release points like 1.0 or 1.1 for projects.
65 |
Repo
66 |
Short for repository. Refers to a project folder that is being tracked by Git and containing project files. Repos can be local as well as hosted on Github.
67 |
Readme
68 |
Text file used for project info. Readme files contain project descriptions and are displayed on the main page of the project repo. These are plain text files although Github supports its own version of Markdown as well.
69 |
70 |
71 | 75 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /exercise_files/Resources/glossary.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/github-for-web-designers/0ebc02ec9250252734887aa2e1ba800d0d1a159d/exercise_files/Resources/glossary.pdf -------------------------------------------------------------------------------- /exercise_files/Resources/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Welcome

29 |

Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well.

30 |

This course is the result of my own frustrations from trying to learn Github. It seemed like every tutorial I took, or article I read, assumed I was a developer and used terms and terminology that I just wasn't familiar with. Perhaps worse than that, because certain things were assumed it would often halt my learning process because I wouldn't understand how to fill in the blanks between steps. I decided to jump in headfirst, make lots of mistakes, and research things that as a designer I wasn't really that interested in. The result was that I learned Github the hard way, and I'm hoping my course means that you don't have to.

31 |

Stuff I learned

32 |

Whenever I learn something new I have those "aha” moments where I break through the murk into moments of clarity. In addition to the reference and glossary that you’ll find here I wanted to list some of the concepts that I found really important when learning Github.

33 |

Take some time to learn Git

34 |

I'll admit it; when I first started learning Github my hope was that it would provide me an interface to do all the things I needed to do without actually having to learn Git. While most of the basic day to day tasks can be performed without ever going into the command line or even understanding the terminology involved, eventually you'll have a situation that you can't fix. Save yourself the trouble and go ahead and learn at least the basics of Git first. I consider this so important that I changed the structure of my course to reflect this; spending a chapter at the beginning of the course teaching those basics. Although you can certainly muddle along it's almost impossible to use Github to its fullest potential without also knowing Git. The desktop apps are great and very intuitive but they have limited feature sets and don't really try to teach you what's going on behind the scenes.

35 |

Understand what is meant by "distributed"

36 |

Git is a distributed version control system, meaning that all copies of the repositories are local. Here are some highligts that you should take away.

37 |
38 |
No central repository 39 |
40 |
All copies of it are local and can update other copies
41 |
Doesn’t create multiple copies of files 42 |
43 |
Git maintains a single directory structure. "Snapshots" are taken of projects as they progress to save history states.
44 |
You can branch snapshots to create infinite project variations. 45 |
46 |
Branching is incredibly powerful and allows you to create several different versions of your project without disturbing the history of the main project.
47 |
48 |

The concept of staged files

49 |

This one was tricky for me at first. I assumed that most version control systems automatically tracked and versioned files. That's not how Git works, in Git you have to first stage a file in order to include it in the next snapshot, referred to as a commit.

50 |
51 |
Files aren’t added to commits automatically 52 |
53 |
You have to add files manually in order for them to be committed in the next snapshot. This adds a little bit more manual labor to the process, but also gives you much more control over how and when things are recorded.
54 |
Staged files are ‘frozen’ once staged 55 |
56 |
If you update a file once it's been staged, the staged version of it doesn't record this. In order to make sure that the most recent changes are committed you'll need to restage the file.
57 |
You can un-stage files 58 |
59 |
If you decide that you've made a mistake, it's very easy to un-stage a file so that it's not included in the next commit.
60 |
61 |

How important Branching is

62 |

As a designer the ability to branch off from your main project, experiment or refine, and then return back to your main project and merge in those changes is fantastic. No more will I create 15 versions of the same file, or multiple directories of the same project nested inside each other. With branching I can simply create a new branch do what I need to do and then decide whether or not I want to keep or get rid of the changes I've made. It's an incredibly liberating way to work and I would encourage you to learn as much as you can about how branching and merging work.

63 |
64 |
Branches give you flexibility 65 |
66 |
Branches allow for simultaneous development, experimentation, and error fixing without disturbing the stable version.
67 |
You can keep them private 68 |
69 |
Branches are private, meaning they’re not uploaded to Github unless you want them to be.
70 |
Understanding merging is key 71 |
72 |
You need to spend time learning how merging works, I mean really understanding it so that you know what to expect when merging branches.
73 |
Develop a workflow pattern for branching 74 |
75 |
If you don’t things can get messy fast. This is even more important in a team environment where you're working with multiple collaborators.
76 |
77 |

Github is a publishing platform

78 |

I kind of already knew this when I started learning Github since this was one of the reasons I really wanted to learn it. However, it's important to point out how evolved Github has become as a publishing platform.

79 |
80 |
Sharing projects publicly 81 |
82 |
Projects can be shared and distributed with the public without having to buy hosting or register a domain.
83 |
Collaborators from around the world can/may offer assistance 84 |
85 |
This is one of the coolest aspects. If you have a really great idea but lack skills in a certain area you can put the project up on Github and ask for assistance. The open source nature of the Github community means that you may get dozens or even hundreds of collaborators helping you with your project. Just keep in mind that open source means just that. You'll need to carefully research the licensing options and understand that you are releasing your project to the world.
86 |
Github Pages add polish 87 |
88 |
Github Pages allow you to host a basic site for your project. You can create your own or use their Jekyll template to generate pages. This reference is an example of Github Pages.
89 |
90 |

Clarity is important

91 |

There are many places in the Github workflow where you have to compose messages or descriptions for actions. I've learned the hard way that it's really important to be as descriptive as possible. Whether it’s writing the project’s readme file or making commit messages it’s critical that you write clearly and concisely. Not only for others but so that future-you understands it as well. 92 |

93 |

94 |
95 | 99 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /exercise_files/Resources/resources.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Resources

29 |

Here are a few links to additional resources that can help deepen your understanding of Github and serve as a reference for you as you learn it.

30 |

Courses & Online Books

31 |

Git Essential Training - Kevin Skoglund

38 |

Deep dive into Git with step-by-step exercises

39 |

Pro Git - Scott Chacon

40 |

Online version of Scott's authoritative book on Git.

41 |

Online Articles & Tutorials

42 |

Git Tutorials - Atlassian

43 |

Clearn, concise tutorials on Git.

44 |

Designing Github for Mac - Kyle Neath

45 |

Fantastic article about the design decisions made when creating the Mac Github Client. Offers insight into how the client works and perceived workflows.

46 |

Aha! Moments When Learning Git - Kalid Azad

47 |

Great article that focuses on the concepts important to fully understanding Git.

48 |

References & Cheatsheets

49 |

Github help

50 |

Github Glossary

51 |

Official Git reference

52 |

Quick Git reference

53 |

Git Cheatsheet

54 |
55 | 59 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /glossary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Github Glossary

29 |

This is a short glossary of terms you're likely to encounter when learning Github. It's by no means complete, but should give you a good overview of commonly used terminology and their definitions.

30 |
31 |
Add
32 |
Command used to stage files. Allows the user to specify which files or directories to include in the next commit.
33 |
Branch
34 |
A parallel version of a repository. Although it is contained within the same repository it allows you to develop it separately and then merge changes back into the ‘live’ repository or with other branches when appropriate.
35 |
Checkout
36 |
Git command to switch to a specific file, branch, or commit. Allows you to activate older versions of files or commits or switch between active branches.
37 |
Clone
38 |
The process of copying a remote repository to your local machine. When you clone a repo you copy its entire history as well as all branches. Remote tracking for the branches is established enabling you to update and retrieve content by using basic commands without a remote reference.
39 |
Collaborator
40 |
Project team member. Collaborators are invited to participate in projects and are given read and/or write access to repos.
41 |
Commit
42 |
Snapshot of project history. Records changes to the repository with the unique hash identifier that can be referenced later to revert or rollback changes. A commit can contain the changes of a single file or a range of files and directories.
43 |
Fetching
44 |
Retrieve remote changes to a repo without merging them. A Fetch command will retrieve a remote commit but will not merge them into your local commits. This allows you to examine changes and then decide what to merge into your local history.
45 |
Fork
46 |
A local copy of another user’s repository. Forking a project allows you to create another copy of it, which you can then edit and develop independently of the main project. Forks are tied to the source project, allowing you to issue pull requests and pull in changes to your local copy.
47 |
Git
48 |
Version control system that Github is built around. It is a widely used open source distributed version control system developed by the author of Linux.
49 |
Issues
50 |
Bug tracking system for Github. Collaborators can use issues to report bugs, request features, or set milestones for projects. Issues are tracked, reported, and closed by collaborators during the development process. They’re a great way of communicating with your team and reporting progress.
51 |
Merging
52 |
The process of combining branches within a repo. Changes are taken from one or more branches and applied to another. When merging in Git several different methods are used to resolve conflicts and choose the appropriate changes. For the most part these methods are chosen automatically by Git. Occasionally the user will have to manually resolve conflicts, which could include editing code or choosing the proper file to use.
53 |
Organizations
54 |
Groups of collaborators organized into a team. Github allows you to create organizations with multiple collaborators that can then be administered based on repository access and read/write privileges.
55 |
Pull
56 |
Retrieve remote changes. A Pull command is similar to a Fetch command, except that it both retrieves remote changes as well as merging them in to you own commit history.
57 |
Pull Request
58 |
Proposed changes to a remote repo. Collaborators without write access can send a pull request to the administrator with the changes they've made to the repo. The administrator can then approve and merge or reject the changes to the main repository. For open source projects pull requests can be sent by anyone that has forked a project.
59 |
Push
60 |
Sending changes to a remote repo. The remote repository is updated with the changes pushed and now mirrors the local repo.
61 |
Rebase
62 |
Another way to merge changes from one branch to another. Similar to merge, rebase allows you to include changes from one branch on to another. Unlike the merge command rebase replays a branch’s commit history onto the branch it’s merging into. This results in a linear commit history, but overwrites previous commits.
63 |
Release
64 |
A means of tagging a specific commit. Github allows you to specify a commit as a release. This will tag the commit with a user created tag. This allows you to specify release points like 1.0 or 1.1 for projects.
65 |
Repo
66 |
Short for repository. Refers to a project folder that is being tracked by Git and containing project files. Repos can be local as well as hosted on Github.
67 |
Readme
68 |
Text file used for project info. Readme files contain project descriptions and are displayed on the main page of the project repo. These are plain text files although Github supports its own version of Markdown as well.
69 |
70 |
71 | 75 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Welcome

29 |

Hi! Welcome to the companion reference to my lynda.com Github for Web Designers course. This reference also serves as the exercise files for my course, so you can download the exercise files from this repo as well.

30 |

This course is the result of my own frustrations from trying to learn Github. It seemed like every tutorial I took, or article I read, assumed I was a developer and used terms and terminology that I just wasn't familiar with. Perhaps worse than that, because certain things were assumed it would often halt my learning process because I wouldn't understand how to fill in the blanks between steps. I decided to jump in headfirst, make lots of mistakes, and research things that as a designer I wasn't really that interested in. The result was that I learned Github the hard way, and I'm hoping my course means that you don't have to.

31 |

Stuff I learned

32 |

Whenever I learn something new I have those "aha” moments where I break through the murk into moments of clarity. In addition to the reference and glossary that you’ll find here I wanted to list some of the concepts that I found really important when learning Github.

33 |

Take some time to learn Git

34 |

I'll admit it; when I first started learning Github my hope was that it would provide me an interface to do all the things I needed to do without actually having to learn Git. While most of the basic day to day tasks can be performed without ever going into the command line or even understanding the terminology involved, eventually you'll have a situation that you can't fix. Save yourself the trouble and go ahead and learn at least the basics of Git first. I consider this so important that I changed the structure of my course to reflect this; spending a chapter at the beginning of the course teaching those basics. Although you can certainly muddle along it's almost impossible to use Github to its fullest potential without also knowing Git. The desktop apps are great and very intuitive but they have limited feature sets and don't really try to teach you what's going on behind the scenes.

35 |

Understand what is meant by "distributed"

36 |

Git is a distributed version control system, meaning that all copies of the repositories are local. Here are some highligts that you should take away.

37 |
38 |
No central repository 39 |
40 |
All copies of it are local and can update other copies
41 |
Doesn’t create multiple copies of files 42 |
43 |
Git maintains a single directory structure. "Snapshots" are taken of projects as they progress to save history states.
44 |
You can branch snapshots to create infinite project variations. 45 |
46 |
Branching is incredibly powerful and allows you to create several different versions of your project without disturbing the history of the main project.
47 |
48 |

The concept of staged files

49 |

This one was tricky for me at first. I assumed that most version control systems automatically tracked and versioned files. That's not how Git works, in Git you have to first stage a file in order to include it in the next snapshot, referred to as a commit.

50 |
51 |
Files aren’t added to commits automatically 52 |
53 |
You have to add files manually in order for them to be committed in the next snapshot. This adds a little bit more manual labor to the process, but also gives you much more control over how and when things are recorded.
54 |
Staged files are ‘frozen’ once staged 55 |
56 |
If you update a file once it's been staged, the staged version of it doesn't record this. In order to make sure that the most recent changes are committed you'll need to restage the file.
57 |
You can un-stage files 58 |
59 |
If you decide that you've made a mistake, it's very easy to un-stage a file so that it's not included in the next commit.
60 |
61 |

How important Branching is

62 |

As a designer the ability to branch off from your main project, experiment or refine, and then return back to your main project and merge in those changes is fantastic. No more will I create 15 versions of the same file, or multiple directories of the same project nested inside each other. With branching I can simply create a new branch do what I need to do and then decide whether or not I want to keep or get rid of the changes I've made. It's an incredibly liberating way to work and I would encourage you to learn as much as you can about how branching and merging work.

63 |
64 |
Branches give you flexibility 65 |
66 |
Branches allow for simultaneous development, experimentation, and error fixing without disturbing the stable version.
67 |
You can keep them private 68 |
69 |
Branches are private, meaning they’re not uploaded to Github unless you want them to be.
70 |
Understanding merging is key 71 |
72 |
You need to spend time learning how merging works, I mean really understanding it so that you know what to expect when merging branches.
73 |
Develop a workflow pattern for branching 74 |
75 |
If you don’t things can get messy fast. This is even more important in a team environment where you're working with multiple collaborators.
76 |
77 |

Github is a publishing platform

78 |

I kind of already knew this when I started learning Github since this was one of the reasons I really wanted to learn it. However, it's important to point out how evolved Github has become as a publishing platform.

79 |
80 |
Sharing projects publicly 81 |
82 |
Projects can be shared and distributed with the public without having to buy hosting or register a domain.
83 |
Collaborators from around the world can/may offer assistance 84 |
85 |
This is one of the coolest aspects. If you have a really great idea but lack skills in a certain area you can put the project up on Github and ask for assistance. The open source nature of the Github community means that you may get dozens or even hundreds of collaborators helping you with your project. Just keep in mind that open source means just that. You'll need to carefully research the licensing options and understand that you are releasing your project to the world.
86 |
Github Pages add polish 87 |
88 |
Github Pages allow you to host a basic site for your project. You can create your own or use their Jekyll template to generate pages. This reference is an example of Github Pages.
89 |
90 |

Clarity is important

91 |

There are many places in the Github workflow where you have to compose messages or descriptions for actions. I've learned the hard way that it's really important to be as descriptive as possible. Whether it’s writing the project’s readme file or making commit messages it’s critical that you write clearly and concisely. Not only for others but so that future-you understands it as well. 92 |

93 |

94 |
95 | 99 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /resources.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Learning Github 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

Github for Web Designers

18 |
19 | 27 |
28 |

Resources

29 |

Here are a few links to additional resources that can help deepen your understanding of Github and serve as a reference for you as you learn it.

30 |

Courses & Online Books

31 |

Git Essential Training - Kevin Skoglund

38 |

Deep dive into Git with step-by-step exercises

39 |

Pro Git - Scott Chacon

40 |

Online version of Scott's authoritative book on Git.

41 |

Online Articles & Tutorials

42 |

Git Tutorials - Atlassian

43 |

Clearn, concise tutorials on Git.

44 |

Designing Github for Mac - Kyle Neath

45 |

Fantastic article about the design decisions made when creating the Mac Github Client. Offers insight into how the client works and perceived workflows.

46 |

Aha! Moments When Learning Git - Kalid Azad

47 |

Great article that focuses on the concepts important to fully understanding Git.

48 |

References & Cheatsheets

49 |

Github help

50 |

Github Glossary

51 |

Official Git reference

52 |

Quick Git reference

53 |

Git Cheatsheet

54 |
55 | 59 | 77 | 78 | 79 | --------------------------------------------------------------------------------