data/ 0000755 0117427 0011613 00000000000 10512525345 010641 5 ustar wiki hotel data/TWiki/ 0000755 0117427 0011613 00000000000 10512525405 011665 5 ustar wiki hotel data/TWiki/SlideShowS5Template.txt 0000644 0117427 0011613 00000000251 10512525370 016232 0 ustar wiki hotel %META:TOPICINFO{author="ppant" date="1126703975" format="1.0" version="1.2"}%
%STARTINCLUDE%
%SLIDETITLE%
%SLIDETEXT%
%STOPINCLUDE%
data/TWiki/SlideShowS5Template.txt,v 0000444 0117427 0011613 00000000745 10512525370 016502 0 ustar wiki hotel head 1.1;
access;
symbols;
locks; strict;
comment @# @;
1.1
date 2006.08.30.21.50.14; author DrewStevenson; state Exp;
branches;
next ;
desc
@none
@
1.1
log
@none
@
text
@%META:TOPICINFO{author="DrewStevenson" date="1156974614" format="1.1" reprev="1.1" version="1.1"}%
%STARTINCLUDE%
%STOPINCLUDE%
@
lib/ 0000755 0117427 0011613 00000000000 10512525053 010472 5 ustar wiki hotel lib/TWiki/ 0000755 0117427 0011613 00000000000 10512525066 011525 5 ustar wiki hotel lib/TWiki/Plugins/ 0000755 0117427 0011613 00000000000 10512525136 013144 5 ustar wiki hotel lib/TWiki/Plugins/SlideShowPlugin/ 0000755 0117427 0011613 00000000000 10512525155 016225 5 ustar wiki hotel lib/TWiki/Plugins/SlideShowPlugin/SlideShow.pm 0000755 0117427 0011613 00000025444 10512525155 020500 0 ustar wiki hotel # Plugin for TWiki Enterprise Collaboration Platform, http://TWiki.org/
#
# Copyright (C) 2002-2006 Peter Thoeny, peter@thoeny.org
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. For
# more details read LICENSE in the root of this distribution.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details, published at
# http://www.gnu.org/copyleft/gpl.html
#
# As per the GPL, removal of this notice is prohibited.
use strict;
use TWiki::Func;
package TWiki::Plugins::SlideShowPlugin::SlideShow;
use vars qw( $imgRoot $installWeb $ssStyle $ssTitle $ssDate $ssAuthor $ssSkin );
sub init {
$installWeb = shift;
$imgRoot = '%PUBURLPATH%/'.$installWeb.'/SlideShowPlugin';
$ssStyle = '';
$ssTitle = '';
$ssDate = '';
$ssAuthor = '';
$ssSkin = '';
}
sub templateHandler {
my( $text, $theTopic, $theWeb ) = @_;
my( $meta, $topicText ) = TWiki::Func::readTopic( $theWeb, $theTopic );
$topicText =~ /^(.*)%SLIDESHOWSTART{(.*?)}%(.*)$/s;
my $textPre = $1;
my $args = $2;
$ssTitle = TWiki::Func::extractNameValuePair( $args, "title" ) || "";
$ssAuthor = TWiki::Func::extractNameValuePair( $args, "author" ) || "";
$ssStyle = TWiki::Func::extractNameValuePair( $args, "style" ) || "original";
$ssSkin = ($ssStyle eq "s5") ? "s5" : "print";
$text =~ s/%SLIDESHOWTITLE%/$ssTitle/go;
$text =~ s/%SLIDESHOWAUTHOR%/$ssAuthor/go;
$text =~ s/%SLIDESHOWDATE%/$ssDate/go;
return $text;
}
sub handler {
my( $text, $theTopic, $theWeb ) = @_;
my $today = TWiki::Time::formatTime( time(), "\$day \$month, \$year", "servertime");
my $textPre = "";
my $textPost = "";
my $args = "";
if( $text =~ /^(.*)%SLIDESHOWSTART%(.*)$/s ) {
$textPre = $1;
$text = $2;
} elsif( $text =~ /^(.*)%SLIDESHOWSTART{(.*?)}%(.*)$/s ) {
$textPre = $1;
$args = $2;
$text = $3;
$ssTitle = TWiki::Func::extractNameValuePair( $args, "title" ) || "";
$ssAuthor = TWiki::Func::extractNameValuePair( $args, "author" ) || "";
$ssDate = TWiki::Func::extractNameValuePair( $args, "date " ) || $today;
$ssStyle = TWiki::Func::extractNameValuePair( $args, "style" ) || "original";
$ssSkin = ($ssStyle eq "s5") ? "s5" : "print";
}
if( $text =~ /^(.*)%SLIDESHOWEND%(.*)$/s ) {
$text = $1;
$textPost = $2;
}
$text =~ s/%SLIDESHOWTITLE%/$ssTitle/go;
$text =~ s/%SLIDESHOWAUTHOR%/$ssAuthor/go;
$text =~ s/%SLIDESHOWDATE%/$ssDate/go;
# Make sure we don't end up back in the handler again
# SMELL: there should be a better block
$text =~ s/%SLIDESHOW/%SLIDESHOW/g;
my $query = TWiki::Func::getCgiQuery();
if( $query && $query->param( 'slideshow' ) ) {
# in presentation mode
unless ($ssStyle eq "s5") {
$textPre .= "\n#StartPresentation\n";
$textPre .= renderSlideNav( $theWeb, $theTopic, 1, 1, "e" );
}
my $slideMax = 0;
if( $text =~ /(.*?[\n\r])\-\-\-+(\++)\!* (.*)/s ) {
$textPre .= $1;
$text = $3;
my $level = $2;
$level =~ s/\+/\\\+/go;
my @slides = split( /[\n\r]\-\-\-+$level\!* /, $text );
$text = "";
my $hideComments = TWiki::Func::getPreferencesValue( 'SLIDESHOWPLUGIN_HIDECOMMENTS' ) || '';
my $tmplText = readTmplText( $theWeb, $args );
my $slideText = "";
my $slideTitle = "";
my $slideBody = "";
my $slideComment = "";
my $slideNum = 1;
$slideMax = @slides;
my @titles = ();
foreach( @slides ) {
next unless /^([^\n\r]*)(.*)$/s;
$slideTitle = $1;
$slideBody = $2;
$slideComment = '';
if( $hideComments && $slideBody =~ s/(\-\-\-+\+$level+\!*\s*Comments.*)//is ) {
$slideComment = $1;
if ($ssStyle eq "s5") {
$slideComment = "\n$1\n
\n";
}
}
$slideBody = "\n$slideBody\n
\n";
push( @titles, $slideTitle );
$slideText = $tmplText;
$slideText =~ s/%SLIDESHOWTITLE%/$ssTitle/go;
$slideText =~ s/%SLIDESHOWAUTHOR%/$ssAuthor/go;
$slideText =~ s/%SLIDESHOWDATE%/$ssDate/go;
$slideText =~ s/%SLIDETITLE%/$slideTitle/go;
$slideText =~ s/%SLIDETEXT%/$slideBody$slideComment/go;
$slideText =~ s/%SLIDENUM%/$slideNum/go;
$slideText =~ s/%SLIDEMAX%/$slideMax/go;
$slideText =~ s/%SLIDENAV%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "f p n" )/geo;
$slideText =~ s/%SLIDENAVALL%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "f p n l" )/geo;
$slideText =~ s/%SLIDENAVFIRST%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "f" )/geo;
$slideText =~ s/%SLIDENAVPREV%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "p" )/geo;
$slideText =~ s/%SLIDENAVNEXT%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "n" )/geo;
$slideText =~ s/%SLIDENAVLAST%/renderSlideNav( $theWeb, $theTopic, $slideNum, $slideMax, "l" )/geo;
$text .= "\n\n-----\n#GoSlide$slideNum\n" unless ($ssStyle eq "s5");
$text .= "$slideText\n";
$text .= "%BR%\n\n" x 20 unless ($ssStyle eq "s5");
$slideNum++;
}
unless ($ssStyle eq "s5") {
$text =~ s/%TOC(?:\{.*?\})*%/renderSlideToc( $theWeb, $theTopic, @titles )/geo;
$text .= "\n#GoSlide$slideNum\n%BR%\n";
}
}
unless ($ssStyle eq "s5") {
$text = "$textPre\n$text\n";
$text .= renderSlideNav( $theWeb, $theTopic, $slideMax + 1, $slideMax, "f p e" );
$text .= "\n";
$text .= "%BR%\n\n" x 30;
$text =~ s/%BR%/
/go;
$text .= $textPost;
}
} else {
# in normal topic view mode
if( $text =~ /[\n\r]\-\-\-+(\++)/s ) {
my $level = $1;
$level =~ s/\+/\\\+/go;
# add slide number to heading
my $slideNum = 1;
$text =~ s/([\n\r]\-\-\-+$level\!*) ([^\n\r]+)/"$1 Slide " . $slideNum++ . ": $2"/ges;
}
$text = "$textPre \n#StartPresentation\n"
. renderSlideNav( $theWeb, $theTopic, 1, 1, "s" )
. "\n$text $textPost";
}
return $text;
}
sub renderSlideNav {
my( $theWeb, $theTopic, $theNum, $theMax, $theButtons ) = @_;
my $prev = $theNum - 1 || 1;
my $next = $theNum + 1;
my $text = '';
my $viewUrl = "%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/$theWeb/$theTopic";
if( $theButtons =~ /f/ ) {
# first slide button
if( $theButtons =~ / f/ ) {
$text .= " ";
}
$text .= ""
. "";
}
if( $theButtons =~ /p/ ) {
# previous slide button
if( $theButtons =~ / p/ ) {
$text .= " ";
}
$text .= ""
. "";
}
if( $theButtons =~ /n/ ) {
# next slide button
if( $theButtons =~ / n/ ) {
$text .= " ";
}
$text .= ""
. "";
}
if( $theButtons =~ /l/ ) {
# last slide button
if( $theButtons =~ / l/ ) {
$text .= " ";
}
$text .= ""
. "";
}
if( $theButtons =~ /e/ ) {
# end slideshow button
if( $theButtons =~ / e/ ) {
$text .= " ";
}
$text .= ""
. "";
}
if( $theButtons =~ /s/ ) {
# start slideshow button
if( $theButtons =~ / s/ ) {
$text .= " ";
}
$text .= ""
. "";
}
return $text;
}
sub renderSlideToc {
my( $theWeb, $theTopic, @theTitles ) = @_;
my $slideNum = 1;
my $text = '';
my $viewUrl = "%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/$theWeb/$theTopic";
foreach( @theTitles ) {
$text .= "\t\* ";
$text .= "";
$text .= " $_ \n";
$slideNum++;
}
return $text;
}
sub readTmplText {
my( $theWeb, $theArgs ) = @_;
my $tmplTopic = TWiki::Func::extractNameValuePair( $theArgs, "template" );
unless( $tmplTopic ) {
$theWeb = $installWeb;
$tmplTopic = TWiki::Func::getPreferencesValue( "SLIDESHOWPLUGIN_TEMPLATE" )
|| "SlideShowPlugin";
}
if( $tmplTopic =~ /^([^\.]+)\.(.*)$/o ) {
$theWeb = $1;
$tmplTopic = $2;
}
my( $meta, $text ) = TWiki::Func::readTopic( $theWeb, $tmplTopic );
# remove everything before %STARTINCLUDE% and after %STOPINCLUDE%
$text =~ s/.*?%STARTINCLUDE%//os;
$text =~ s/%STOPINCLUDE%.*//os;
unless( $text ) {
$text = " $installWeb.SlideShowPlugin Error: "
. "Slide template topic $theWeb.$tmplTopic not found or empty!\n\n"
. "%SLIDETITLE%\n\n%SLIDETEXT%\n\n";
} elsif( $text =~ /%SLIDETITLE%/ && $text =~ /%SLIDETEXT%/ ) {
# assume that format is OK
} else {
$text = " $installWeb.SlideShowPlugin Error: "
. "Missing =%SLIDETITLE%= or =%SLIDETEXT%= in "
. "slide template topic $theWeb.$tmplTopic.\n\n"
. "%SLIDETITLE%\n\n%SLIDETEXT%\n\n";
}
$text =~ s/%WEB%/$theWeb/go;
$text =~ s/%TOPIC%/$tmplTopic/go;
$text =~ s/%ATTACHURL%/%PUBURL%\/$theWeb\/$tmplTopic/go;
return $text;
}
1;
lib/TWiki/Plugins/SlideShowPlugin.pm 0000754 0117427 0011613 00000004323 10512525136 016566 0 ustar wiki hotel # Plugin for TWiki Enterprise Collaboration Platform, http://TWiki.org/
#
# Copyright (C) 2002-2006 Peter Thoeny, peter@thoeny.org
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. For
# more details read LICENSE in the root of this distribution.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details, published at
# http://www.gnu.org/copyleft/gpl.html
#
# As per the GPL, removal of this notice is prohibited.
package TWiki::Plugins::SlideShowPlugin;
use vars qw(
$web $topic $user $installWeb $VERSION $RELEASE $debug
);
# This should always be $Rev: 8154$ so that TWiki can determine the checked-in
# status of the plugin. It is used by the build automation tools, so
# you should leave it alone.
$VERSION = '$Rev: 8154$';
# This is a free-form string you can use to "name" your own plugin version.
# It is *not* used by the build automation tools, but is reported as part
# of the version number in PLUGINDESCRIPTIONS.
$RELEASE = 'Dakar';
sub initPlugin {
( $topic, $web, $user, $installWeb ) = @_;
# check for Plugins.pm versions
if( $TWiki::Plugins::VERSION < 1 ) {
TWiki::Func::writeWarning( "Version mismatch between SlideShowPlugin and Plugins.pm" );
return 0;
}
return 1;
}
sub commonTagsHandler {
### my ( $text, $topic, $web ) = @_; # do not uncomment, use $_[0], $_[1]... instead
if( $_[0] =~ /%SLIDESHOWSTART/ ) {
require TWiki::Plugins::SlideShowPlugin::SlideShow;
TWiki::Plugins::SlideShowPlugin::SlideShow::init( $installWeb );
$_[0] = TWiki::Plugins::SlideShowPlugin::SlideShow::handler( @_ );
} elsif( $_[0] =~ /%SLIDESHOWTITLE/ ){
require TWiki::Plugins::SlideShowPlugin::SlideShow;
TWiki::Plugins::SlideShowPlugin::SlideShow::init( $installWeb );
$_[0] = TWiki::Plugins::SlideShowPlugin::SlideShow::templateHandler( @_ );
}
}
1;
pub/ 0000755 0117427 0011613 00000000000 10512525267 010521 5 ustar wiki hotel pub/ui/ 0000755 0117427 0011613 00000000000 10512525267 011136 5 ustar wiki hotel pub/ui/blank.gif 0000644 0117427 0011613 00000000061 10512525267 012711 0 ustar wiki hotel GIF89a ! , T ; pub/ui/default/ 0000755 0117427 0011613 00000000000 10512525267 012562 5 ustar wiki hotel pub/ui/default/blank.gif 0000644 0117427 0011613 00000000061 10512525267 014335 0 ustar wiki hotel GIF89a ! , T ; pub/ui/default/.DS_Store 0000644 0117427 0011613 00000014004 10512525267 014244 0 ustar wiki hotel Bud1 i n g . c s f r a m i n g . c s sIlocblob 5 o p e r a . c s sIlocblob 5
o u t l i n e . c s sIlocblob 5 p r i n t . c s sIlocblob 5 @ s 5 - c o r e . c s sIlocblob 5 R
s l i d e s . c s sIlocblob 5 d @ @ @ @ E DSDB ` @ @ @ pub/ui/default/opera.css 0000644 0117427 0011613 00000000317 10512525267 014403 0 ustar wiki hotel /* 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;}
pub/ui/default/outline.css 0000644 0117427 0011613 00000001270 10512525267 014753 0 ustar wiki hotel /* 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;}
pub/ui/default/pretty.css 0000644 0117427 0011613 00000006714 10512525267 014633 0 ustar wiki hotel /* Following are the presentation styles -- edit away! */
body {background: #FFF url(lake.png) 0px 0 no-repeat; 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 {font-family: Verdana, Helvetica, sans-serif;}
div#header {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: #000; }
.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;
background: none; 005; border: none; color: #000;
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;}
*/
pub/ui/default/framing.css 0000644 0117427 0011613 00000001666 10512525267 014730 0 ustar wiki hotel /* 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;}
*/
pub/ui/default/bodybg.gif 0000755 0117427 0011613 00000023607 10512525267 014532 0 ustar wiki hotel GIF89a N 絽ֽ ! , N !u@BlM|?)Bc(,
Fo1DEe,pmg٢pڈԸ<
(8e=
qXdK Pq<8k:aD9U3 G
;W[hQ[ LH52