From 0f57655dfd1e3cb6f53c8ad79ab43e69e36f8b34 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 9 Jan 2007 22:57:26 +0100 Subject: [PATCH] initial checkin darcs-hash:20070109215726-7ad00-2edc69fd382144dfaa76a93f73e4db4d5dd9f8b5.gz --- README | 12 + conf/default.php | 4 + conf/metadata.php | 4 + lang/en/lang.php | 3 + lang/en/settings.php | 3 + renderer.php | 171 ++++++++++++ screen.gif | Bin 0 -> 1574 bytes syntax.php | 85 ++++++ ui/blue/bluebg.gif | Bin 0 -> 2295 bytes ui/blue/bluebottom.gif | Bin 0 -> 3428 bytes ui/blue/bluefooter.gif | Bin 0 -> 591 bytes ui/blue/framing.css | 25 ++ ui/blue/pretty.css | 91 ++++++ ui/blue/s5-core.css | 11 + ui/blue/slides.css | 3 + ui/default/blank.gif | Bin 0 -> 49 bytes ui/default/bodybg.gif | Bin 0 -> 10119 bytes ui/default/framing.css | 23 ++ ui/default/iepngfix.htc | 42 +++ ui/default/opera.css | 7 + ui/default/outline.css | 15 + ui/default/pretty.css | 86 ++++++ ui/default/print.css | 1 + ui/default/s5-core.css | 9 + ui/default/slides.css | 3 + ui/default/slides.js | 553 +++++++++++++++++++++++++++++++++++++ ui/dokuwiki/blank.gif | Bin 0 -> 49 bytes ui/dokuwiki/framing.css | 23 ++ ui/dokuwiki/iepngfix.htc | 42 +++ ui/dokuwiki/logo.png | Bin 0 -> 16746 bytes ui/dokuwiki/opera.css | 7 + ui/dokuwiki/outline.css | 15 + ui/dokuwiki/pretty.css | 77 ++++++ ui/dokuwiki/print.css | 1 + ui/dokuwiki/s5-core.css | 9 + ui/dokuwiki/slides.css | 3 + ui/dokuwiki/slides.js | 552 ++++++++++++++++++++++++++++++++++++ ui/flower/blume.jpg | Bin 0 -> 6779 bytes ui/flower/blumerechts.jpg | Bin 0 -> 2215 bytes ui/flower/framing.css | 25 ++ ui/flower/pretty.css | 83 ++++++ ui/flower/print.css | 1 + ui/flower/s5-core.css | 11 + ui/flower/slides.css | 3 + ui/i18n/00_head.txt | 8 + ui/i18n/bg-shade.png | Bin 0 -> 594 bytes ui/i18n/bg-slide.jpg | Bin 0 -> 31239 bytes ui/i18n/framing.css | 23 ++ ui/i18n/pretty.css | 44 +++ ui/i18n/s5-core.css | 9 + ui/i18n/slides.css | 3 + ui/pixel/framing.css | 25 ++ ui/pixel/pixelbg.gif | Bin 0 -> 1716 bytes ui/pixel/pixelheader.jpg | Bin 0 -> 3571 bytes ui/pixel/pixelslide0bg.gif | Bin 0 -> 3180 bytes ui/pixel/pretty.css | 80 ++++++ ui/pixel/s5-core.css | 11 + ui/pixel/slides.css | 3 + ui/yatil/bodybg.gif | Bin 0 -> 1373 bytes ui/yatil/button.gif | Bin 0 -> 920 bytes ui/yatil/framing.css | 23 ++ ui/yatil/head.gif | Bin 0 -> 1373 bytes ui/yatil/pretty.css | 135 +++++++++ ui/yatil/s5-core.css | 11 + ui/yatil/slide0h1.gif | Bin 0 -> 3143 bytes ui/yatil/slides.css | 3 + ui/yatil/toggle.gif | Bin 0 -> 1128 bytes 67 files changed, 2381 insertions(+) create mode 100644 README create mode 100644 conf/default.php create mode 100644 conf/metadata.php create mode 100644 lang/en/lang.php create mode 100644 lang/en/settings.php create mode 100644 renderer.php create mode 100644 screen.gif create mode 100644 syntax.php create mode 100644 ui/blue/bluebg.gif create mode 100644 ui/blue/bluebottom.gif create mode 100644 ui/blue/bluefooter.gif create mode 100644 ui/blue/framing.css create mode 100644 ui/blue/pretty.css create mode 100644 ui/blue/s5-core.css create mode 100644 ui/blue/slides.css create mode 100644 ui/default/blank.gif create mode 100644 ui/default/bodybg.gif create mode 100644 ui/default/framing.css create mode 100644 ui/default/iepngfix.htc create mode 100644 ui/default/opera.css create mode 100644 ui/default/outline.css create mode 100644 ui/default/pretty.css create mode 100644 ui/default/print.css create mode 100644 ui/default/s5-core.css create mode 100644 ui/default/slides.css create mode 100644 ui/default/slides.js create mode 100644 ui/dokuwiki/blank.gif create mode 100644 ui/dokuwiki/framing.css create mode 100644 ui/dokuwiki/iepngfix.htc create mode 100644 ui/dokuwiki/logo.png create mode 100644 ui/dokuwiki/opera.css create mode 100644 ui/dokuwiki/outline.css create mode 100644 ui/dokuwiki/pretty.css create mode 100644 ui/dokuwiki/print.css create mode 100644 ui/dokuwiki/s5-core.css create mode 100644 ui/dokuwiki/slides.css create mode 100644 ui/dokuwiki/slides.js create mode 100644 ui/flower/blume.jpg create mode 100644 ui/flower/blumerechts.jpg create mode 100644 ui/flower/framing.css create mode 100644 ui/flower/pretty.css create mode 100644 ui/flower/print.css create mode 100644 ui/flower/s5-core.css create mode 100644 ui/flower/slides.css create mode 100644 ui/i18n/00_head.txt create mode 100644 ui/i18n/bg-shade.png create mode 100644 ui/i18n/bg-slide.jpg create mode 100644 ui/i18n/framing.css create mode 100644 ui/i18n/pretty.css create mode 100644 ui/i18n/s5-core.css create mode 100644 ui/i18n/slides.css create mode 100644 ui/pixel/framing.css create mode 100644 ui/pixel/pixelbg.gif create mode 100644 ui/pixel/pixelheader.jpg create mode 100644 ui/pixel/pixelslide0bg.gif create mode 100644 ui/pixel/pretty.css create mode 100644 ui/pixel/s5-core.css create mode 100644 ui/pixel/slides.css create mode 100644 ui/yatil/bodybg.gif create mode 100644 ui/yatil/button.gif create mode 100644 ui/yatil/framing.css create mode 100644 ui/yatil/head.gif create mode 100644 ui/yatil/pretty.css create mode 100644 ui/yatil/s5-core.css create mode 100644 ui/yatil/slide0h1.gif create mode 100644 ui/yatil/slides.css create mode 100644 ui/yatil/toggle.gif diff --git a/README b/README new file mode 100644 index 0000000..287ce9c --- /dev/null +++ b/README @@ -0,0 +1,12 @@ +S5: A Simple Standards-Based Slide Show System +http://meyerweb.com/eric/tools/s5/ +by Eric Meyer + +Additional Themes from +http://www.yatil.de/s5/download/ +by Martin Hense and Eric Eggert + +"dokuwiki" theme based on work by Anika Henke + +The presentation icon was found at +http://www.linkmatrix.de/index.php?id=icon diff --git a/conf/default.php b/conf/default.php new file mode 100644 index 0000000..cd1f40c --- /dev/null +++ b/conf/default.php @@ -0,0 +1,4 @@ + DOKU_INC.'lib/plugins/s5/ui/'); + diff --git a/lang/en/lang.php b/lang/en/lang.php new file mode 100644 index 0000000..d38a363 --- /dev/null +++ b/lang/en/lang.php @@ -0,0 +1,3 @@ + + * @author Andreas Gohr + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +// we inherit from the XHTML renderer instead directly of the base renderer +require_once DOKU_INC.'inc/parser/xhtml.php'; + +/** + * The Renderer + */ +class Doku_Renderer_s5 extends Doku_Renderer_xhtml { + var $slideopen = false; + var $base=''; + var $tpl=''; + + /** + * Initialize the rendering + */ + function document_start() { + // call the parent + parent::document_start(); + + // send the content type header + header('Content-Type: text/html; charset=utf-8'); + + // use the main plugin to load config data + $plugin = plugin_load('syntax','s5'); + $this->base = DOKU_BASE.'lib/plugins/s5/ui/'; + $this->tpl = $plugin->getConf('template'); + } + + /** + * Print the header of the page + * + * Gets called when the very first H1 header is discovered. It includes + * all the S5 CSS and JavaScript magic + */ + function s5_init($title){ + global $conf; + global $lang; + global $INFO; + global $ID; + + //throw away any previous content + $this->doc = ' + + + + + +'.hsc($title).' + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+'; + } + + /** + * Closes the document + */ + function document_end(){ + // we don't care for footnotes and toc + // but cleanup is nice + $this->doc = preg_replace('#

\s*

#','',$this->doc); + + if($this->slideopen){ + $this->doc .= '
'.DOKU_LF; //close previous slide + } + $this->doc .= ' + + '; + } + + /** + * This is what creates new slides + * + * A new slide is started for each H2 header + */ + function header($text, $level, $pos) { + if($level == 1){ + if(!$this->slideopen){ + $this->s5_init($text); // this is the first slide + $level = 2; + }else{ + return; + } + } + + if($level == 2){ + if($this->slideopen){ + $this->doc .= ''.DOKU_LF; //close previous slide + } + $this->doc .= '
'.DOKU_LF; + $this->slideopen = true; + } + $this->doc .= ''; + $this->doc .= $this->_xmlEntities($text); + $this->doc .= ''.DOKU_LF; + } + + /** + * Top-Level Sections are slides + */ + function section_open($level) { + if($level < 3){ + $this->doc .= '
'.DOKU_LF; + }else{ + $this->doc .= '
'.DOKU_LF; + } + // we don't use it + } + + /** + * Throw away footnote + */ + function footnote_close() { + // recover footnote into the stack and restore old content + $footnote = $this->doc; + $this->doc = $this->store; + $this->store = ''; + } + + /** + * No acronyms in a presentation + */ + function acronym($acronym){ + $this->doc .= $this->_xmlEntities($acronym); + } + + /** + * A line stops the slide and start the handout section + */ + function hr() { + $this->doc .= '
'.DOKU_LF; + $this->doc .= '
'.DOKU_LF; + } +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/screen.gif b/screen.gif new file mode 100644 index 0000000000000000000000000000000000000000..0c506e397969a783875336c76217a37ee0759282 GIT binary patch literal 1574 zcmeHGX;V`N0DQb$uTd~+I7DDTf?Q>cs5MBic?2|cM4QCom6eqj{{Bnp=}noLRc*U+!V#f@K~7QvD>mvEAD`U12TL%l zP$*0$Q_~+QU3>S+0Kk-*DyP%q5{^zyO))Z?Gk8)nV@}n}vzp!A@4|2)0wE}uDqC9W z=2`1;apU9TvORmuk{TLqa47FgVZlmXp2p3MS*jY9tWnCRdfLe`+Ap0FRWoH+|fwSMlrj)6l`TD-$^GiyL z`VJfj=XZ2=Dx1jUs>sOx&d$Y?oDMu*k)Quqt%QTQr;znp_!jPsNvI+C)S*v z^z|)`?bBUJ)*b{ofSFRpxsmugVDFj1Q(CWR9H6xIFJI`p;)jW zW}!Q5i-fv^@oCjbA}5!*pFt#gVZoa2=ref?HWf;OY~69I2vihw3q~NSxg~ZMc_~gb zuj~PUUEtx1*y<3?RNDa_{9wy1jnMN7q$iQUCh1Bsn>PnhkWTxMPbJk+SkD=35mLU> ziue6dLqcqip}86!{q?dqkAr@4eWNtGg&X_G?*%CS=i@BsxOi?`gEVk4LN1B)t6~dp zK%Px0{NTVFs(s6z4Yf9PO9@wF>XKVqFQl{E8j32G+kd=kit(!NnhHtlI5M%^qP+8L z`FFMo^lqbI@fokXbvxT%_h``ZlNjcih1Y%h156aiB2nH9e33}eZ6`@7I@DZED9#Eh z|A+=jS6*cSUeA#d?4hAyrL7Y?0_DPD!{xT`BVPd^6SoCvwGjuRz*#hT3S_RGD!~97 z2&EXz8lVNOY@=K0Ov-NBRVO-;rW18Idkt0z@G3~;0HBS#m+#83eLe*pog7k2;v literal 0 HcmV?d00001 diff --git a/syntax.php b/syntax.php new file mode 100644 index 0000000..9dabbc8 --- /dev/null +++ b/syntax.php @@ -0,0 +1,85 @@ + + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); +require_once(DOKU_PLUGIN.'syntax.php'); + +/** + * All DokuWiki plugins to extend the parser/rendering mechanism + * need to inherit from this class + */ +class syntax_plugin_s5 extends DokuWiki_Syntax_Plugin { + + /** + * return some info + */ + function getInfo(){ + return array( + 'author' => 'Andreas Gohr', + 'email' => 'andi@splitbrain.org', + 'date' => '2006-12-05', + 'name' => 'S5 Slideshow Plugin', + 'desc' => 'Display a Wiki page as S5 slideshow presentation', + 'url' => 'http://wiki.splitbrain.org/plugin:s5', + ); + } + + /** + * What kind of syntax are we? + */ + function getType(){ + return 'substition'; + } + + /** + * What about paragraphs? + */ + function getPType(){ + return 'normal'; + } + + /** + * Where to sort in? + */ + function getSort(){ + return 800; + } + + + /** + * Connect pattern to lexer + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~SLIDESHOW~~',$mode,'plugin_s5'); + } + + + /** + * Handle the match + */ + function handle($match, $state, $pos, &$handler){ + return array(); + } + + /** + * Create output + */ + function render($format, &$renderer, $data) { + global $ID; + if($format != 'xhtml') return false; + + $renderer->doc .= ''; + $renderer->doc .= ''.$this->getLang('view').''; + $renderer->doc .= ''; + return true; + } +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/ui/blue/bluebg.gif b/ui/blue/bluebg.gif new file mode 100644 index 0000000000000000000000000000000000000000..909490511adcb2697d12255844c9af71c4e45a27 GIT binary patch literal 2295 zcma)%`#anB0)Ri?tOqm9)9v7~uJd$j8LCdVgOlAnJ$r~;tf%XPV_j$K9#mDGwg->( z=}EQ4D%4sN4XwB(kqZ$d8cNX0J=854x40&fko%R&Ir|UJ`}6z5`z9tO#Qp8ZUhoLa z90dSC0Kx$1V*vX%0DlJ1j{y1tzT0B{6Ac>qcPum=Em11JSRCjsmx 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 literal 0 HcmV?d00001 diff --git a/ui/blue/framing.css b/ui/blue/framing.css new file mode 100644 index 0000000..a977c55 --- /dev/null +++ b/ui/blue/framing.css @@ -0,0 +1,25 @@ +/* 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, div.slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 1em;} +div#footer {top: auto; bottom: 0; height: 2.5em;} +div.slide {top: 0; width: 92%; padding: 3.5em 4% 4%;} +/*div#controls {left: 50%; top: 0; width: 50%; height: 100%;} +#footer>*/ +div#controls {bottom: 0; top: auto; height: auto;} + +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +div#currentSlide {position: absolute; left: -500px; bottom: 1em; width: 130px; 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/ui/blue/pretty.css b/ui/blue/pretty.css new file mode 100644 index 0000000..8d98892 --- /dev/null +++ b/ui/blue/pretty.css @@ -0,0 +1,91 @@ +/* Blue Theme 2004 by Martin Hense ::: www.lounge7.de */ + +/* Following are the presentation styles -- edit away! + Note that the 'body' font size may have to be changed if the resolution is + different than expected. */ + +body {background: #000294 url(bluebottom.gif) right bottom no-repeat; color: #fff; font-size: 1.8em;} +:link, :visited {text-decoration: none; color: #F8B73E;} +#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;} + +code {padding: 2px 0.25em; font-weight: bold; color: #AAABF8;} +code.bad, code del {color: red;} +code.old {color: silver;} +pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +pre code {display: block;} +ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +li {margin-top: 0.75em; margin-right: 0;} +ul ul {line-height: 1;} +ul ul li {margin: .2em; font-size: 85%; list-style: square;} +img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #9183BF; + 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; height: 36px; border-top: 1px solid #08093F; background: #000136 url(bluefooter.gif) top right no-repeat; } +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide { + font-family: georgia, Times, 'Times New Roman', serif; + background: transparent url(bluebg.gif) repeat-x; +} +.slide h1 {position: absolute; left: 87px; z-index: 1; + white-space: nowrap; + text-transform: capitalize; + top: 1em; width: 80%; + margin: 0 auto; text-align: center; padding: 0; + font: 150%/1em georgia, Times, 'Times New Roman', serif; + color: #fff; background: transparent; + } +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; z-index: 5; left: 50%; top: 0; + width: 50%; height: 100%; + text-align: right;} +#footer>div#controls {position: fixed; bottom: 0; padding: 1em 0; + top: auto; height: auto;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0; padding: 0;} +div#controls a {font-size: 2em; padding: 0; margin: 0 0.5em; + border: none; + cursor: pointer; + background: transparent; color: #9183BF; + } +div#controls select {visibility: hidden; background: #DDD; color: #227;} +div#controls div:hover select {visibility: visible;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #9183BF; font-family: Verdana, Helvetica, sans-serif;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 1.33em; padding: 0; + white-space: normal; + background: transparent; +margin: 0 auto; width: 75%; text-align: center; + font: 2.5em Georgia, Times, 'Times New Roman', serif; height: 281px; + color: #fff;} +#slide0 h3 {font-size: 1.5em;} +#slide0 h4 {font-size: 1em;} +#slide0 h3, #slide0 h4, #slide0 p {margin: 0; text-align: center; color: #fff;} +#slide0 p {margin-top: 0.7em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} \ No newline at end of file diff --git a/ui/blue/s5-core.css b/ui/blue/s5-core.css new file mode 100644 index 0000000..15ad4e5 --- /dev/null +++ b/ui/blue/s5-core.css @@ -0,0 +1,11 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div.slide {position: absolute;} +html>body div#header, html>body div#footer, html>body div.slide {position: fixed;} +div#header {z-index: 1;} +div.slide {z-index: 2; visibility: hidden;} +#slide0 {visibility: visible;} +div#footer {z-index: 5;} +div#controls {position: absolute; z-index: 1;} +#footer>div#controls {position: fixed;} +.handout {display: none;} diff --git a/ui/blue/slides.css b/ui/blue/slides.css new file mode 100644 index 0000000..0786d7d --- /dev/null +++ b/ui/blue/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/ui/default/blank.gif b/ui/default/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..75b945d2553848b8b6f41fe5e24599c0687b8472 GIT binary patch literal 49 zcmZ?wbhEHbWMp7unE0RJ|Ns9C3=9Vj8~~DvKUo+V7?>DzfNY>Fh|Ltj$Y2csQN9XW literal 0 HcmV?d00001 diff --git a/ui/default/bodybg.gif b/ui/default/bodybg.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f448a16fe6dc7a03a4279fb19f9ba3af38eb634 GIT binary patch literal 10119 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 Duh@-b literal 0 HcmV?d00001 diff --git a/ui/default/framing.css b/ui/default/framing.css new file mode 100644 index 0000000..14d8509 --- /dev/null +++ b/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/ui/default/iepngfix.htc b/ui/default/iepngfix.htc new file mode 100644 index 0000000..4d90c87 --- /dev/null +++ b/ui/default/iepngfix.htc @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/ui/default/opera.css b/ui/default/opera.css new file mode 100644 index 0000000..9e9d2a3 --- /dev/null +++ b/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/ui/default/outline.css b/ui/default/outline.css new file mode 100644 index 0000000..62db519 --- /dev/null +++ b/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/ui/default/pretty.css b/ui/default/pretty.css new file mode 100644 index 0000000..3d3acef --- /dev/null +++ b/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/ui/default/print.css b/ui/default/print.css new file mode 100644 index 0000000..e7a71d1 --- /dev/null +++ b/ui/default/print.css @@ -0,0 +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/ui/default/s5-core.css b/ui/default/s5-core.css new file mode 100644 index 0000000..86444e0 --- /dev/null +++ b/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/ui/default/slides.css b/ui/default/slides.css new file mode 100644 index 0000000..0786d7d --- /dev/null +++ b/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/ui/default/slides.js b/ui/default/slides.js new file mode 100644 index 0000000..3e99161 --- /dev/null +++ b/ui/default/slides.js @@ -0,0 +1,553 @@ +// 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 = '' + snum + '<\/span> ' + + '\/<\/span> ' + + '' + (smax-1) + '<\/span>'; + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } + window.location.replace( window.location.search + '#slide' + snum); +} + +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' + + '