%META:TOPICINFO{author="PeterThoeny" date="1079859586" format="1.0" version="1.2"}%
---+!! Slide Show Plugin

This Plugin converts a topic with headings into a slide show.

%TOC%

---++ Introduction

There is already a defacto standard for presentations, why this Plugin? This Plugin makes sense for organizations that do already have lots of content in TWiki: It is easy to create a web based presentation that contains many links to related content. The Plugin does not try to compete with the bells and whistles of the other presentation program, but the markup of TWiki and other Plugins like TWiki:Plugins/ChartPlugin, TWiki:Plugins/GaugePlugin, TWiki:Plugins/SpreadSheetPlugin, TWiki:Plugins/TWikiDrawPlugin can be used to create an appealing presentation.

Any topic with headings can be converted into a slide show. Each slide starts with a ="---++"= heading. There are two modes to view a topic:

	* Normal topic view mode: Headings and text is shown in the usual TWiki rendering, representing the outline of the slide show. This mode is useful to print handouts.
	* Presentation mode: Each heading with text is shown as a slide; the format is based on a slide template. Navigation buttons are added to go to the "First", "Previous", and "Next" slide. Slide navigation is quick because it is done with anchor jumps to the same page. 

You can start the presentation by clicking on the "Start presentation" button.

---++ Syntax Rules

---+++ How to Create a Slide Show

	* Start with =%<nop>SLIDESHOWSTART%=
		* Use the optional =template= parameter to specify your own slide template topic, e.g. =%<nop>SLIDESHOWSTART{ template="MyOwnSlideTemplate" }%=
	* Create the slides. Start each slide with a ="---++"= heading and add text like paragraphs, bullets, tables and images.
		* __Hint:__ Make sure to keep each slide short enough so that you do not need to scroll to see all text of a slide during the presentation.
		* __Note:__ You can use any heading level you like, but use the same for all slides.
	* End your slide show with =%<nop>SLIDESHOWEND%=

---+++ How to Create Your own Slide Template

To create your own template topic, copy the "Default Slide Template" section below into your own slide template topic and customize it to your needs. It can be activated as the default template in the Plugin's =TEMPLATE= setting, or per slide show with the =%<nop>SLIDESHOWSTART{ template="MyOwnSlideTemplate" }%= setting.

	* Use an HTML table that defines a slide. For example, create one row for the slide title, another one for the slide text.
	* These keywords can be used:
	  | *Keyword* | *What it means* |
	  | =%<nop>SLIDETITLE%= | The heading of the slide |
	  | =%<nop>SLIDETEXT%= | The text of the slide |
	  | =%<nop>SLIDENUM%= | The current slide number |
	  | =%<nop>SLIDEMAX%= | The last slide number |
	  | =%<nop>SLIDENAV%= | The navigation buttons for "First", "Previous", "Next" slide |
	  | =%<nop>SLIDENAVALL%= | The navigation buttons for "First", "Previous", "Next", "Last" slide |
	  | =%<nop>SLIDENAVFIRST%= | The navigation button for "First slide" |
	  | =%<nop>SLIDENAVPREV%= | The navigation button for "Previous slide" |
	  | =%<nop>SLIDENAVNEXT%= | The navigation button for "Next slide" |
	  | =%<nop>SLIDENAVLAST%= | The navigation button for "Last slide" |
	* Only text between =%<nop>STARTINCLUDE%= and =%<nop>STOPINCLUDE%= is used for the template.

---++ Example

This is a short example of a slide show. You should see a "Start presentation" button if this Plugin is installed:

%SLIDESHOWSTART%
---+++ Silly Sample Slide Show
%BR%

<center>
By TWiki:Main/PeterThoeny

San Jose, 17 Nov 2002
</center>

---+++ Agenda
	* Silly Introduction
	* Silly Feature
	* Silly Conclusion
---+++ Silly Introduction
	* why foo bar
	* blah blah
---++++ Comments
	* This text is not shown in the slide if HIDECOMMENTS is set to on.
---+++ Silly Feature
	* it's foo bar
	* more foo bar
---+++ Silly Conclusion
	* foo is bar
	* bar is foo
%SLIDESHOWEND%

This text is not part of the slide show

---++ <nop>%TOPIC% Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write ==%<nop>&lt;plugin&gt;_&lt;setting&gt;%==, i.e. ==%<nop>SLIDESHOWPLUGIN_SHORTDESCRIPTION%==

	* One line description, is shown in the %TWIKIWEB%.TextFormattingRules topic:
		* Set SHORTDESCRIPTION = Create web based presentations based on topics with headings.

	* Debug plugin: (See output in =data/debug.txt=)
		* Set DEBUG = 0

	* Default template for slides:
		* Set TEMPLATE = SlideShowPlugin

	* Hide text starting with a =---+++ Comments= heading:
		* Set HIDECOMMENTS = on

---++ Default Slide Template

The part between the rulers defines the default format of a slide:

-----
%STARTINCLUDE%
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#003399"><td valign="middle" width="2%">
<img src="%PUBURL%/%WEB%/SlideShowPlugin/logo.gif" border="0" alt="TWiki Slide Show" />&nbsp;</td>
<td valign="middle">
<font size="+3" color="#FFFFFF">%SLIDETITLE%</font></td>
<td align="right" valign="middle">
%SLIDENAVNEXT%&nbsp;</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr bgcolor="#FFFF99"><td width="1">
<img src="%PUBURL%/%WEB%/SlideShowPlugin/clearpixel.gif" width="1" height="480" alt="" /></td>
<td valign="top">
%BR%
<font size="+2" color="#003399">
%SLIDETEXT%
</font></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#FFFFCC"><td valign="middle">
%SLIDENAVALL%&nbsp;</td>
<td valign="middle" align="right">
<font size="-1" color="#666666">Slide %SLIDENUM% of %SLIDEMAX%</font></td>
<td valign="middle" align="right">
<font size="-2" color="#666666"> COPYRIGHT &copy; %SERVERTIME{$year}% by the contributing authors </font></td></tr>
</table>
%STOPINCLUDE%
-----

---++ Plugin Installation Instructions

__Note:__ You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running. 

	* Download the ZIP file from the Plugin web (see below)
	* Unzip ==%TOPIC%.zip== in your twiki installation directory. Content:
	  | *File:* | *Description:* |
	  | ==data/TWiki/%TOPIC%.txt== | Plugin topic |
	  | ==data/TWiki/%TOPIC%.txt,v== | Plugin topic repository |
	  | ==lib/TWiki/Plugins/%TOPIC%.pm== | Plugin Perl module |
	  | ==pub/TWiki/*.gif== | Various button image files |
	* Test above example if the installation was successful.

---++ Plugin Info

|  Plugin Author: | TWiki:Main/PeterThoeny |
|  Plugin Version: | 21 Mar 2004 (V1.003) |
|  Change History: | <!-- versions below in reverse order -->&nbsp; |
|  21 Mar 2004: | Internal change: Fixed inofficial function call |
|  14 Dec 2002: | Added =%<nop>SLIDENAVALL%= template keyword; added HIDECOMMENTS setting |
|  23 Nov 2002: | Added =%<nop>SLIDENAVLAST%= template keyword; using print Skin for presentation mode |
|  19 Nov 2002: | Added "Start presentation" and "End presentation" buttons; added =%<nop>SLIDENAVFIRST%=, =%<nop>SLIDENAVPREV%=, =%<nop>SLIDENAVNEXT%= template keywords |
|  17 Nov 2002: | Initial version |
|  CPAN Dependencies: | none |
|  Other Dependencies: | none |
|  Perl Version: | 5.005 |
|  Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% |
|  Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev |

__Related Topics:__ %TWIKIWEB%.TWikiPreferences, %TWIKIWEB%.TWikiPlugins

-- TWiki:Main.PeterThoeny - 21 Mar 2004
%META:FILEATTACHMENT{name="clearpixel.gif" attr="" comment="Clear pixel for spacing" date="1071216910" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\clearpixel.gif" size="807" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="startpres.gif" attr="" comment="Start Presentation button" date="1071217038" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\startpres.gif" size="2065" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="endpres.gif" attr="" comment="End Presentation button" date="1071217056" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\endpres.gif" size="2066" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="logo.gif" attr="" comment="Logo for slide template" date="1071217079" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\logo.gif" size="2877" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="first.gif" attr="" comment="First slide button" date="1071217098" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\first.gif" size="1010" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="last.gif" attr="" comment="Last slide button" date="1071217111" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\last.gif" size="1014" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="next.gif" attr="" comment="Next button" date="1071217145" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\next.gif" size="993" user="PeterThoeny" version="1.1"}%
%META:FILEATTACHMENT{name="prev.gif" attr="" comment="Prev button" date="1071217162" path="C:\Data\MyTWiki\Plugins\SlideShowPlugin\pub\TWiki\SlideShowPlugin\prev.gif" size="993" user="PeterThoeny" version="1.1"}%
