Changeset 4927

Show
Ignore:
Timestamp:
05/13/08 09:06:04 (5 months ago)
Author:
jayfresh
Message:

SlidyTiddly:first working version - tried out on http://www.w3.org/Talks/Tools/Slidy/

Location:
Trunk/contributors/JonathanLister/verticals/SlidyTiddly
Files:
4 added
11 modified

Legend:

Unmodified
Added
Removed
  • Trunk/contributors/JonathanLister/verticals/SlidyTiddly/Slidy/slidytest.html

    r4895 r4927  
    99<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    1010<meta name="copyright" content= 
    11 "Copyright &#169; 2005 W3C (MIT, ERCIM, Keio)" /> 
     11"Copyright © 2005 W3C (MIT, ERCIM, Keio)" /> 
    1212<meta name="font-size-adjustment" content= 
    1313"-2" /> 
     
    4747<img src="keys.jpg" alt= 
    4848"Cover page images (keys)" class="cover" /><br clear="all" /> 
    49 <h1>My special presentation with Saq</h1> 
    50 hello! 
     49<h1>HTML Slidy: Slide Shows in XHTML</h1> 
     50 
     51 
     52<p><a href="http://www.w3.org/People/Raggett/">Dave Raggett</a>, 
     53&lt;<a href="mailto:dsr@w3.org">dsr@w3.org</a>&gt;<br> 
     54<br> 
     55<br> 
     56<br> 
     57<br><em>Hit the space bar for next slide</em></p> 
     58 
    5159</div> 
    5260<div class="slide"> 
    53 <h1>second test slide</h1> 
    54 hey hey</div><div class="slide"> 
    55 <h1>test slide</h1> 
    56 <ul><li> this is a bullet</li><li> so's this!</li></ul><br>blah blah blah</div> 
    57 <!-- templateTiddlers template:slidetemplate filter:"{{store.getTiddlerText(foo)}}" --> 
     61<h1>What you need to do</h1> 
     62 
     63 
     64<ul> 
     65<li>Each presentation is a single XHTML file</li> 
     66 
     67<li>Each slide is enclosed in <em>&lt;div class="slide"&gt; ... 
     68&lt;/div&gt;</em> 
     69 
     70<ul> 
     71<li>The div element will be created automatically for h1 
     72elements that are direct children of the body element.</li> 
     73</ul> 
     74 
     75</li> 
     76 
     77<li>Use regular markup within each slide</li> 
     78 
     79<li>The document head includes two links: 
     80<ul> 
     81<li>The slide show style sheet: 
     82<a href="http://www.w3.org/Talks/Tools/Slidy/slidy.css">http://www.w3.org/Talks/Tools/Slidy/slidy.css</a></li> 
     83 
     84<li>The slide show script: <a href="http://www.w3.org/Talks/Tools/Slidy/slidy.js">http://www.w3.org/Talks/Tools/Slidy/slidy.js</a></li> 
     85 
     86<li>Or you can link to the compressed version of the script which is about 
     87one seventh the size, see <a href="http://www.w3.org/Talks/Tools/Slidy/slidy.js.gz">http://www.w3.org/Talks/Tools/Slidy/slidy.js.gz</a></li> 
     88<li>If you are using XHTML, remember to use &lt;/script&gt; and 
     89&lt;/style&gt; as per <a href="http://www.w3.org/TR/xhtml1/#C_3">Appendix C.3</a></li> 
     90</ul> 
     91</li> 
     92</ul> 
     93 
     94<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt; 
     95&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     96 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt; 
     97&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"&gt;  
     98&lt;head&gt;  
     99  &lt;title&gt;Slide Shows in XHTML&lt;/title&gt;  
     100  &lt;meta name="copyright"  
     101   content="Copyright &amp;#169; 2005 your copyright notice" /&gt;  
     102  &lt;link rel="stylesheet" type="text/css" media="screen, projection, print"  
     103   href="http://www.w3.org/Talks/Tools/Slidy/slidy.css" /&gt;  
     104  &lt;script src="http://www.w3.org/Talks/Tools/Slidy/slidy.js"  
     105   charset="utf-8" type="text/javascript"&gt;&lt;/script&gt;  
     106  &lt;style type="text/css"&gt;  
     107    &lt;!-- your custom style rules --&gt;  
     108  &lt;/style&gt;  
     109&lt;/head&gt; 
     110&lt;body&gt; 
     111   ... your slides marked up in XHTML ... 
     112&lt;/body&gt; 
     113&lt;/html&gt; 
     114</pre> 
     115</div><div class="slide"> 
     116<h1>Slide Shows in XHTML</h1> 
     117 
     118 
     119<ul> 
     120<li>You can now create accessible slide shows with ease</li> 
     121 
     122<li>Works across browsers and is operated like PowerPoint 
     123 
     124<ul> 
     125<li>Advance to next slide with mouse click or space bar</li> 
     126 
     127<li>Move forward/backward between slides with Cursor Left, 
     128Cursor Right, <strong>Pg Up</strong> and <strong>Pg Dn</strong> 
     129keys</li> 
     130 
     131<li><strong>Home</strong> key for first slide, <strong>End</strong> 
     132 key for last slide</li> 
     133 
     134<li>The "<strong>C</strong>" key for an automatically generated 
     135table of contents (or click on "contents" on the toolbar)</li> 
     136 
     137<li>Function <strong>F11</strong> to go full screen and back</li> 
     138 
     139<li>The "<strong>F</strong>" key toggles the display of the footer</li> 
     140 
     141<li>The "<strong>A</strong>" key toggles display of current vs all slides 
     142 
     143<ul> 
     144<li>Use the "A" key when you want to view or print all slides</li> 
     145 
     146<li>Try it now to see how to include notes for handouts (this is 
     147explained in the notes following this slide)</li> 
     148</ul> 
     149</li> 
     150 
     151<li>Font sizes automatically adapt to browser window size 
     152 
     153<ul> 
     154<li>use <strong>S</strong> and <strong>B</strong> keys for 
     155manual control (or &lt; and &gt;, or the <strong>-</strong> and 
     156<strong>+</strong> keys on the number pad</li> 
     157<li>See also the <a href="#%2813%29">use of the meta element for 
     158adjusting the default Slidy behavior</a></li> 
     159</ul> 
     160</li> 
     161 
     162<li>Switching off JavaScript reveals all slides</li> 
     163</ul> 
     164</li> 
     165 
     166<li><em>Now move to next slide to see how it works</em></li> 
     167</ul> 
     168 
     169<p class="copyright"><a rel="Copyright" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" shape="rect">Copyright</a> © 2005-2006 <a href="/"><acronym title="World Wide Web Consortium">W3C</acronym></a> <sup>®</sup> 
     170(<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, 
     171<a href="http://www.keio.ac.jp/">Keio</a>), All Rights 
     172Reserved.</p> 
     173</div><div class="slide"> 
     174<h1>To get the W3C Blue Style</h1> 
     175 
     176 
     177<p>The head element should include the following link to the style 
     178sheet:</p> 
     179 
     180<pre>&lt;link rel="stylesheet" type="text/css" media="screen, projection, print" 
     181 href="http://www.w3.org/Talks/Tools/Slidy/w3c-blue.css" /&gt;  
     182</pre> 
     183 
     184<p>The body element's content should start with the following 
     185markup:</p> 
     186 
     187<pre>&lt;div class="background"&gt;  
     188  &lt;img id="head-icon" alt="graphic with four colored squares" 
     189    src="http://www.w3.org/Talks/Tools/Slidy/icon-blue.png" /&gt;  
     190  &lt;object id="head-logo" title="W3C logo" type="image/svg+xml" 
     191    data="http://www.w3.org/Talks/Tools/Slidy/w3c-logo-blue.svg"&gt;&lt;img 
     192   src="http://www.w3.org/Talks/Tools/Slidy/w3c-logo-blue.gif"  
     193   alt="W3C logo" id="head-logo-fallback" /&gt;&lt;/object&gt; 
     194&lt;/div&gt;  
     195</pre> 
     196 
     197<p>This adds the logos on the top left and right corners of the 
     198slide.</p> 
     199 
     200<p>You are of course welcome to create your own slide designs. 
     201You can provide different styles and backgrounds for 
     202different slides (more details later).</p> 
     203 
     204<p>Use the <em>meta element</em> with <em>name="copyright"</em> 
     205for use in the slide show footer:</p> 
     206 
     207<pre>&lt;meta name="copyright"  
     208content="Copyright &amp;#169; 2005 W3C (MIT, ERCIM, Keio)" /&gt;  
     209</pre> 
     210</div><div class="slide"> 
     211<h1>To use it off-line</h1> 
     212 
     213 
     214<ul> 
     215<li>You can download <a href="slidy.zip">slidy.zip</a> and unzip 
     216it to create a Slidy directory on your machine</li> 
     217 
     218<li>If you have cvs access to the W3C site you can check out the Slidy 
     219directory</li> 
     220 
     221<li>Remember to periodically check for updates</li> 
     222 
     223<li>You then have two choices: 
     224 
     225<ol> 
     226<li>Use relative URIs depending on your local setup to access the 
     227appropriate files. Use the same directory structure as on the W3C 
     228server, ie, ".../2005/Talks/...".</li> 
     229 
     230<li>Run a Web server on your machine so that the directory above 
     231can be accessed via <code>http://localhost/Talks/Tools/Slidy</code> 
     232and use the URIs of the form "/Talks/Tools/Slidy/slidy.css", 
     233"/Talks/Tools/Slidy/slidy.js".</li> 
     234</ol></li> 
     235 
     236<li>In both cases you can then publish your files on the W3C server 
     237unchanged.</li> 
     238 
     239<li><strong>NOTE</strong> Internet Explorer on Windows XP now disables 
     240scripting for web pages loaded directly from the local file system, 
     241a work around is to use another browser, e.g. Firefox or Opera</li> 
     242 
     243<li>Please feel free to create your own designs, and help us to build 
     244a gallery of Slidy styles.</li> 
     245 
     246<li>Here is a <a href="template.html">variant</a> 
     247on the W3C Blue style.</li> 
     248 
     249<li>My <a href="/2006/02/woa/">Google TechTalk</a> (1st Feb 2006) 
     250uses a notebook themed style</li> 
     251</ul> 
     252</div><div class="slide"> 
     253<h1>Generate a Title Page</h1> 
     254 
     255 
     256<p>If you want a separate title page with the W3C blue style, the 
     257first slide should be as follows:</p> 
     258 
     259<pre>&lt;div class="slide cover"&gt;  
     260 &lt;img src="http://www.w3.org/Talks/Tools/Slidy/keys.jpg"  
     261  alt="Cover page images (keys)" class="cover" /&gt;  
     262 &lt;br clear="all" /&gt;             
     263 &lt;h1&gt;HTML Slidy: Slide Shows in XHTML&lt;/h1&gt;  
     264 &lt;p&gt;&lt;a href="http://www.w3.org/People/Raggett/"&gt;Dave Raggett,&lt;/a&gt;  
     265 &lt;a href="mailto:dsr@w3.org"&gt;dsr@w3.org&lt;/a&gt;&lt;/p&gt;  
     266&lt;/div&gt;  
     267</pre> 
     268 
     269<p>The <a href="http://www.w3.org/Talks/Tools/Slidy/w3c-blue.css">w3c-blue.css</a>  
     270style sheet looks for the classes "slide" and "cover" on div 
     271and img elements using the CSS selector <em>div.slide.cover</em></p> 
     272 
     273<p>This technique can be used to assign your slides to different 
     274classes with a different appearence for each such class.</p> 
     275 
     276<p>Slidy also allows you to use different background markup for 
     277different slides, based upon shared class names, as in "foo" below. 
     278Backgrounds without additional class names are always shown except 
     279when the slide isn't transparent. You may need to tweak your 
     280custom style sheet.</p> 
     281 
     282<pre>&lt;div class="background foo"&gt; 
     283   ... background content ... 
     284&lt;div&gt; 
     285 
     286... 
     287 
     288&lt;div class="slide foo"&gt; 
     289   ... slide content ... 
     290&lt;div&gt; 
     291</pre> 
     292</div><div class="slide"> 
     293<h1>Incremental display of slide contents</h1> 
     294 
     295 
     296<p>For incremental display, use class="incremental", for 
     297instance:</p> 
     298 
     299<ul class="incremental"> 
     300<li>First bullet point</li> 
     301 
     302<li>Second bullet point</li> 
     303 
     304<li>Third bullet point</li> 
     305</ul> 
     306 
     307<p class="incremental">which is marked up as follows:</p> 
     308 
     309<pre class="incremental">&lt;ul class="incremental"&gt;  
     310  &lt;li&gt;First bullet point&lt;/li&gt;  
     311  &lt;li&gt;Second bullet point&lt;/li&gt;  
     312  &lt;li&gt;Third bullet point&lt;/li&gt;  
     313&lt;/ul&gt;  
     314  
     315&lt;p class="incremental"&gt;which is marked up as follows:&lt;/p&gt;  
     316  
     317&lt;pre class="incremental"&gt;  
     318 ...  
     319&lt;/pre&gt;  
     320</pre> 
     321 
     322<div class="footnote"> 
     323<p>An element is incrementally revealed if its parent element has 
     324class="incremental" or if itself has that attribute. Text nodes are 
     325not elements and are revealed when their parent element is revealed. 
     326You can use class="incremental" on any element except for &lt;br /&gt;. 
     327Use class="non-incremental" to override the effect of setting the 
     328parent element's class to incremental.</p> 
     329 
     330<p>Note: you will see a red asterisk on the left of the toolbar 
     331when there is still something more to reveal.</p> 
     332</div> 
     333</div><div class="slide"> 
     334<h1>Create outline lists with hidden content</h1> 
     335 
     336 
     337<p>You can make your bullet points or numbered list items 
     338into outlines that you can expand or collapse</p> 
     339 
     340<ul class="outline"> 
     341<li>Just add <em>class="outline"</em> to the ul or ol 
     342element. Click on this list item for more details. 
     343 
     344<ul> 
     345<li>The Slidy script will then treat the list 
     346as an outline list.</li> 
     347<li>Clicking on outline list items will expand/collapse 
     348block-level elements within that list item.</li> 
     349<li>Click on the above to make this list item 
     350collapse again.</li> 
     351</ul> 
     352</li> 
     353<li>Users will then see expand/collapse icons as appropriate 
     354and may click anywhere on the list item to change its state. 
     355This particular list item can't be expanded or collapsed.</li> 
     356<li class="expand">Add class="expand" to any li elements that 
     357you want to start in an expanded state. 
     358 
     359<ul> 
     360<li>By default Slidy hides all the block level elements within the 
     361outline list items unless you have specified class="expand".</li> 
     362<li>Such pre-expanded items can be collapsed by clicking on them.</li> 
     363</ul> 
     364</li> 
     365<li>Note expand/collapse icon highlighting requires browser 
     366support for :hover which isn't supported by IE6. 
     367 
     368<ul> 
     369<li>Microsoft says it will be supported by IE7 along with  
     370many fixes for other CSS woes in IE6.</li> 
     371</ul> 
     372</li> 
     373</ul> 
     374 
     375<pre>&lt;ol class='outline'&gt; 
     376  &lt;!-- topic 1 starts collapsed --&gt; 
     377  &lt;li&gt;Topic 1 
     378    &lt;ol&gt; 
     379        &lt;li&gt;subtopic a&lt;/li&gt; 
     380        &lt;li&gt;subtopic b&lt;/li&gt; 
     381    &lt;/ol&gt; 
     382  &lt;/li&gt; 
     383  &lt;!-- topic 2 starts expanded --&gt; 
     384  &lt;li class="expand"&gt;Topic 2 
     385    &lt;ol&gt; 
     386        &lt;li&gt;subtopic c&lt;/li&gt; 
     387        &lt;li&gt;subtopic d&lt;/li&gt; 
     388    &lt;/ol&gt; 
     389  &lt;/li&gt; 
     390&lt;/ol&gt; 
     391</pre> 
     392</div><div class="slide"> 
     393<h1>Make your images scale with the browser window size</h1> 
     394 
     395 
     396<p>For adaptive layout, use percentage widths on images, together 
     397with CSS positioning:</p> 
     398 
     399<ul> 
     400<li>CSS positioning is simpler and more reliable than using 
     401tables</li> 
     402</ul> 
     403 
     404<pre>&lt;div class="slide"&gt;  
     405  &lt;h1&gt;Analysts - "Open standards programming will become  
     406  mainstream, focused around VoiceXML"&lt;/h1&gt;  
     407  &lt;!-- use CSS positioning and scaling for adaptive layout --&gt;  
     408  &lt;img src="trends.png" width="50%" style="float:left"  
     409   alt="projected growth of VoiceXML" /&gt;  
     410 
     411  &lt;blockquote style="float:right;width: 35%"&gt;  
     412    VoiceXML will dominate the voice environment, due to its  
     413    flexibility and eventual multimodal capabilities  
     414  &lt;/blockquote&gt;&lt;br clear="all" /&gt;  
     415  
     416  &lt;p style="text-align:center"&gt;Source Data Monitor, March  
     417  2004&lt;/p&gt;  
     418&lt;/div&gt;  
     419</pre> 
     420 
     421<p>To work around a CSS rendering bug in IE relating 
     422to margins, you can set display:inline on floated elements.</p> 
     423</div><div class="slide"> 
     424<h1>Incremental display of layered images</h1> 
     425 
     426 
     427<p>These can be marked up using CSS relative positioning, e.g.</p> 
     428 
     429<pre>&lt;div class="incremental"  
     430 style="margin-left: 4em; position: relative"&gt;  
     431  &lt;img src="face1.gif" alt="face"  
     432   style="position: static; vertical-align: bottom"/&gt;  
     433  &lt;img src="face2.gif" alt="eyes"  
     434    style="position: absolute; left: 0; top: 0" /&gt;  
     435  &lt;img src="face3.gif" alt="nose"  
     436    style="position: absolute; left: 0; top: 0" /&gt;  
     437  &lt;img src="face4.gif" alt="mouth"  
     438    style="position: absolute; left: 0; top: 0" /&gt;  
     439&lt;/div&gt;  
     440</pre> 
     441 
     442<p style="font-size: smaller;">You should also use transparent GIF 
     443images to avoid the IE/Win bug for alpha channel in PNG. A fix is 
     444expected in IE 7. A <a href="http://www.skyzyx.com/scripts/sleight.php">work around</a> is 
     445available on skyzyx.com. My thanks to <a href="http://www.webstandards.org/act/acid2/">ACID2</a> for the 
     446graphics.</p> 
     447 
     448<div class="incremental" style="margin-left: 4em; position: relative;"><img src="face1.gif" alt="face" style="position: static; vertical-align: bottom;"> 
     449<img src="face2.gif" alt="eyes" style="position: absolute; left: 0pt; top: 0pt;"> <img src="face3.gif" alt="nose" style="position: absolute; left: 0pt; top: 0pt;"> 
     450<img src="face4.gif" alt="mouth" style="position: absolute; left: 0pt; top: 0pt;"></div> 
     451</div><div class="slide"> 
     452<h1>Include SVG Content</h1> 
     453 
     454 
     455<p>Inclusion of SVG content can be done using the object element, 
     456for example:</p> 
     457 
     458<div style="text-align: center;"><object data="example.svg" type="image/svg+xml" title="Indian Office logo" height="10%" width="50%"><img src="example.png" alt="Indian Office logo" width="50%"></object></div> 
     459 
     460<p>has been achieved by:</p> 
     461 
     462<pre>&lt;object data="example.svg" type="image/svg+xml"  
     463  width="50%" height="10%" title="Indian Office logo"&gt;  
     464    &lt;img src="example.png" width="50%"  
     465          alt="Indian Office logo" /&gt;  
     466&lt;/object&gt;  
     467</pre> 
     468 
     469<p>This ensures that the enclosed png is displayed when the browser 
     470has no plugin installed or can't display SVG directly. Providing 
     471such a fall back is very important! Don't forget the alt text for 
     472people who can't see the image.</p> 
     473 
     474<p>However, there are caveats, see the next slide!</p> 
     475</div><div class="slide"> 
     476<h1>Caveats with SVG+object</h1> 
     477 
     478 
     479<p>Adobe has recently withdrawn support for its SVG Viewer, so you are 
     480recommended to consider <a href="http://wiki.svg.org/Viewer_Implementations">alternatives</a>. 
     481If you still using the Adobe SVG viewer you should be aware of bugs 
     482when using the it with IE, Namely:</p> 
     483 
     484<ul> 
     485<li>Recent patches to Internet Explorer mean that the Adobe SVG Viewer 
     486version 3.03 no longer works with IE6. You are therefore recommended 
     487to uninstall version 3.03 and instead install <a href="http://www.adobe.com/svg/viewer/install/beta.html">Adobe SVG Viewer 
     4886.0 preview</a> if this is available to to you.</li> 
     489 
     490<li>IE6 makes a <em>copy</em> of the SVG file on the local disc 
     491when displaying it; but doesn't pass the original URI to the plugin</li> 
     492 
     493<li>As a result relative references from within the SVG to external 
     494resources (scripts, CSS, images, other SVG) will break.</li> 
     495 
     496<li>The work around is to use absolute references within your SVG.</li> 
     497 
     498<li>This problem doesn't effect Mozilla/Firefox. I don't know if 
     499this was fixed for IE7.</li> 
     500 
     501<li>On Windows, the Adobe SVG plugin doesn't respect the CSS z-index 
     502property, and if used on backgrounds will always show through other 
     503content</li> 
     504</ul> 
     505 
     506<p>Recent versions of Firefox include native support for SVG, but there 
     507is a bug with Firefox in which the wrong SVG image will sometimes be 
     508shown when the page is reloaded. This is due to be fixed in Firefox 3.0.</p> 
     509 
     510<p>Some browsers (e.g. Opera 8) only support SVG Tiny, which doesn't 
     511support external style sheets or style elements within SVG. The work 
     512around is to set the properties via style attributes on the 
     513corresponding elements. In principle, browsers should honor the 
     514version attribute and fall back to the alternative within the object 
     515element if they don't support the version used by a given SVG file.</p> 
     516 
     517<p><em>Are there any tools for downgrading SVG to SVG Tiny?</em></p> 
     518</div><div class="slide"> 
     519<h1>Additional Remarks</h1> 
     520 
     521 
     522<ul> 
     523<li>Slides are auto-numbered on the slide show footer</li> 
     524 
     525<li>You can link into the <a href="#%282%29">middle</a> of a slide 
     526show: 
     527 
     528<ul> 
     529<li>It works out which slide you want and hides the rest</li> 
     530 
     531<li>You can even link between slides in the same slide show</li> 
     532 
     533<li>Individual sides can be addressed with the syntax #(<em>slide 
     534number</em>),<br> 
     535e.g. slide 3 of this presentation is: <a href="#%283%29">http://www.w3.org/Talks/Tools/Slidy#(3)</a> 
     536<ul> 
     537<li>Previous versions of Slidy used square brackets, which will 
     538also work.</li> 
     539</ul></li> 
     540<li>Note that the browser's back/forward buttons may not work as 
     541you might expect due to browser problems.</li> 
     542</ul> 
     543</li> 
     544 
     545<li>Adding "title" to the list of classes for div elements that serve 
     546as title pages will render the corresponding entry in the table of 
     547contents in bold italic text (press "C" now for an example)</li> 
     548 
     549<li>If your slides have more content than normal, use a <em>meta 
     550element</em> to request a smaller font 
     551 
     552<ul> 
     553<li>the following requests fonts to be one step smaller than 
     554the Slidy default for the current window width, and positive 
     555integers will make the fonts correspondingly larger</li> 
     556</ul> 
     557 
     558<pre>&lt;meta name="font-size-adjustment" content="-1" /&gt;  
     559</pre> 
     560 
     561<ul> 
     562<li>Slidy uses JavaScript to dynamically set the font size on the 
     563body element, but it is okay to specify relative font changes on 
     564other elements within your own style sheet.</li> 
     565</ul> 
     566</li> 
     567 
     568<li>You are encouraged to ensure your markup is valid. <a href="http://www.w3.org/People/Raggett/tidy/">HTML Tidy</a> can be used 
     569to find and correct common markup problems</li> 
     570 
     571<li>The slide show script and style sheet can be used freely under 
     572W3C's <a href="http://www.w3.org/Consortium/Legal/copyright-software">software 
     573licensing</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document 
     574use</a> policies</li> 
     575<li>At <a href="http://xtech06.usefulinc.com/">XTech2006</a> 
     576I gave this <a href="http://www.w3.org/2006/05/Slidy-XTech/">presentation</a> 
     577on Slidy 
     578(<a href="http://www.w3.org/2006/05/Slidy-XTech/slidy-xtech06-dsr.pdf">Paper</a>).</li> 
     579</ul> 
     580</div><div class="slide"> 
     581<h1>Localization</h1> 
     582 
     583 
     584<p>Slidy now includes support for localization</p> 
     585 
     586<ul> 
     587<li>The tool bar is localized according to the language of the presentation</li> 
     588<li>This is taken from the xml:lang or lang attributes on the html element</li> 
     589<li>The <a href="http://www.w3.org/Talks/Tools/Slidy/help.html">help file</a> is 
     590selected based upon your browser's language preferences</li> 
     591<li>As of 17th March 2006, the languages supported are: English, Spanish and 
     592Dutch</li> 
     593<li>If you would like to contribute localizations for other languages, please 
     594get in touch with Dave Raggett &lt;dsr@w3.org&gt;</li> 
     595<li>The following illustrates what was used for Spanish</li> 
     596</ul> 
     597<pre>// for each language there is an associative array 
     598var strings_es = { 
     599  "slide":"pág.", 
     600  "help?":"Ayuda", 
     601  "contents?":"Índice", 
     602  "table of contents":"tabla de contenidos", 
     603  "Table of Contents":"Tabla de Contenidos", 
     604  "restart presentation":"Reiniciar presentación", 
     605  "restart?":"Inicio" 
     606   }; 
     607strings_es[helpText] = 
     608    "Utilice el ratón, barra espaciadora, teclas Izda/Dhca, " + 
     609    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente."; 
     610</pre> 
     611</div><div class="slide"> 
     612<h1>Future Plans</h1> 
     613 
     614 
     615<p>Recent additions have included a table of contents, and a way to 
     616hide and reveal content in the spirit of outline lists. Further 
     617work is anticipated on the following:</p> 
     618 
     619<ul> 
     620<li>Collecting a gallery of good looking slide themes 
     621<ul> 
     622<li>Opportunities for graphics designers!</li> 
     623</ul> 
     624</li> 
     625<li>Getting SVG Tiny to work on IE without need for SVG plugin 
     626<ul> 
     627<li>Using scripts to dynamically convert SVG Tiny to VML</li> 
     628</ul> 
     629</li> 
     630<li>Alpha version of wysiwyg slide editor (see <a href="editor/editor-screenshot1.png">screenshot</a>) 
     631<ul> 
     632<li>Using contentEditable when available, otherwise 
     633falling back to textarea and plain text conventions</li> 
     634<li>Using XMLHttpRequest to dynamically reflect changes to server</li> 
     635</ul> 
     636</li> 
     637<li>Mechanism for remotely driving Slidy as part of distributed meetings 
     638<ul> 
     639<li>Using XMLHttpRequest to listen for navigation commands</li> 
     640<li>Using VoIP for accompanying audio and teleconferencing</li> 
     641<li>Synchronizing recorded spoken presentation with currently viewed slide</li> 
     642</ul> 
     643</li> 
     644<li>Filters from PowerPoint and Open Office 
     645<ul> 
     646<li>and export to PDF via <a href="http://www.princexml.com/">PrinceXML</a></li> 
     647</ul> 
     648</li> 
     649</ul> 
     650 
     651<p>If you have comments, suggestions for improvements, or would 
     652like to volunteer your help with further work on Slidy, 
     653please contact <a href="http://www.w3.org/People/Raggett/">Dave Raggett</a> &lt;<a href="mailto:dsr@w3.org">dsr@w3.org</a>&gt;</p> 
     654</div><div class="slide"> 
     655<h1>Acknowledgements</h1> 
     656 
     657 
     658<ul> 
     659<li>My thanks to everyone who sent in bug reports and feature 
     660requests</li> 
     661<li>Opera Software for implementing CSS @media projection and 
     662promoting the idea of using the Web for presentations with 
     663<a href="http://www.opera.com/support/tutorials/operashow/">Opera 
     664Show</a></li> 
     665<li><a href="http://tantek.com/">Tantek Çelik</a> for his 
     666pioneering work on applying JavaScript for slide presentations on 
     667other browsers</li> 
     668<li>Eric Meyer for taking this further with the excellent <a href="http://www.meyerweb.com/eric/tools/s5/s5-intro.html">S5</a></li> 
     669<li>W3C's <a href="http://dev.w3.org/cvsweb/slidemaker/">slidemaker 
     670tool</a>, which uses a perl script to split an html file up into 
     671one file per slide with navigation buttons</li> 
     672<li>Early versions of <a href="http://www.w3.org/People/Raggett/tidy/">HTML 
     673Tidy</a> which supported a means to create presentations via splitting 
     674html files on h2 elements</li> 
     675<li>Many sites with advice on JavaScript work arounds for browser 
     676variations</li> 
     677<li>Microsoft for pioneering contentEditable and XMLHTTP which 
     678both provide tremendous opportunities for Web applications</li> 
     679<li>Microsoft Office which provided the impetus for creating 
     680Slidy as a Web-based alternative to the ubiquitous use of PowerPoint</li> 
     681</ul> 
     682 
     683<p class="smaller"><strong>Note</strong> that while Slidy and 
     684S5 were developed independently, both support the use of the 
     685class values "slide" and "handout" for div elements. Slidy doesn't 
     686support the "layout" class featured in S5 and Opera Show, but 
     687instead provides a more flexible alternative with the "background" 
     688class, which enables different backgrounds on different slides.</p> 
     689</div> 
    58690<!-- END AUTO-GENERATION OF SLIDES--> 
    59  
    60691 
    61692 
  • Trunk/contributors/JonathanLister/verticals/SlidyTiddly/plugins/SlidyAdaptorPlugin.js

    r4913 r4927  
    191191        if(slidy) { 
    192192                slidy = slidy.replace(/\r+/mg,""); 
    193                 var regex_div = /<div([^>]*)>(.|\n)*?<\/div>/mg; 
    194                 var regex_class = new RegExp("class=['|\"]([\\w ]+)['|\"]","mg"); 
    195                 var regex_meta = /<meta ((?:name|content) *= *[\"][^\"]*[\"](?: *))+ \/>/mg; 
    196                 var regex_meta_inner = new RegExp("(\\w*) *= *['|\"](.*?)['|\"]","mg"); 
     193                 
     194                // convert slide div's to tiddlers 
     195                var e = createTiddlyElement(null,"div"); 
     196                e.innerHTML = slidy; 
     197                var divs = e.getElementsByTagName("div"); 
     198                var div; 
     199                for(var i=0;i<divs.length;i++) { 
     200                        div = divs[i]; 
     201                        if(div.className.indexOf("slide")!=-1) { 
     202                                var title = div.getElementsByTagName("h1")[0]; 
     203                                title = title.textContent || title.innerText; // FF | IE 
     204                                var text = div.innerHTML.substring(div.innerHTML.indexOf("</h1>")+5); 
     205                                var t = new Tiddler(title); 
     206                                t.text = text; 
     207                                t.tags = ["slide"]; 
     208                                if(div.className.indexOf("cover")!=-1) { 
     209                                        t.tags.push("cover"); 
     210                                } 
     211                                tiddlers.push(t); 
     212                        } 
     213                } 
     214                 
     215                // add contents tiddler 
     216                t = new Tiddler("SlidyContents"); 
     217                text = []; 
     218                for(i=0;i<tiddlers.length;i++) { 
     219                         text.push("[["+tiddlers[i].title+"]]"); 
     220                } 
     221                t.text = text.join("\n"); 
     222                tiddlers.push(t); 
     223                 
     224                // convert meta tags to tiddlers 
     225                var metas = e.getElementsByTagName("meta"); 
    197226                var meta_names = [ 
    198227                        "copyright", 
    199228                        "font-size-adjustment" 
    200229                ]; 
    201                 var regex_slide = ""; 
    202                 // convert slide div's to tiddlers 
    203                 var div_match = slidy.match(regex_div); 
    204                 var length = div_match ? div_match.length : 0; 
    205                 for(var i=0;i<length;i++) { 
    206                         var div = div_match[i]; 
    207                         var inner_match = regex_class.exec(div); 
    208                         if(inner_match) { 
    209 &