1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml"
6 ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
7 /><meta name="generator" content="pandoc"
8 /><meta name="author" content="Sam Smith"
9 /><meta name="author" content="Jen Jones"
10 /><meta name="date" content="July 15, 2006"
11 /><!-- configuration parameters -->
12<meta name="defaultView" content="slideshow" />
13<meta name="controlVis" content="hidden" />
14<style type="text/css" media="projection" id="slideProj">
15/* Do not edit or override these styles! The system will likely break if you do. */
17div#header, div#footer, div#controls, .slide {position: absolute;}
18html>body div#header, html>body div#footer,
19 html>body div#controls, html>body .slide {position: fixed;}
20.handout {display: none;}
21.layout {display: block;}
22.slide, .hideme, .incremental {visibility: hidden;}
23#slide0 {visibility: visible;}
25/* The following styles size, place, and layer the slide components.
26 Edit these if you want to change the overall slide layout.
27 The commented lines can be uncommented (and modified, if necessary)
28 to help you with the rearrangement process. */
30/* target = 1024x768 */
32div#header, div#footer, .slide {width: 100%; top: 0; left: 0;}
33div#header {top: 0; height: 3em; z-index: 1;}
34div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;}
35.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;}
36div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;}
37div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
39#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;}
40html>body #currentSlide {position: fixed;}
43div#header {background: #FCC;}
44div#footer {background: #CCF;}
45div#controls {background: #BBD;}
46div#currentSlide {background: #FFC;}
49/* Following are the presentation styles -- edit away! */
51body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;}
52:link, :visited {text-decoration: none; color: #00C;}
53#controls :active {color: #88A !important;}
54#controls :focus {outline: 1px dotted #227;}
55h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;}
56ul, pre {margin: 0; line-height: 1em;}
57html, body {margin: 0; padding: 0;}
59blockquote, q {font-style: italic;}
60blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;}
61blockquote p {margin: 0;}
62blockquote i {font-style: normal;}
63blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;}
64blockquote b i {font-style: italic;}
66kbd {font-weight: bold; font-size: 1em;}
67sup {font-size: smaller; line-height: 1px;}
69.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;}
70.slide code.bad, code del {color: red;}
71.slide code.old {color: silver;}
72.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;}
73.slide pre code {display: block;}
74.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;}
75.slide li {margin-top: 0.75em; margin-right: 0;}
76.slide ul ul {line-height: 1;}
77.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;}
78.slide img.leader {display: block; margin: 0 auto;}
80div#header, div#footer {background: #005; color: #AAB;
81 font-family: Verdana, Helvetica, sans-serif;}
82div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat;
84div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;}
85#footer h1, #footer h2 {display: block; padding: 0 1em;}
86#footer h2 {font-style: italic;}
88div.long {font-size: 0.75em;}
89.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1;
90 margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap;
91 font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize;
92 color: #DDE; background: #005;}
93.slide h3 {font-size: 130%;}
94h1 abbr {font-variant: small-caps;}
96div#controls {position: absolute; left: 50%; bottom: 0;
98 text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
99html>body div#controls {position: fixed; padding: 0 0 1em 0;
101div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
102 margin: 0; padding: 0;}
103#controls #navLinks a {padding: 0; margin: 0 0.5em;
104 background: #005; border: none; color: #779;
106#controls #navList {height: 1em;}
107#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; background: #DDD; color: #227;}
109#currentSlide {text-align: center; font-size: 0.5em; color: #449;}
111#slide0 {padding-top: 3.5em; font-size: 90%;}
112#slide0 h1 {position: static; margin: 1em 0 0; padding: 0;
113 font: bold 2em Helvetica, sans-serif; white-space: normal;
114 color: #000; background: transparent;}
115#slide0 h2 {font: bold italic 1em Helvetica, sans-serif; margin: 0.25em;}
116#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;}
117#slide0 h4 {margin-top: 0; font-size: 1em;}
119ul.urls {list-style: none; display: inline; margin: 0;}
120.urls li {display: inline; margin: 0;}
121.note {display: none;}
122.external {border-bottom: 1px dotted gray;}
123html>body .external {border-bottom: none;}
124.external:after {content: " \274F"; font-size: smaller; color: #77B;}
126.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;}
127img.incremental {visibility: hidden;}
128.slide .current {color: #B02;}
133li:after {content: " [" attr(class) "]"; color: #F88;}
137<style type="text/css" media="projection" id="operaFix">
138/* DO NOT CHANGE THESE unless you really want to break Opera Show */
140 visibility: visible !important;
141 position: static !important;
142 page-break-before: always;
144#slide0 {page-break-before: avoid;}
147<style type="text/css" media="screen" id="outlineStyle">
148/* don't change this unless you want the layout stuff to show up in the outline view! */
150.layout div, #footer *, #controlForm * {display: none;}
151#footer, #controls, #controlForm, #navLinks, #toggle {
152 display: block; visibility: visible; margin: 0; padding: 0;}
153#toggle {float: right; padding: 0.5em;}
154html>body #toggle {position: fixed; top: 0; right: 0;}
156/* making the outline look pretty-ish */
158#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;}
159#slide0 h1 {padding-top: 1.5em;}
160.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em;
161 border-top: 1px solid #888; border-bottom: 1px solid #AAA;}
162#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;}
165<style type="text/css" media="print" id="slidePrint">
166/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
167.slide, ul {page-break-inside: avoid; visibility: visible !important;}
168h1 {page-break-after: avoid;}
170body {font-size: 12pt; background: white;}
173#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
174#slide0 h3 {margin: 0; padding: 0;}
175#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
176#slide0 {margin-bottom: 3em;}
178h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
179.extra {background: transparent !important;}
180div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
181ul.extra a {font-weight: bold;}
182p.example {display: none;}
184#header {display: none;}
185#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
186#footer h2, #controls {display: none;}
188/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
189.layout, .layout * {display: none !important;}
192<script type="text/javascript">
193// S5 v1.1 slides.js -- released into the Public Domain
195// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information
196// about all the wonderful and talented contributors to this code!
197var undef;var slideCSS='';var snum=0;var smax=1;var incpos=0;var number=undef;var s5mode=true;var defaultView='slideshow';var controlVis='visible';var isIE=navigator.appName=='Microsoft Internet Explorer'&&navigator.userAgent.indexOf('Opera')<1?1:0;var isOp=navigator.userAgent.indexOf('Opera')>-1?1:0;var isGe=navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('Safari')<1?1:0;function hasClass(object,className){if(!object.className)return false;return(object.className.search('(^|\\s)'+className+'(\\s|$)')!=-1);}
198function hasValue(object,value){if(!object)return false;return(object.search('(^|\\s)'+value+'(\\s|$)')!=-1);}
199function removeClass(object,className){if(!object)return;object.className=object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'),RegExp.$1+RegExp.$2);}
200function addClass(object,className){if(!object||hasClass(object,className))return;if(object.className){object.className+=' '+className;}else{object.className=className;}}
201function GetElementsWithClassName(elementName,className){var allElements=document.getElementsByTagName(elementName);var elemColl=new Array();for(var i=0;i<allElements.length;i++){if(hasClass(allElements[i],className)){elemColl[elemColl.length]=allElements[i];}}
203function isParentOrSelf(element,id){if(element==null||element.nodeName=='BODY')return false;else if(element.id==id)return true;else return isParentOrSelf(element.parentNode,id);}
204function nodeValue(node){var result="";if(node.nodeType==1){var children=node.childNodes;for(var i=0;i<children.length;++i){result+=nodeValue(children[i]);}}
205else if(node.nodeType==3){result=node.nodeValue;}
207function slideLabel(){var slideColl=GetElementsWithClassName('*','slide');var list=document.getElementById('jumplist');smax=slideColl.length;for(var n=0;n<smax;n++){var obj=slideColl[n];var did='slide'+n.toString();obj.setAttribute('id',did);if(isOp)continue;var otext='';var menu=obj.firstChild;if(!menu)continue;while(menu&&menu.nodeType==3){menu=menu.nextSibling;}
208if(!menu)continue;var menunodes=menu.childNodes;for(var o=0;o<menunodes.length;o++){otext+=nodeValue(menunodes[o]);}
209list.options[list.length]=new Option(n+' : '+otext,n);}}
210function currentSlide(){var cs;if(document.getElementById){cs=document.getElementById('currentSlide');}else{cs=document.currentSlide;}
211cs.innerHTML='<span id="csHere">'+snum+'<\/span> '+'<span id="csSep">\/<\/span> '+'<span id="csTotal">'+(smax-1)+'<\/span>';if(snum==0){cs.style.visibility='hidden';}else{cs.style.visibility='visible';}}
212function go(step){if(document.getElementById('slideProj').disabled||step==0)return;var jl=document.getElementById('jumplist');var cid='slide'+snum;var ce=document.getElementById(cid);if(incrementals[snum].length>0){for(var i=0;i<incrementals[snum].length;i++){removeClass(incrementals[snum][i],'current');removeClass(incrementals[snum][i],'incremental');}}
213if(step!='j'){snum+=step;lmax=smax-1;if(snum>lmax)snum=lmax;if(snum<0)snum=0;}else
214snum=parseInt(jl.value);var nid='slide'+snum;var ne=document.getElementById(nid);if(!ne){ne=document.getElementById('slide0');snum=0;}
215if(step<0){incpos=incrementals[snum].length}else{incpos=0;}
216if(incrementals[snum].length>0&&incpos==0){for(var i=0;i<incrementals[snum].length;i++){if(hasClass(incrementals[snum][i],'current'))
218addClass(incrementals[snum][i],'incremental');}}
219if(incrementals[snum].length>0&&incpos>0)
220addClass(incrementals[snum][incpos-1],'current');ce.style.visibility='hidden';ne.style.visibility='visible';jl.selectedIndex=snum;currentSlide();number=0;}
221function goTo(target){if(target>=smax||target==snum)return;go(target-snum);}
222function subgo(step){if(step>0){removeClass(incrementals[snum][incpos-1],'current');removeClass(incrementals[snum][incpos],'incremental');addClass(incrementals[snum][incpos],'current');incpos++;}else{incpos--;removeClass(incrementals[snum][incpos],'current');addClass(incrementals[snum][incpos],'incremental');addClass(incrementals[snum][incpos-1],'current');}}
223function toggle(){var slideColl=GetElementsWithClassName('*','slide');var slides=document.getElementById('slideProj');var outline=document.getElementById('outlineStyle');if(!slides.disabled){slides.disabled=true;outline.disabled=false;s5mode=false;fontSize('1em');for(var n=0;n<smax;n++){var slide=slideColl[n];slide.style.visibility='visible';}}else{slides.disabled=false;outline.disabled=true;s5mode=true;fontScale();for(var n=0;n<smax;n++){var slide=slideColl[n];slide.style.visibility='hidden';}
224slideColl[snum].style.visibility='visible';}}
225function showHide(action){var obj=GetElementsWithClassName('*','hideme')[0];switch(action){case's':obj.style.visibility='visible';break;case'h':obj.style.visibility='hidden';break;case'k':if(obj.style.visibility!='visible'){obj.style.visibility='visible';}else{obj.style.visibility='hidden';}
227function keys(key){if(!key){key=event;key.which=key.keyCode;}
228if(key.which==84){toggle();return;}
229if(s5mode){switch(key.which){case 10:case 13:if(window.event&&isParentOrSelf(window.event.srcElement,'controls'))return;if(key.target&&isParentOrSelf(key.target,'controls'))return;if(number!=undef){goTo(number);break;}
230case 32:case 34:case 39:case 40:if(number!=undef){go(number);}else if(!incrementals[snum]||incpos>=incrementals[snum].length){go(1);}else{subgo(1);}
231break;case 33:case 37:case 38:if(number!=undef){go(-1*number);}else if(!incrementals[snum]||incpos<=0){go(-1);}else{subgo(-1);}
232break;case 36:goTo(0);break;case 35:goTo(smax-1);break;case 67:showHide('k');break;}
233if(key.which<48||key.which>57){number=undef;}else{if(window.event&&isParentOrSelf(window.event.srcElement,'controls'))return;if(key.target&&isParentOrSelf(key.target,'controls'))return;number=(((number!=undef)?number:0)*10)+(key.which-48);}}
235function clicker(e){number=undef;var target;if(window.event){target=window.event.srcElement;e=window.event;}else target=e.target;if(target.getAttribute('href')!=null||hasValue(target.rel,'external')||isParentOrSelf(target,'controls')||isParentOrSelf(target,'embed')||isParentOrSelf(target,'object'))return true;if(!e.which||e.which==1){if(!incrementals[snum]||incpos>=incrementals[snum].length){go(1);}else{subgo(1);}}}
236function findSlide(hash){var target=null;var slides=GetElementsWithClassName('*','slide');for(var i=0;i<slides.length;i++){var targetSlide=slides[i];if((targetSlide.name&&targetSlide.name==hash)||(targetSlide.id&&targetSlide.id==hash)){target=targetSlide;break;}}
237while(target!=null&&target.nodeName!='BODY'){if(hasClass(target,'slide')){return parseInt(target.id.slice(5));}
238target=target.parentNode;}
240function slideJump(){if(window.location.hash==null)return;var sregex=/^#slide(\d+)$/;var matches=sregex.exec(window.location.hash);var dest=null;if(matches!=null){dest=parseInt(matches[1]);}else{dest=findSlide(window.location.hash.slice(1));}
243function fixLinks(){var thisUri=window.location.href;thisUri=thisUri.slice(0,thisUri.length-window.location.hash.length);var aelements=document.getElementsByTagName('A');for(var i=0;i<aelements.length;i++){var a=aelements[i].href;var slideID=a.match('\#slide[0-9]{1,2}');if((slideID)&&(slideID[0].slice(0,1)=='#')){var dest=findSlide(slideID[0].slice(1));if(dest!=null){if(aelements[i].addEventListener){aelements[i].addEventListener("click",new Function("e","if (document.getElementById('slideProj').disabled) return;"+"go("+dest+" - snum); "+"if (e.preventDefault) e.preventDefault();"),true);}else if(aelements[i].attachEvent){aelements[i].attachEvent("onclick",new Function("","if (document.getElementById('slideProj').disabled) return;"+"go("+dest+" - snum); "+"event.returnValue = false;"));}}}}}
244function externalLinks(){if(!document.getElementsByTagName)return;var anchors=document.getElementsByTagName('a');for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute('href')&&hasValue(anchor.rel,'external')){anchor.target='_blank';addClass(anchor,'external');}}}
245function createControls(){var controlsDiv=document.getElementById("controls");if(!controlsDiv)return;var hider=' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"';var hideDiv,hideList='';if(controlVis=='hidden'){hideDiv=hider;}else{hideList=hider;}
246controlsDiv.innerHTML='<form action="#" id="controlForm"'+hideDiv+'>'+'<div id="navLinks">'+'<a accesskey="t" id="toggle" href="javascript:toggle();">Ø<\/a>'+'<a accesskey="z" id="prev" href="javascript:go(-1);">«<\/a>'+'<a accesskey="x" id="next" href="javascript:go(1);">»<\/a>'+'<div id="navList"'+hideList+'><select id="jumplist" onchange="go(\'j\');"><\/select><\/div>'+'<\/div><\/form>';if(controlVis=='hidden'){var hidden=document.getElementById('navLinks');}else{var hidden=document.getElementById('jumplist');}
247addClass(hidden,'hideme');}
248function fontScale(){if(!s5mode)return false;var vScale=22;var hScale=32;if(window.innerHeight){var vSize=window.innerHeight;var hSize=window.innerWidth;}else if(document.documentElement.clientHeight){var vSize=document.documentElement.clientHeight;var hSize=document.documentElement.clientWidth;}else if(document.body.clientHeight){var vSize=document.body.clientHeight;var hSize=document.body.clientWidth;}else{var vSize=700;var hSize=1024;}
249var newSize=Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));fontSize(newSize+'px');if(isGe){var obj=document.getElementsByTagName('body')[0];obj.style.display='none';obj.style.display='block';}}
250function fontSize(value){if(!(s5ss=document.getElementById('s5ss'))){if(!isIE){document.getElementsByTagName('head')[0].appendChild(s5ss=document.createElement('style'));s5ss.setAttribute('media','screen, projection');s5ss.setAttribute('id','s5ss');}else{document.createStyleSheet();document.s5ss=document.styleSheets[document.styleSheets.length-1];}}
251if(!isIE){while(s5ss.lastChild)s5ss.removeChild(s5ss.lastChild);s5ss.appendChild(document.createTextNode('body {font-size: '+value+' !important;}'));}else{document.s5ss.addRule('body','font-size: '+value+' !important;');}}
252function notOperaFix(){slideCSS=document.getElementById('slideProj').href;var slides=document.getElementById('slideProj');var outline=document.getElementById('outlineStyle');slides.setAttribute('media','screen');outline.disabled=true;if(isGe){slides.setAttribute('href','null');slides.setAttribute('href',slideCSS);}
253if(isIE&&document.styleSheets&&document.styleSheets[0]){document.styleSheets[0].addRule('img','behavior: url(ui/default/iepngfix.htc)');document.styleSheets[0].addRule('div','behavior: url(ui/default/iepngfix.htc)');document.styleSheets[0].addRule('.slide','behavior: url(ui/default/iepngfix.htc)');}}
254function getIncrementals(obj){var incrementals=new Array();if(!obj)
255return incrementals;var children=obj.childNodes;for(var i=0;i<children.length;i++){var child=children[i];if(hasClass(child,'incremental')){if(child.nodeName=='OL'||child.nodeName=='UL'){removeClass(child,'incremental');for(var j=0;j<child.childNodes.length;j++){if(child.childNodes[j].nodeType==1){addClass(child.childNodes[j],'incremental');}}}else{incrementals[incrementals.length]=child;removeClass(child,'incremental');}}
256if(hasClass(child,'show-first')){if(child.nodeName=='OL'||child.nodeName=='UL'){removeClass(child,'show-first');if(child.childNodes[isGe].nodeType==1){removeClass(child.childNodes[isGe],'incremental');}}else{incrementals[incrementals.length]=child;}}
257incrementals=incrementals.concat(getIncrementals(child));}
259function createIncrementals(){var incrementals=new Array();for(var i=0;i<smax;i++){incrementals[i]=getIncrementals(document.getElementById('slide'+i));}
261function defaultCheck(){var allMetas=document.getElementsByTagName('meta');for(var i=0;i<allMetas.length;i++){if(allMetas[i].name=='defaultView'){defaultView=allMetas[i].content;}
262if(allMetas[i].name=='controlVis'){controlVis=allMetas[i].content;}}}
263function trap(e){if(!e){e=event;e.which=e.keyCode;}
264try{modifierKey=e.ctrlKey||e.altKey||e.metaKey;}
265catch(e){modifierKey=false;}
266return modifierKey||e.which==0;}
267function startup(){defaultCheck();if(!isOp)
268createControls();slideLabel();fixLinks();externalLinks();fontScale();if(!isOp){notOperaFix();incrementals=createIncrementals();slideJump();if(defaultView=='outline'){toggle();}
269document.onkeyup=keys;document.onkeypress=trap;document.onclick=clicker;}}
270window.onload=startup;window.onresize=function(){setTimeout('fontScale()',50);}
274 ><div class="layout">
275<div id="controls"></div>
276<div id="currentSlide"></div>
277<div id="header"></div>
285<div class="presentation">
291 >Sam Smith, Jen Jones</h3
322 > → 0</sub
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list