(Arne Babenhauserheide)
2014-01-10: started a presentation on wisp started a presentation on wisp
diff --git a/docs/ui/default/blank.gif b/docs/ui/default/blank.gif new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..75b945d2553848b8b6f41fe5e24599c0687b8472 GIT binary patch literal 49 zc${<hbhEHbWMp7unE0RJ|Ns9C3=9Vj8~~DvKUo+V7?>DzfNTbkJOdL`2qS|v08zdQ ATL1t6 diff --git a/docs/ui/default/bodybg.gif b/docs/ui/default/bodybg.gif new file mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5f448a16fe6dc7a03a4279fb19f9ba3af38eb634 GIT binary patch literal 10119 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 diff --git a/docs/ui/default/framing.css b/docs/ui/default/framing.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/docs/ui/default/iepngfix.htc b/docs/ui/default/iepngfix.htc new file mode 100644 --- /dev/null +++ b/docs/ui/default/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component> +<public:attach event="onpropertychange" onevent="doFix()" /> + +<script> + +// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com +// Free usage permitted as long as this notice remains intact. + +// This must be a path to a blank image. That's all the configuration you need here. +var blankImg = 'v11rc1/default/blank.gif'; + +var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; + +function filt(s, m) { + if (filters[f]) { + filters[f].enabled = s ? true : false; + if (s) with (filters[f]) { src = s; sizingMethod = m } + } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; +} + +function doFix() { + if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) || + (event && !/(background|src)/.test(event.propertyName))) return; + + if (tagName == 'IMG') { + if ((/\.png$/i).test(src)) { + filt(src, 'image'); // was 'scale' + src = blankImg; + } else if (src.indexOf(blankImg) < 0) filt(); + } else if (style.backgroundImage) { + if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) { + var s = RegExp.$1; + style.backgroundImage = ''; + filt(s, 'crop'); + } else filt(); + } +} + +doFix(); + +</script> +</public:component> \ No newline at end of file diff --git a/docs/ui/default/opera.css b/docs/ui/default/opera.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/docs/ui/default/outline.css b/docs/ui/default/outline.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/docs/ui/default/pretty.css b/docs/ui/default/pretty.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/pretty.css @@ -0,0 +1,86 @@ +/* Following are the presentation styles -- edit away! */ + +body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;} +:link, :visited {text-decoration: none; color: #00C;} +#controls :active {color: #88A !important;} +#controls :focus {outline: 1px dotted #227;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;} +.slide code.bad, code del {color: red;} +.slide code.old {color: silver;} +.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +.slide pre code {display: block;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} +.slide img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #AAB; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1; + margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap; + font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize; + color: #DDE; background: #005;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; left: 50%; bottom: 0; + width: 50%; + text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;} +html>body div#controls {position: fixed; padding: 0 0 1em 0; + top: auto;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0; padding: 0;} +#controls #navLinks a {padding: 0; margin: 0 0.5em; + background: #005; border: none; color: #779; + cursor: pointer;} +#controls #navList {height: 1em;} +#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; background: #DDD; color: #227;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #449;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; + font: bold 2em Helvetica, sans-serif; white-space: normal; + color: #000; background: transparent;} +#slide0 h2 {font: bold italic 1em Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #77B;} + +.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;} +img.incremental {visibility: hidden;} +.slide .current {color: #B02;} + + +/* diagnostics + +li:after {content: " [" attr(class) "]"; color: #F88;} + */ \ No newline at end of file diff --git a/docs/ui/default/print.css b/docs/ui/default/print.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/print.css @@ -0,0 +1,1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */ .slide, ul {page-break-inside: avoid; visibility: visible !important;} h1 {page-break-after: avoid;} body {font-size: 12pt; background: white;} * {color: black;} #slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;} #slide0 h3 {margin: 0; padding: 0;} #slide0 h4 {margin: 0 0 0.5em; padding: 0;} #slide0 {margin-bottom: 3em;} h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;} .extra {background: transparent !important;} div.extra, pre.extra, .example {font-size: 10pt; color: #333;} ul.extra a {font-weight: bold;} p.example {display: none;} #header {display: none;} #footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;} #footer h2, #controls {display: none;} /* The following rule keeps the layout stuff out of print. Remove at your own risk! */ .layout, .layout * {display: none !important;} \ No newline at end of file diff --git a/docs/ui/default/s5-core.css b/docs/ui/default/s5-core.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/docs/ui/default/slides.css b/docs/ui/default/slides.css new file mode 100644 --- /dev/null +++ b/docs/ui/default/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */ \ No newline at end of file diff --git a/docs/ui/default/slides.js b/docs/ui/default/slides.js new file mode 100644 --- /dev/null +++ b/docs/ui/default/slides.js @@ -0,0 +1,552 @@ +// S5 v1.1 slides.js -- released into the Public Domain +// +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! + +var 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' ? 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); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function 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]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function 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; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + cs.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'; + } +} + +function 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'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + } else + snum = parseInt(jl.value); + var nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + snum = 0; + } + if (step < 0) {incpos = incrementals[snum].length} else {incpos = 0;} + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) + incpos = i + 1; + else + addClass(incrementals[snum][i], 'incremental'); + } + } + if (incrementals[snum].length > 0 && incpos > 0) + addClass(incrementals[snum][incpos - 1], 'current'); + ce.style.visibility = 'hidden'; + ne.style.visibility = 'visible'; + jl.selectedIndex = snum; + currentSlide(); + number = 0; +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function 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'); + } +} + +function 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'; + } + slideColl[snum].style.visibility = 'visible'; + } +} + +function 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'; + } + break; + } +} + +// 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/) +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (key.which == 84) { + toggle(); + return; + } + if (s5mode) { + switch (key.which) { + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 36: // home + goTo(0); + break; + case 35: // end + goTo(smax-1); + break; + case 67: // c + showHide('k'); + break; + } + if (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); + } + } + return false; +} + +function 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); + } + } +} + +function 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; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function 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)); + } + if (dest != null) + go(dest - snum); +} + +function 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;")); + } + } + } + } +} + +function 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'); + } + } +} + +function 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; + } + controlsDiv.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'); + } + addClass(hidden,'hideme'); +} + +function fontScale() { // causes layout problems in FireFox that get fixed if browser's Reload is used; same may be true of other Gecko-based browsers + if (!s5mode) return false; + var vScale = 22; // both yield 32 (after rounding) at 1024x768 + var hScale = 32; // perhaps should auto-calculate based on theme's declared value? + 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; // assuming 1024x768, minus chrome and such + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + fontSize(newSize + 'px'); + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.display = 'none'; + obj.style.display = 'block'; + } +} + +function 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]; + } + } + if (!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;'); + } +} + +function 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'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if (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)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return 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'); + } + } + if (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; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + } +} + +// Key trap fix, new function body for trap() +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +function startup() { + defaultCheck(); + if (!isOp) createControls(); + slideLabel(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + notOperaFix(); + incrementals = createIncrementals(); + slideJump(); + if (defaultView == 'outline') { + toggle(); + } + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; + } +} + +window.onload = startup; +window.onresize = function(){setTimeout('fontScale()', 50);} \ No newline at end of file diff --git a/docs/ui/i18n/00_head.txt b/docs/ui/i18n/00_head.txt new file mode 100644 --- /dev/null +++ b/docs/ui/i18n/00_head.txt @@ -0,0 +1,8 @@ +<!-- style sheet links --> +<link rel="stylesheet" href="ui/i18n/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> + +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> diff --git a/docs/ui/i18n/bg-shade.png b/docs/ui/i18n/bg-shade.png new file mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..172c914f6f0dd3ef6d97b3c23c31f539f8f69389 GIT binary patch literal 594 zc%17D@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fl1QS#WAE}&fCiy1sfC?4mhNU zOI1HFE){!lDeI%X<E)t1b@v!$&aP*EaGr<hpn||CF;WP#O&Uy-SENrV0j3oOPgg&e IbxsLQ0Qi-Il>h($ diff --git a/docs/ui/i18n/bg-slide.jpg b/docs/ui/i18n/bg-slide.jpg new file mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6be0296db203367453f3bdd4ef71a22368911abe GIT binary patch literal 31239 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 P{{P?|mj69?XX<|dt$G4e diff --git a/docs/ui/i18n/framing.css b/docs/ui/i18n/framing.css new file mode 100644 --- /dev/null +++ b/docs/ui/i18n/framing.css @@ -0,0 +1,23 @@ +/* The following styles size and place the slide components. + Edit them if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; left: 0; z-index: 1;} +div#footer {top: auto; bottom: 0; width: 100%; z-index: 5;} +.slide {top: 0; width: 88%; padding: 1em 7% 2em 5%; z-index: 2;} + +div#controls {bottom: 1em; left: 0; width: 100%; text-align: center; z-index: 1000;} +div#controls form {margin: 0; padding: 0;} + +#currentSlide {position: absolute; left: 0; bottom: 0.5em; z-index: 10; + width: 100%; text-align: center;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/docs/ui/i18n/pretty.css b/docs/ui/i18n/pretty.css new file mode 100644 --- /dev/null +++ b/docs/ui/i18n/pretty.css @@ -0,0 +1,44 @@ +/* + Theme: i18n + Eric A. Meyer (http://meyerweb.com/) + Theme placed under CC by-sa 2.0 license +*/ + +body {background: #95A7D4 url(bg-slide.jpg) 100% 100% no-repeat; color: #210; font: 28px Arial, sans-serif;} +a {text-decoration: none; color: #336; border-bottom: 1px dotted;} +h1, h2, h3, h4, h5, h6 {font-size: 1em; margin: 0;} +sup {font-size: 0.75em; font-weight: normal; + vertical-align: 0.5em; line-height: 1px;} +ul {margin-left: 1em; padding-left: 0;} +li {margin-bottom: 0.66em;} +li li {margin: 0.33em 0; font-size: smaller;} + +#header {background: url(bg-shade.png); border-bottom: 1px solid #333; + padding-bottom: 2em;} +#footer {background: url(bg-shade.png); color: #BBB; border-top: 1px solid #333;} +#header, #footer {font-size: 0.5em;} +#footer h1, #footer h2 { padding: 0.5em 0.75em; + font-weight: normal; font-style: italic;} +#footer h1 {left: 0; font-size: 1em; letter-spacing: 1px;} +#footer h2 {position: absolute; bottom: 0; right: 0;} + +#controls {font-size: 0.75em;} +#navList {margin-top: 3px;} +#navLinks a {margin: 0 0.33em; padding: 0 0.25em; + border: 1px solid; border-color: #CCD #556 #556 #CCD; + background-color: #8597C4;} + +#currentSlide {font-size: 0.5em;} +#currentSlide span {font-size: 13px; color: rgb(49%,47%,66%);} +#currentSlide #csSep {display: none;} +#currentSlide #csHere {font-weight: bold;} +#currentSlide #csHere:before {content: "#"; font-weight: normal;} +#currentSlide #csTotal:before {content: " of ";} + +.slide h1 {font-size: 1.66em; line-height: 1; letter-spacing: -1px; + margin: 0 -15% 1em 0; padding: 0.5em 15% 0.06125em 0; border-bottom: 0.06125em solid rgb(90,94,120);} +#slide0 h1 {border: none; font-size: 2.25em; letter-spacing: 0; margin: 3em 0 1.5em;} +#slide0 h3 {margin: 0.5em 0 0;} +#slide0 h4 {margin-top: 0; font-size: smaller;} + +.slide .current {color: #003; text-shadow: 0 0 0.25em #9AABD7;} diff --git a/docs/ui/i18n/s5-core.css b/docs/ui/i18n/s5-core.css new file mode 100644 --- /dev/null +++ b/docs/ui/i18n/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, div.slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body div.slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +div.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/docs/ui/i18n/slides.css b/docs/ui/i18n/slides.css new file mode 100644 --- /dev/null +++ b/docs/ui/i18n/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */ \ No newline at end of file diff --git a/docs/why-wisp.org b/docs/why-wisp.org new file mode 100644 --- /dev/null +++ b/docs/why-wisp.org @@ -0,0 +1,63 @@ +#+title: Why Wisp? +#+options: num:nil toc:nil +# Export as s5 presentation. See http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html + +#+BEGIN_SRC elisp :exports none +(require 'ox-s5) +#+END_SRC + +* On Words + +#+BEGIN_SRC elisp :exports results :results results raw + (defun shuffle-wordcontent (string) + (interactive) + (let ((strings (split-string string))) + (substring + (apply 'concat + (loop for s in strings + collect (if (< (length s) 4) + (concat s " ") + (concat (substring s 0 1) + (apply 'concat + (mapcar 'string + (shuffle-vector + (string-to-vector + (substring s 1 -1))))) + (substring s -1) + " ")))) + 0 -1))) + + (concat "*" (setq why-wisp-text-scheme-has (shuffle-wordcontent "Scheme follows a minimalist design philosophy")) "*") +#+END_SRC + +#+RESULTS: +*Shcmee fowlols a malisimint dsegin plhpoihosy* + +- /Defocus a bit/ +- /Can you see the meaning?/ + +* Scheme for Newcomers + +#+BEGIN_SRC elisp :exports results :results results raw + (concat "*€" (combine-and-quote-strings (split-string why-wisp-text-scheme-has) " €") (apply 'concat (loop for word in (split-string why-wisp-text-scheme-has) collect "¥") ) "*") +#+END_SRC + +#+RESULTS: +*€Shcmee €fowlols €a €malisimint €dsegin €plhpoihosy¥¥¥¥¥¥* + +- /Try it again/ +- /Do you see how much harder it got?/ +- /€ and ¥ escape your existing filters/ + +* Elegance +#+html: <br /> +** *.,-":* + +/The most common non-letter characters in prose/ + +** *()* + +/The most common paired characters/ + +(From letter distributions in newspapers) +