diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..e7a9d79 --- /dev/null +++ b/README.rst @@ -0,0 +1,2 @@ +Collaboratively managing the OpenStack project with Puppet +========================================================== diff --git a/ci-roadmap-folsom/Overview.html b/ci-roadmap-folsom/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/ci-roadmap-folsom/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
- -
-slanted W3C logo -
-
- - - - - - - - - - - - - -Cover page images (keys)
-

HTML Slidy: Slide Shows in HTML and XHTML

- -

Dave Raggett, -<dsr@w3.org>
-
-
-
-
Hit the space bar or swipe right for next slide

-
- -
-

Slide Shows in HTML and XHTML

- - - - -
- -
-

For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

- -
-<div class="slide"> 
- ... your slide content ...
-</div>
-
-<div class="handout">
- ... stuff that only appears in the handouts ...
-</div>
-
-
- -
-

What you need to do

- - - -
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
-<head> 
-  <title>Slide Shows in XHTML</title> 
-  <meta name="copyright" 
-   content="Copyright &#169; 2005 your copyright notice" /> 
-  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
-   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
-  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
-   charset="utf-8" type="text/javascript"></script> 
-  <style type="text/css"> 
-    <!-- your custom style rules --> 
-  </style> 
-</head>
-<body>
-   ... your slides marked up in XHTML ...
-</body>
-</html>
-
-
- -
-

To get the W3C Blue Style

- -

The head element should include the following link to the style -sheet:

- -
-<link rel="stylesheet" type="text/css" media="screen, projection, print"
- href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
-
- -

The body element's content should start with the following -markup:

- -
-<div class="background"> 
-  <img id="head-icon" alt="graphic with four colored squares"
-    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
-  <object id="head-logo" title="W3C logo" type="image/svg+xml"
-    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
-   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
-   alt="W3C logo" id="head-logo-fallback" /></object>
-</div> 
-
- -

This adds the logos on the top left and right corners of the -slide.

- -

You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

- -

Use the meta element with name="copyright" -for use in the slide show footer:

- -
-<meta name="copyright" 
-content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
-
-
- -
-

Upgrading from previous versions of Slidy

- - -
- -
-

To use it off-line

- - -
- -
-

Timing Your Presentation

- - - - -
- -
-

Generate a Title Page

- -

If you want a separate title page with the W3C blue style, the -first slide should be as follows:

- -
-<div class="slide cover"> 
- <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
-  alt="Cover page images (keys)" class="cover" /> 
- <br clear="all" />            
- <h1>HTML Slidy: Slide Shows in XHTML</h1> 
- <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
- <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
-</div> 
-
- -

The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

- -

This technique can be used to assign your slides to different -classes with a different appearence for each such class.

- -

Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

- -
-<div class="background foo">
-   ... background content ...
-<div>
-
-...
-
-<div class="slide foo">
-   ... slide content ...
-<div>
-
-
- -
-

Incremental display of slide contents

- -

For incremental display, use class="incremental", for -instance:

- - - -

which is marked up as follows:

- -
-<ul class="incremental"> 
-  <li>First bullet point</li> 
-  <li>Second bullet point</li> 
-  <li>Third bullet point</li> 
-</ul> 
- 
-<p class="incremental">which is marked up as follows:</p> 
- 
-<pre class="incremental"> 
- ... 
-</pre> 
-
- -
-

An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

- -

Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

-
-
- -
-

Create outline lists with hidden content

- -

You can make your bullet points or numbered list items -into outlines that you can expand or collapse

- - - -
-<ol class='outline'>
-  <!-- topic 1 starts collapsed -->
-  <li>Topic 1
-    <ol>
-        <li>subtopic a</li>
-        <li>subtopic b</li>
-    </ol>
-  </li>
-  <!-- topic 2 starts expanded -->
-  <li class="expand">Topic 2
-    <ol>
-        <li>subtopic c</li>
-        <li>subtopic d</li>
-    </ol>
-  </li>
-</ol>
-
-
- - -
-

Make your images scale with the browser window size

- -

For adaptive layout, use percentage widths on images, together -with CSS positioning:

- - - -
-<div class="slide"> 
-  <h1>Analysts - "Open standards programming will become 
-  mainstream, focused around VoiceXML"</h1> 
-  <!-- use CSS positioning and scaling for adaptive layout --> 
-  <img src="trends.png" width="50%" style="float:left" 
-   alt="projected growth of VoiceXML" /> 
-
-  <blockquote style="float:right;width: 35%"> 
-    VoiceXML will dominate the voice environment, due to its 
-    flexibility and eventual multimodal capabilities 
-  </blockquote><br clear="all" /> 
- 
-  <p style="text-align:center">Source Data Monitor, March 
-  2004</p> 
-</div> 
-
- -

To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

-
- -
-

Incremental display of layered images

- -

These can be marked up using CSS relative positioning, e.g.

- -
-<div class="incremental" 
- style="margin-left: 4em; position: relative"> 
-  <img src="graphics/face1.gif" alt="face" 
-   style="position: static; vertical-align: bottom"/> 
-  <img src="graphics/face2.gif" alt="eyes" 
-    style="position: absolute; left: 0; top: 0" /> 
-  <img src="graphics/face3.gif" alt="nose" 
-    style="position: absolute; left: 0; top: 0" /> 
-  <img src="graphics/face4.gif" alt="mouth" 
-    style="position: absolute; left: 0; top: 0" /> 
-</div> 
-
- -

You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

- -
-"face" -eyes -mouth
-
- -
-

How to center content vertically and horizontally

-
-
-

Within the div element for your slide:

-
-<div class="vbox"></div>
-<div class="hbox">
-Place the content here
-</div>
-
-

and style it with the following:

-
-div.vbox {
-  float: left;
-  height: 40%; width: 50%;
-  margin-top: -220px;
-}
-div.hbox {
-  width:60%;  margin-top: 0;
-  margin-left:auto; margin-right:auto;
-  height: 60%;
-  border:1px solid silver;
-  background:#F0F0F0;
-  overflow:auto;
-  text-align:left;
-  clear:both;
-}
-
- -

The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

-
-
- -
-

Include SVG Content

- -

Inclusion of SVG content can be done using the object element, -for example:

- -
Indian Office logo
- -

has been achieved by:

- -
-<object data="graphics/example.svg" type="image/svg+xml" 
-  width="50%" height="10%" title="Indian Office logo"> 
-    <img src="graphics/example.png" width="50%" 
-          alt="Indian Office logo" /> 
-</object> 
-
- -

This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

- -

However, there are caveats, see the next slide!

-
- -
-

Caveats with SVG+object

- -

Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

- - -
- -
-

Additional Remarks

- - -
- -
-

Localization and automatic translation

- -

Slidy now includes support for localization

- - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - - -
-// for each language there is an associative array
-  strings_es: {
-    "slide":"pág.",
-    "help?":"Ayuda",
-    "contents?":"Índice",
-    "table of contents":"tabla de contenidos",
-    "Table of Contents":"Tabla de Contenidos",
-    "restart presentation":"Reiniciar presentación",
-    "restart?":"Inicio"
-  },
-  help_es:
-    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
-    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
-
- -

Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

-
- -
-

Future Plans

- -

Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

- - - -

If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

-
- -
-

Acknowledgements

- - - -

Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

-
- -
-

Acknowledgements

- -

The following people have contributed localizations:

- - - -

The following people have contributed bug reports:

- - - -

Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

-
- - diff --git a/ci-roadmap-folsom/Overview.xhtml b/ci-roadmap-folsom/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/ci-roadmap-folsom/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
- -
-slanted W3C logo -
-
- - - - - - - - - - - - - -Cover page images (keys)
-

HTML Slidy: Slide Shows in HTML and XHTML

- -

Dave Raggett, -<dsr@w3.org>
-
-
-
-
Hit the space bar or swipe right for next slide

-
- -
-

Slide Shows in HTML and XHTML

- - - - -
- -
-

For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

- -
-<div class="slide"> 
- ... your slide content ...
-</div>
-
-<div class="handout">
- ... stuff that only appears in the handouts ...
-</div>
-
-
- -
-

What you need to do

- - - -
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
-<head> 
-  <title>Slide Shows in XHTML</title> 
-  <meta name="copyright" 
-   content="Copyright &#169; 2005 your copyright notice" /> 
-  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
-   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
-  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
-   charset="utf-8" type="text/javascript"></script> 
-  <style type="text/css"> 
-    <!-- your custom style rules --> 
-  </style> 
-</head>
-<body>
-   ... your slides marked up in XHTML ...
-</body>
-</html>
-
-
- -
-

To get the W3C Blue Style

- -

The head element should include the following link to the style -sheet:

- -
-<link rel="stylesheet" type="text/css" media="screen, projection, print"
- href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
-
- -

The body element's content should start with the following -markup:

- -
-<div class="background"> 
-  <img id="head-icon" alt="graphic with four colored squares"
-    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
-  <object id="head-logo" title="W3C logo" type="image/svg+xml"
-    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
-   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
-   alt="W3C logo" id="head-logo-fallback" /></object>
-</div> 
-
- -

This adds the logos on the top left and right corners of the -slide.

- -

You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

- -

Use the meta element with name="copyright" -for use in the slide show footer:

- -
-<meta name="copyright" 
-content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
-
-
- -
-

Upgrading from previous versions of Slidy

- - -
- -
-

To use it off-line

- - -
- -
-

Timing Your Presentation

- - - - -
- -
-

Generate a Title Page

- -

If you want a separate title page with the W3C blue style, the -first slide should be as follows:

- -
-<div class="slide cover"> 
- <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
-  alt="Cover page images (keys)" class="cover" /> 
- <br clear="all" />            
- <h1>HTML Slidy: Slide Shows in XHTML</h1> 
- <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
- <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
-</div> 
-
- -

The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

- -

This technique can be used to assign your slides to different -classes with a different appearence for each such class.

- -

Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

- -
-<div class="background foo">
-   ... background content ...
-<div>
-
-...
-
-<div class="slide foo">
-   ... slide content ...
-<div>
-
-
- -
-

Incremental display of slide contents

- -

For incremental display, use class="incremental", for -instance:

- - - -

which is marked up as follows:

- -
-<ul class="incremental"> 
-  <li>First bullet point</li> 
-  <li>Second bullet point</li> 
-  <li>Third bullet point</li> 
-</ul> 
- 
-<p class="incremental">which is marked up as follows:</p> 
- 
-<pre class="incremental"> 
- ... 
-</pre> 
-
- -
-

An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

- -

Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

-
-
- -
-

Create outline lists with hidden content

- -

You can make your bullet points or numbered list items -into outlines that you can expand or collapse

- - - -
-<ol class='outline'>
-  <!-- topic 1 starts collapsed -->
-  <li>Topic 1
-    <ol>
-        <li>subtopic a</li>
-        <li>subtopic b</li>
-    </ol>
-  </li>
-  <!-- topic 2 starts expanded -->
-  <li class="expand">Topic 2
-    <ol>
-        <li>subtopic c</li>
-        <li>subtopic d</li>
-    </ol>
-  </li>
-</ol>
-
-
- - -
-

Make your images scale with the browser window size

- -

For adaptive layout, use percentage widths on images, together -with CSS positioning:

- - - -
-<div class="slide"> 
-  <h1>Analysts - "Open standards programming will become 
-  mainstream, focused around VoiceXML"</h1> 
-  <!-- use CSS positioning and scaling for adaptive layout --> 
-  <img src="trends.png" width="50%" style="float:left" 
-   alt="projected growth of VoiceXML" /> 
-
-  <blockquote style="float:right;width: 35%"> 
-    VoiceXML will dominate the voice environment, due to its 
-    flexibility and eventual multimodal capabilities 
-  </blockquote><br clear="all" /> 
- 
-  <p style="text-align:center">Source Data Monitor, March 
-  2004</p> 
-</div> 
-
- -

To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

-
- -
-

Incremental display of layered images

- -

These can be marked up using CSS relative positioning, e.g.

- -
-<div class="incremental" 
- style="margin-left: 4em; position: relative"> 
-  <img src="graphics/face1.gif" alt="face" 
-   style="position: static; vertical-align: bottom"/> 
-  <img src="graphics/face2.gif" alt="eyes" 
-    style="position: absolute; left: 0; top: 0" /> 
-  <img src="graphics/face3.gif" alt="nose" 
-    style="position: absolute; left: 0; top: 0" /> 
-  <img src="graphics/face4.gif" alt="mouth" 
-    style="position: absolute; left: 0; top: 0" /> 
-</div> 
-
- -

You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

- -
-"face" -eyes -mouth
-
- -
-

How to center content vertically and horizontally

-
-
-

Within the div element for your slide:

-
-<div class="vbox"></div>
-<div class="hbox">
-Place the content here
-</div>
-
-

and style it with the following:

-
-div.vbox {
-  float: left;
-  height: 40%; width: 50%;
-  margin-top: -220px;
-}
-div.hbox {
-  width:60%;  margin-top: 0;
-  margin-left:auto; margin-right:auto;
-  height: 60%;
-  border:1px solid silver;
-  background:#F0F0F0;
-  overflow:auto;
-  text-align:left;
-  clear:both;
-}
-
- -

The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

-
-
- -
-

Include SVG Content

- -

Inclusion of SVG content can be done using the object element, -for example:

- -
Indian Office logo
- -

has been achieved by:

- -
-<object data="graphics/example.svg" type="image/svg+xml" 
-  width="50%" height="10%" title="Indian Office logo"> 
-    <img src="graphics/example.png" width="50%" 
-          alt="Indian Office logo" /> 
-</object> 
-
- -

This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

- -

However, there are caveats, see the next slide!

-
- -
-

Caveats with SVG+object

- -

Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

- - -
- -
-

Additional Remarks

- - -
- -
-

Localization and automatic translation

- -

Slidy now includes support for localization

- - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - - -
-// for each language there is an associative array
-  strings_es: {
-    "slide":"pág.",
-    "help?":"Ayuda",
-    "contents?":"Índice",
-    "table of contents":"tabla de contenidos",
-    "Table of Contents":"Tabla de Contenidos",
-    "restart presentation":"Reiniciar presentación",
-    "restart?":"Inicio"
-  },
-  help_es:
-    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
-    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
-
- -

Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

-
- -
-

Future Plans

- -

Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

- - - -

If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

-
- -
-

Acknowledgements

- - - -

Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

-
- -
-

Acknowledgements

- -

The following people have contributed localizations:

- - - -

The following people have contributed bug reports:

- - - -

Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

-
- - diff --git a/ci-roadmap-folsom/blank.html b/ci-roadmap-folsom/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/ci-roadmap-folsom/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
-

Sample heading

- -

This is a template file you can copy and edit on your own server.

- - -
- - diff --git a/ci-roadmap-folsom/help/.htaccess b/ci-roadmap-folsom/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/ci-roadmap-folsom/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/ci-roadmap-folsom/index.html b/ci-roadmap-folsom/index.html deleted file mode 100644 index f3b8fdd..0000000 --- a/ci-roadmap-folsom/index.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - -CI and Developer Infrastructure Roadmap for Folsom - - - - - - - - - - -
- -
- - - - - - - - - - - - - -OpenStack logo
-

CI and Developer Infrastructure Roadmap for Folsom

-Monty Taylor -<mordred@inaugust.com>| -twitter:e_monty | -https://openstack-ci.github.com/publications/ci-roadmap-folsom -
- -
-

Overview

- -
- - -
-

What do we run?

-
  • Gerrit (code review, git) http://review.openstack.org
  • -
  • Jenkins (CI, automation) http://jenkins.openstack.org
  • -
  • git-review
  • -
  • jenkins gerrit trigger plugin
  • -
  • Launchpad Admin (bugs, blueprints, releases, translations, SSO) http://launchpad.net/openstack
  • -
  • Documentation servers
  • -
  • IRC bots
  • -
  • planet.openstack.org
  • -
  • paste.openstack.org
  • -
  • StackForge
  • -
  • Etherpad
  • -
  • devstack-gate
  • -
  • tox
  • -
  • Common Testing Inferface
  • -
    - - -
    -

    Devstack

    - -
    - - -
    -

    Stable Branches

    - -
    - -
    -

    pip based testing

    - -
    - -
    -

    tox based virtualenvs

    - -
    - -
    -

    gerrit improvements

    -
    - -
    -

    jenkins improvements

    - -
    - -
    -

    Infrastructure

    - -
    - -
    -

    StackForge

    - -
    - -
    -

    Now What

    -

    -Folsom Roadmap -

    -
    - -
    -

    gating

    - -
    - -
    -

    jenkins

    - -
    - -
    -

    gerrit

    - -
    - -
    -

    pre-apporval checks

    - -
    - -
    -

    translations

    - -
    - -
    -

    exploration

    - -
    - -
    -

    python

    - -
    - -
    -

    openstack-ci

    - -
    - -
    -

    miscellaneous

    - -
    - - - -
    -

    Thanks!

    - -Slides are available at https://openstack-ci.github.com/publications. - -
    - - - diff --git a/ci-roadmap-folsom/notes b/ci-roadmap-folsom/notes deleted file mode 100644 index 671429f..0000000 --- a/ci-roadmap-folsom/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/ci-roadmap-folsom/scripts/.htaccess b/ci-roadmap-folsom/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/ci-roadmap-folsom/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/ci-roadmap-folsom/styles/.htaccess b/ci-roadmap-folsom/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/ci-roadmap-folsom/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/cloud-testing/Overview.html b/cloud-testing/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/cloud-testing/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - - - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - - -
    - -
    -

    To use it off-line

    - - -
    - -
    -

    Timing Your Presentation

    - - - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - - - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - - - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - - - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - - -
    - -
    -

    Additional Remarks

    - - -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - - -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - - - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - - - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - - - -

    The following people have contributed bug reports:

    - - - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/cloud-testing/Overview.xhtml b/cloud-testing/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/cloud-testing/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - - - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - - -
    - -
    -

    To use it off-line

    - - -
    - -
    -

    Timing Your Presentation

    - - - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - - - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - - - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - - - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - - -
    - -
    -

    Additional Remarks

    - - -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - - -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - - - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - - - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - - - -

    The following people have contributed bug reports:

    - - - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/cloud-testing/blank.html b/cloud-testing/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/cloud-testing/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - - -
    - - diff --git a/cloud-testing/graphics/bullet-fold-dim.gif b/cloud-testing/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/cloud-testing/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-fold-dim.png b/cloud-testing/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/cloud-testing/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet-fold.gif b/cloud-testing/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/cloud-testing/graphics/bullet-fold.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-fold.png b/cloud-testing/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/cloud-testing/graphics/bullet-fold.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet-nofold-dim.gif b/cloud-testing/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/cloud-testing/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-nofold-dim.png b/cloud-testing/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/cloud-testing/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet-nofold.gif b/cloud-testing/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/cloud-testing/graphics/bullet-nofold.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-nofold.png b/cloud-testing/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/cloud-testing/graphics/bullet-nofold.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet-unfold-dim.gif b/cloud-testing/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/cloud-testing/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-unfold-dim.png b/cloud-testing/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/cloud-testing/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet-unfold.gif b/cloud-testing/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/cloud-testing/graphics/bullet-unfold.gif and /dev/null differ diff --git a/cloud-testing/graphics/bullet-unfold.png b/cloud-testing/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/cloud-testing/graphics/bullet-unfold.png and /dev/null differ diff --git a/cloud-testing/graphics/bullet.png b/cloud-testing/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/cloud-testing/graphics/bullet.png and /dev/null differ diff --git a/cloud-testing/graphics/example.png b/cloud-testing/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/cloud-testing/graphics/example.png and /dev/null differ diff --git a/cloud-testing/graphics/example.svg b/cloud-testing/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/cloud-testing/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cloud-testing/graphics/face1.gif b/cloud-testing/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/cloud-testing/graphics/face1.gif and /dev/null differ diff --git a/cloud-testing/graphics/face2.gif b/cloud-testing/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/cloud-testing/graphics/face2.gif and /dev/null differ diff --git a/cloud-testing/graphics/face3.gif b/cloud-testing/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/cloud-testing/graphics/face3.gif and /dev/null differ diff --git a/cloud-testing/graphics/face4.gif b/cloud-testing/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/cloud-testing/graphics/face4.gif and /dev/null differ diff --git a/cloud-testing/graphics/fold-bright.gif b/cloud-testing/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/cloud-testing/graphics/fold-bright.gif and /dev/null differ diff --git a/cloud-testing/graphics/fold-dim.bmp b/cloud-testing/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/cloud-testing/graphics/fold-dim.bmp and /dev/null differ diff --git a/cloud-testing/graphics/fold-dim.gif b/cloud-testing/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/cloud-testing/graphics/fold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/fold.bmp b/cloud-testing/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/cloud-testing/graphics/fold.bmp and /dev/null differ diff --git a/cloud-testing/graphics/fold.gif b/cloud-testing/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/cloud-testing/graphics/fold.gif and /dev/null differ diff --git a/cloud-testing/graphics/icon-blue.png b/cloud-testing/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/cloud-testing/graphics/icon-blue.png and /dev/null differ diff --git a/cloud-testing/graphics/keys2.jpg b/cloud-testing/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/cloud-testing/graphics/keys2.jpg and /dev/null differ diff --git a/cloud-testing/graphics/nofold-dim.bmp b/cloud-testing/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/cloud-testing/graphics/nofold-dim.bmp and /dev/null differ diff --git a/cloud-testing/graphics/nofold-dim.gif b/cloud-testing/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/cloud-testing/graphics/nofold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/nofold.bmp b/cloud-testing/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/cloud-testing/graphics/nofold.bmp and /dev/null differ diff --git a/cloud-testing/graphics/open-stack-cloud-computing-logo-2.png b/cloud-testing/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/cloud-testing/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/cloud-testing/graphics/openstack-cloud-software-vertical-large.png b/cloud-testing/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/cloud-testing/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/cloud-testing/graphics/unfold-bright.gif b/cloud-testing/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/cloud-testing/graphics/unfold-bright.gif and /dev/null differ diff --git a/cloud-testing/graphics/unfold-dim.bmp b/cloud-testing/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/cloud-testing/graphics/unfold-dim.bmp and /dev/null differ diff --git a/cloud-testing/graphics/unfold-dim.gif b/cloud-testing/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/cloud-testing/graphics/unfold-dim.gif and /dev/null differ diff --git a/cloud-testing/graphics/unfold.bmp b/cloud-testing/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/cloud-testing/graphics/unfold.bmp and /dev/null differ diff --git a/cloud-testing/graphics/unfold.gif b/cloud-testing/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/cloud-testing/graphics/unfold.gif and /dev/null differ diff --git a/cloud-testing/graphics/w3c-logo-blue.gif b/cloud-testing/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/cloud-testing/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/cloud-testing/graphics/w3c-logo-blue.svg b/cloud-testing/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/cloud-testing/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/cloud-testing/graphics/w3c-logo-slanted.jpg b/cloud-testing/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/cloud-testing/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/cloud-testing/graphics/w3c-logo-white.gif b/cloud-testing/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/cloud-testing/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/cloud-testing/graphics/w3c-logo-white.svg b/cloud-testing/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/cloud-testing/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/cloud-testing/help/.htaccess b/cloud-testing/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/cloud-testing/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/cloud-testing/help/help.html b/cloud-testing/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/cloud-testing/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/cloud-testing/help/help.html.ca b/cloud-testing/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/cloud-testing/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.de b/cloud-testing/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/cloud-testing/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/cloud-testing/help/help.html.en b/cloud-testing/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/cloud-testing/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.es b/cloud-testing/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/cloud-testing/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.fr b/cloud-testing/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/cloud-testing/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/cloud-testing/help/help.html.hu b/cloud-testing/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/cloud-testing/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.nl b/cloud-testing/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/cloud-testing/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/cloud-testing/help/help.html.pl b/cloud-testing/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/cloud-testing/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/cloud-testing/help/help.html.pt-br b/cloud-testing/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/cloud-testing/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.pt_br b/cloud-testing/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/cloud-testing/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/cloud-testing/help/help.html.sv b/cloud-testing/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/cloud-testing/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/cloud-testing/help/help.pt-br.html b/cloud-testing/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/cloud-testing/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/cloud-testing/images/OpenStackLogo_wTag.png b/cloud-testing/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/cloud-testing/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/cloud-testing/images/devstack-jobs.png b/cloud-testing/images/devstack-jobs.png deleted file mode 100644 index c193857..0000000 Binary files a/cloud-testing/images/devstack-jobs.png and /dev/null differ diff --git a/cloud-testing/images/devstack-nodes.png b/cloud-testing/images/devstack-nodes.png deleted file mode 100644 index e9afbce..0000000 Binary files a/cloud-testing/images/devstack-nodes.png and /dev/null differ diff --git a/cloud-testing/images/jclouds-config.png b/cloud-testing/images/jclouds-config.png deleted file mode 100644 index cfde779..0000000 Binary files a/cloud-testing/images/jclouds-config.png and /dev/null differ diff --git a/cloud-testing/images/jclouds-instance.png b/cloud-testing/images/jclouds-instance.png deleted file mode 100644 index 0279189..0000000 Binary files a/cloud-testing/images/jclouds-instance.png and /dev/null differ diff --git a/cloud-testing/index.html b/cloud-testing/index.html deleted file mode 100644 index b7295ab..0000000 --- a/cloud-testing/index.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - -OpenStack Continuous Integration Testing with Cloud Servers - - - - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    OpenStack Continuous Integration Testing on Cloud Servers

    -

    -James E. Blair -<corvus@inaugust.com>
    - -

    - -
    -

    OpenStack

    - -

    Is open source software for building private and public clouds.

    - -
    - -
    - -
    - -
    -

    Projects

    - - - -
    - - -
    -

    Contributors

    - -
    - -
    -

    Gated Trunk

    - - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Gerrit

    - -
    - -
    -

    Process Flow

    - -
    - -
    -

    Jenkins

    - -

    Types of jobs:

    -

    - -
    - -
    -

    Types of Tests

    - - - -
    - -
    -

    Specific Challenges/Solutions

    - - - -
    - -
    -

    Gerrit Git Prep

    - -
    - -
    -

    Interrelated Integration Testing

    - -
    - -
    -

    Devstack-Gate Problems

    - -
    - -
    -

    Devstack-Gate Solutions

    - -
    - -
    -

    Alternate Caching Idea

    - -
    - -
    -

    Providers

    - - -
    - -
    -

    Launching Nodes

    - - -
    - -
    -

    Node Pooling

    - - -
    - -
    -

    Devstack Nodes

    - -
    - -
    -
    - -
    -

    Use

    - - -
    - -
    -

    Deletion

    - - -
    - -
    -

    Devstack Jobs

    - -
    - -
    -
    - -
    -

    Jclouds-Plugin

    - -
    - -
    -

    Jclouds Configuration

    - -
    - -
    -
    - -
    -

    Jclouds Configuration

    - -
    - -
    -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/cloud-testing/scripts/.htaccess b/cloud-testing/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/cloud-testing/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/cloud-testing/scripts/jquery-1.7.2.min.js b/cloud-testing/scripts/jquery-1.7.2.min.js deleted file mode 100644 index 16ad06c..0000000 --- a/cloud-testing/scripts/jquery-1.7.2.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
    "+""+"
    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
    t
    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f -.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/cloud-testing/scripts/raphael-min.js b/cloud-testing/scripts/raphael-min.js deleted file mode 100644 index d30dbad..0000000 --- a/cloud-testing/scripts/raphael-min.js +++ /dev/null @@ -1,10 +0,0 @@ -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file diff --git a/cloud-testing/scripts/slidy.js b/cloud-testing/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/cloud-testing/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/cloud-testing/scripts/slidy.js.gz b/cloud-testing/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/cloud-testing/scripts/slidy.js.gz and /dev/null differ diff --git a/cloud-testing/styles/.htaccess b/cloud-testing/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/cloud-testing/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/cloud-testing/styles/openstack.css b/cloud-testing/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/cloud-testing/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/cloud-testing/styles/slidy.css b/cloud-testing/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/cloud-testing/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/cloud-testing/styles/w3c-blue.css b/cloud-testing/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/cloud-testing/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/ci-roadmap-folsom/graphics/bullet-fold-dim.gif b/graphics/bullet-fold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-fold-dim.gif rename to graphics/bullet-fold-dim.gif diff --git a/ci-roadmap-folsom/graphics/bullet-fold-dim.png b/graphics/bullet-fold-dim.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-fold-dim.png rename to graphics/bullet-fold-dim.png diff --git a/ci-roadmap-folsom/graphics/bullet-fold.gif b/graphics/bullet-fold.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-fold.gif rename to graphics/bullet-fold.gif diff --git a/ci-roadmap-folsom/graphics/bullet-fold.png b/graphics/bullet-fold.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-fold.png rename to graphics/bullet-fold.png diff --git a/ci-roadmap-folsom/graphics/bullet-nofold-dim.gif b/graphics/bullet-nofold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-nofold-dim.gif rename to graphics/bullet-nofold-dim.gif diff --git a/ci-roadmap-folsom/graphics/bullet-nofold-dim.png b/graphics/bullet-nofold-dim.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-nofold-dim.png rename to graphics/bullet-nofold-dim.png diff --git a/ci-roadmap-folsom/graphics/bullet-nofold.gif b/graphics/bullet-nofold.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-nofold.gif rename to graphics/bullet-nofold.gif diff --git a/ci-roadmap-folsom/graphics/bullet-nofold.png b/graphics/bullet-nofold.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-nofold.png rename to graphics/bullet-nofold.png diff --git a/ci-roadmap-folsom/graphics/bullet-unfold-dim.gif b/graphics/bullet-unfold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-unfold-dim.gif rename to graphics/bullet-unfold-dim.gif diff --git a/ci-roadmap-folsom/graphics/bullet-unfold-dim.png b/graphics/bullet-unfold-dim.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-unfold-dim.png rename to graphics/bullet-unfold-dim.png diff --git a/ci-roadmap-folsom/graphics/bullet-unfold.gif b/graphics/bullet-unfold.gif similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-unfold.gif rename to graphics/bullet-unfold.gif diff --git a/ci-roadmap-folsom/graphics/bullet-unfold.png b/graphics/bullet-unfold.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet-unfold.png rename to graphics/bullet-unfold.png diff --git a/ci-roadmap-folsom/graphics/bullet.png b/graphics/bullet.png similarity index 100% rename from ci-roadmap-folsom/graphics/bullet.png rename to graphics/bullet.png diff --git a/ci-roadmap-folsom/graphics/example.png b/graphics/example.png similarity index 100% rename from ci-roadmap-folsom/graphics/example.png rename to graphics/example.png diff --git a/ci-roadmap-folsom/graphics/example.svg b/graphics/example.svg similarity index 100% rename from ci-roadmap-folsom/graphics/example.svg rename to graphics/example.svg diff --git a/ci-roadmap-folsom/graphics/face1.gif b/graphics/face1.gif similarity index 100% rename from ci-roadmap-folsom/graphics/face1.gif rename to graphics/face1.gif diff --git a/ci-roadmap-folsom/graphics/face2.gif b/graphics/face2.gif similarity index 100% rename from ci-roadmap-folsom/graphics/face2.gif rename to graphics/face2.gif diff --git a/ci-roadmap-folsom/graphics/face3.gif b/graphics/face3.gif similarity index 100% rename from ci-roadmap-folsom/graphics/face3.gif rename to graphics/face3.gif diff --git a/ci-roadmap-folsom/graphics/face4.gif b/graphics/face4.gif similarity index 100% rename from ci-roadmap-folsom/graphics/face4.gif rename to graphics/face4.gif diff --git a/ci-roadmap-folsom/graphics/fold-bright.gif b/graphics/fold-bright.gif similarity index 100% rename from ci-roadmap-folsom/graphics/fold-bright.gif rename to graphics/fold-bright.gif diff --git a/ci-roadmap-folsom/graphics/fold-dim.bmp b/graphics/fold-dim.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/fold-dim.bmp rename to graphics/fold-dim.bmp diff --git a/ci-roadmap-folsom/graphics/fold-dim.gif b/graphics/fold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/fold-dim.gif rename to graphics/fold-dim.gif diff --git a/ci-roadmap-folsom/graphics/fold.bmp b/graphics/fold.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/fold.bmp rename to graphics/fold.bmp diff --git a/ci-roadmap-folsom/graphics/fold.gif b/graphics/fold.gif similarity index 100% rename from ci-roadmap-folsom/graphics/fold.gif rename to graphics/fold.gif diff --git a/ci-roadmap-folsom/graphics/icon-blue.png b/graphics/icon-blue.png similarity index 100% rename from ci-roadmap-folsom/graphics/icon-blue.png rename to graphics/icon-blue.png diff --git a/ci-roadmap-folsom/graphics/keys2.jpg b/graphics/keys2.jpg similarity index 100% rename from ci-roadmap-folsom/graphics/keys2.jpg rename to graphics/keys2.jpg diff --git a/ci-roadmap-folsom/graphics/nofold-dim.bmp b/graphics/nofold-dim.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/nofold-dim.bmp rename to graphics/nofold-dim.bmp diff --git a/ci-roadmap-folsom/graphics/nofold-dim.gif b/graphics/nofold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/nofold-dim.gif rename to graphics/nofold-dim.gif diff --git a/ci-roadmap-folsom/graphics/nofold.bmp b/graphics/nofold.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/nofold.bmp rename to graphics/nofold.bmp diff --git a/ci-roadmap-folsom/graphics/open-stack-cloud-computing-logo-2.png b/graphics/open-stack-cloud-computing-logo-2.png similarity index 100% rename from ci-roadmap-folsom/graphics/open-stack-cloud-computing-logo-2.png rename to graphics/open-stack-cloud-computing-logo-2.png diff --git a/ci-roadmap-folsom/graphics/openstack-cloud-software-vertical-large.png b/graphics/openstack-cloud-software-vertical-large.png similarity index 100% rename from ci-roadmap-folsom/graphics/openstack-cloud-software-vertical-large.png rename to graphics/openstack-cloud-software-vertical-large.png diff --git a/ci-roadmap-folsom/graphics/unfold-bright.gif b/graphics/unfold-bright.gif similarity index 100% rename from ci-roadmap-folsom/graphics/unfold-bright.gif rename to graphics/unfold-bright.gif diff --git a/ci-roadmap-folsom/graphics/unfold-dim.bmp b/graphics/unfold-dim.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/unfold-dim.bmp rename to graphics/unfold-dim.bmp diff --git a/ci-roadmap-folsom/graphics/unfold-dim.gif b/graphics/unfold-dim.gif similarity index 100% rename from ci-roadmap-folsom/graphics/unfold-dim.gif rename to graphics/unfold-dim.gif diff --git a/ci-roadmap-folsom/graphics/unfold.bmp b/graphics/unfold.bmp similarity index 100% rename from ci-roadmap-folsom/graphics/unfold.bmp rename to graphics/unfold.bmp diff --git a/ci-roadmap-folsom/graphics/unfold.gif b/graphics/unfold.gif similarity index 100% rename from ci-roadmap-folsom/graphics/unfold.gif rename to graphics/unfold.gif diff --git a/ci-roadmap-folsom/graphics/w3c-logo-blue.gif b/graphics/w3c-logo-blue.gif similarity index 100% rename from ci-roadmap-folsom/graphics/w3c-logo-blue.gif rename to graphics/w3c-logo-blue.gif diff --git a/ci-roadmap-folsom/graphics/w3c-logo-blue.svg b/graphics/w3c-logo-blue.svg similarity index 100% rename from ci-roadmap-folsom/graphics/w3c-logo-blue.svg rename to graphics/w3c-logo-blue.svg diff --git a/ci-roadmap-folsom/graphics/w3c-logo-slanted.jpg b/graphics/w3c-logo-slanted.jpg similarity index 100% rename from ci-roadmap-folsom/graphics/w3c-logo-slanted.jpg rename to graphics/w3c-logo-slanted.jpg diff --git a/ci-roadmap-folsom/graphics/w3c-logo-white.gif b/graphics/w3c-logo-white.gif similarity index 100% rename from ci-roadmap-folsom/graphics/w3c-logo-white.gif rename to graphics/w3c-logo-white.gif diff --git a/ci-roadmap-folsom/graphics/w3c-logo-white.svg b/graphics/w3c-logo-white.svg similarity index 100% rename from ci-roadmap-folsom/graphics/w3c-logo-white.svg rename to graphics/w3c-logo-white.svg diff --git a/growing-openstack/Overview.html b/growing-openstack/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/growing-openstack/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/growing-openstack/Overview.xhtml b/growing-openstack/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/growing-openstack/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/growing-openstack/blank.html b/growing-openstack/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/growing-openstack/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/growing-openstack/graphics/bullet-fold-dim.gif b/growing-openstack/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/growing-openstack/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-fold-dim.png b/growing-openstack/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/growing-openstack/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet-fold.gif b/growing-openstack/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/growing-openstack/graphics/bullet-fold.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-fold.png b/growing-openstack/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/growing-openstack/graphics/bullet-fold.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet-nofold-dim.gif b/growing-openstack/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/growing-openstack/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-nofold-dim.png b/growing-openstack/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/growing-openstack/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet-nofold.gif b/growing-openstack/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/growing-openstack/graphics/bullet-nofold.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-nofold.png b/growing-openstack/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/growing-openstack/graphics/bullet-nofold.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet-unfold-dim.gif b/growing-openstack/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/growing-openstack/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-unfold-dim.png b/growing-openstack/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/growing-openstack/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet-unfold.gif b/growing-openstack/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/growing-openstack/graphics/bullet-unfold.gif and /dev/null differ diff --git a/growing-openstack/graphics/bullet-unfold.png b/growing-openstack/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/growing-openstack/graphics/bullet-unfold.png and /dev/null differ diff --git a/growing-openstack/graphics/bullet.png b/growing-openstack/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/growing-openstack/graphics/bullet.png and /dev/null differ diff --git a/growing-openstack/graphics/example.png b/growing-openstack/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/growing-openstack/graphics/example.png and /dev/null differ diff --git a/growing-openstack/graphics/example.svg b/growing-openstack/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/growing-openstack/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/growing-openstack/graphics/face1.gif b/growing-openstack/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/growing-openstack/graphics/face1.gif and /dev/null differ diff --git a/growing-openstack/graphics/face2.gif b/growing-openstack/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/growing-openstack/graphics/face2.gif and /dev/null differ diff --git a/growing-openstack/graphics/face3.gif b/growing-openstack/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/growing-openstack/graphics/face3.gif and /dev/null differ diff --git a/growing-openstack/graphics/face4.gif b/growing-openstack/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/growing-openstack/graphics/face4.gif and /dev/null differ diff --git a/growing-openstack/graphics/fold-bright.gif b/growing-openstack/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/growing-openstack/graphics/fold-bright.gif and /dev/null differ diff --git a/growing-openstack/graphics/fold-dim.bmp b/growing-openstack/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/growing-openstack/graphics/fold-dim.bmp and /dev/null differ diff --git a/growing-openstack/graphics/fold-dim.gif b/growing-openstack/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/growing-openstack/graphics/fold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/fold.bmp b/growing-openstack/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/growing-openstack/graphics/fold.bmp and /dev/null differ diff --git a/growing-openstack/graphics/fold.gif b/growing-openstack/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/growing-openstack/graphics/fold.gif and /dev/null differ diff --git a/growing-openstack/graphics/icon-blue.png b/growing-openstack/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/growing-openstack/graphics/icon-blue.png and /dev/null differ diff --git a/growing-openstack/graphics/keys2.jpg b/growing-openstack/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/growing-openstack/graphics/keys2.jpg and /dev/null differ diff --git a/growing-openstack/graphics/nofold-dim.bmp b/growing-openstack/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/growing-openstack/graphics/nofold-dim.bmp and /dev/null differ diff --git a/growing-openstack/graphics/nofold-dim.gif b/growing-openstack/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/growing-openstack/graphics/nofold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/nofold.bmp b/growing-openstack/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/growing-openstack/graphics/nofold.bmp and /dev/null differ diff --git a/growing-openstack/graphics/open-stack-cloud-computing-logo-2.png b/growing-openstack/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/growing-openstack/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/growing-openstack/graphics/openstack-cloud-software-vertical-large.png b/growing-openstack/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/growing-openstack/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/growing-openstack/graphics/unfold-bright.gif b/growing-openstack/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/growing-openstack/graphics/unfold-bright.gif and /dev/null differ diff --git a/growing-openstack/graphics/unfold-dim.bmp b/growing-openstack/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/growing-openstack/graphics/unfold-dim.bmp and /dev/null differ diff --git a/growing-openstack/graphics/unfold-dim.gif b/growing-openstack/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/growing-openstack/graphics/unfold-dim.gif and /dev/null differ diff --git a/growing-openstack/graphics/unfold.bmp b/growing-openstack/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/growing-openstack/graphics/unfold.bmp and /dev/null differ diff --git a/growing-openstack/graphics/unfold.gif b/growing-openstack/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/growing-openstack/graphics/unfold.gif and /dev/null differ diff --git a/growing-openstack/graphics/w3c-logo-blue.gif b/growing-openstack/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/growing-openstack/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/growing-openstack/graphics/w3c-logo-blue.svg b/growing-openstack/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/growing-openstack/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/growing-openstack/graphics/w3c-logo-slanted.jpg b/growing-openstack/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/growing-openstack/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/growing-openstack/graphics/w3c-logo-white.gif b/growing-openstack/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/growing-openstack/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/growing-openstack/graphics/w3c-logo-white.svg b/growing-openstack/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/growing-openstack/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/growing-openstack/help/.htaccess b/growing-openstack/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/growing-openstack/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/growing-openstack/help/help.html b/growing-openstack/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/growing-openstack/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/growing-openstack/help/help.html.ca b/growing-openstack/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/growing-openstack/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.de b/growing-openstack/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/growing-openstack/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/growing-openstack/help/help.html.en b/growing-openstack/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/growing-openstack/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.es b/growing-openstack/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/growing-openstack/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.fr b/growing-openstack/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/growing-openstack/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/growing-openstack/help/help.html.hu b/growing-openstack/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/growing-openstack/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.nl b/growing-openstack/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/growing-openstack/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/growing-openstack/help/help.html.pl b/growing-openstack/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/growing-openstack/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/growing-openstack/help/help.html.pt-br b/growing-openstack/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/growing-openstack/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.pt_br b/growing-openstack/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/growing-openstack/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/growing-openstack/help/help.html.sv b/growing-openstack/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/growing-openstack/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/growing-openstack/help/help.pt-br.html b/growing-openstack/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/growing-openstack/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/growing-openstack/images/OpenStackLogo_wTag.png b/growing-openstack/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/growing-openstack/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/growing-openstack/images/devstack-jobs.png b/growing-openstack/images/devstack-jobs.png deleted file mode 100644 index c193857..0000000 Binary files a/growing-openstack/images/devstack-jobs.png and /dev/null differ diff --git a/growing-openstack/images/devstack-nodes.png b/growing-openstack/images/devstack-nodes.png deleted file mode 100644 index e9afbce..0000000 Binary files a/growing-openstack/images/devstack-nodes.png and /dev/null differ diff --git a/growing-openstack/images/jclouds-config.png b/growing-openstack/images/jclouds-config.png deleted file mode 100644 index cfde779..0000000 Binary files a/growing-openstack/images/jclouds-config.png and /dev/null differ diff --git a/growing-openstack/images/jclouds-instance.png b/growing-openstack/images/jclouds-instance.png deleted file mode 100644 index 0279189..0000000 Binary files a/growing-openstack/images/jclouds-instance.png and /dev/null differ diff --git a/growing-openstack/images/jenkins-gate.png b/growing-openstack/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/growing-openstack/images/jenkins-gate.png and /dev/null differ diff --git a/growing-openstack/images/openstack-software-diagram.png b/growing-openstack/images/openstack-software-diagram.png deleted file mode 100644 index e23cc62..0000000 Binary files a/growing-openstack/images/openstack-software-diagram.png and /dev/null differ diff --git a/growing-openstack/images/stack-o-pancakes-150x150.png b/growing-openstack/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/growing-openstack/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/growing-openstack/index.html b/growing-openstack/index.html deleted file mode 100644 index 1400f6e..0000000 --- a/growing-openstack/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - -Scaling an Open Source Community - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - -OpenStack logo -
    -

    Growing an Open Source Community:
    -How we grew the OpenStack Project

    -

    -Monty Taylor -<monty.taylor@hp.com>

    - -
    - -
    - -
    - -
    -Linux of the Cloud -
    - -
    -Quick Reminder -
    - -
    - -
    - -
    -'Differentiation' -
    - -
    -AIX, Ultrix, HPUX, Solaris, Irix -
    - -
    -Linux -
    - -
    -Everyone can Participate -
    - -
    -Rackspace Cloud -
    - -
    - -
    - -
    -3110 Changesets -
    - -
    -291 Developers -
    - -
    -132 Companies -
    - -
    -Open Source, Design, Development and Community -
    - -
    -Liberté, égalité, fraternité -
    - -
    -Fraternity/Community -
    - -
    -Freedom -
    - -
    -Apache 2 License -
    - -
    -Egalitarian Process -
    - -
    -Everyone can Participate -
    - -
    -Open Design Summits in Person -
    - -
    -Open Meetings on IRC -
    - -
    -Public Source Code Repositories -
    - -
    -Meritocracy -
    - -
    -Code Review -
    - -
    -Code Standards -
    - -
    -Consistent technology -
    - -
    -Automated Testing -
    - -
    -Automated Everything -
    - -
    -Constant Vigilence -
    - -
    -Remember AIX and Irix and HPUX and Solaris? -
    - -
    - -
    - - - diff --git a/growing-openstack/scripts/.htaccess b/growing-openstack/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/growing-openstack/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/growing-openstack/scripts/jquery-1.7.2.min.js b/growing-openstack/scripts/jquery-1.7.2.min.js deleted file mode 100644 index 16ad06c..0000000 --- a/growing-openstack/scripts/jquery-1.7.2.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
    "+""+"
    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
    t
    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f -.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/growing-openstack/scripts/raphael-min.js b/growing-openstack/scripts/raphael-min.js deleted file mode 100644 index d30dbad..0000000 --- a/growing-openstack/scripts/raphael-min.js +++ /dev/null @@ -1,10 +0,0 @@ -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file diff --git a/growing-openstack/scripts/slidy.js b/growing-openstack/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/growing-openstack/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/growing-openstack/scripts/slidy.js.gz b/growing-openstack/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/growing-openstack/scripts/slidy.js.gz and /dev/null differ diff --git a/growing-openstack/styles/.htaccess b/growing-openstack/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/growing-openstack/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/growing-openstack/styles/openstack.css b/growing-openstack/styles/openstack.css deleted file mode 100644 index b92bd8f..0000000 --- a/growing-openstack/styles/openstack.css +++ /dev/null @@ -1,484 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - position: absolute; - padding-top: 40%; -} - -div.slide { - text-align: center; -/* vertical-align: center; */ - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.center { - float: center; -/* position: absolute; */ - top: 45%;display: table-cell; vertical-align: middle; - font-size: 260%; - line-height: 1.1em; - } - -img.center { - position: absolute; - float: center; - top: 15%; - left: 15%; - display: table-cell; vertical-align: middle; - text-align: center; - font-size: 160%; - line-height: 1.1em; - } - -img.last { - position: absolute; - float: center; - top: 10%; - left: 22%; - } - - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - text-align: center; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 2.5em; - margin: 0; - font-size: 70%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; -/* background-color: #95ABD0; */ -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - position: absolute; - float: left; - top: 50%; - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover h3 { - padding-left: 1em; - position: absolute; - float: center; - bottom: 15%; - margin: 0; - /*padding: 0.5em;*/ - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/growing-openstack/styles/slidy.css b/growing-openstack/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/growing-openstack/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/growing-openstack/styles/w3c-blue.css b/growing-openstack/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/growing-openstack/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/ci-roadmap-folsom/help/help.html b/help/help.html similarity index 100% rename from ci-roadmap-folsom/help/help.html rename to help/help.html diff --git a/ci-roadmap-folsom/help/help.html.ca b/help/help.html.ca similarity index 100% rename from ci-roadmap-folsom/help/help.html.ca rename to help/help.html.ca diff --git a/ci-roadmap-folsom/help/help.html.de b/help/help.html.de similarity index 100% rename from ci-roadmap-folsom/help/help.html.de rename to help/help.html.de diff --git a/ci-roadmap-folsom/help/help.html.en b/help/help.html.en similarity index 100% rename from ci-roadmap-folsom/help/help.html.en rename to help/help.html.en diff --git a/ci-roadmap-folsom/help/help.html.es b/help/help.html.es similarity index 100% rename from ci-roadmap-folsom/help/help.html.es rename to help/help.html.es diff --git a/ci-roadmap-folsom/help/help.html.fr b/help/help.html.fr similarity index 100% rename from ci-roadmap-folsom/help/help.html.fr rename to help/help.html.fr diff --git a/ci-roadmap-folsom/help/help.html.hu b/help/help.html.hu similarity index 100% rename from ci-roadmap-folsom/help/help.html.hu rename to help/help.html.hu diff --git a/ci-roadmap-folsom/help/help.html.nl b/help/help.html.nl similarity index 100% rename from ci-roadmap-folsom/help/help.html.nl rename to help/help.html.nl diff --git a/ci-roadmap-folsom/help/help.html.pl b/help/help.html.pl similarity index 100% rename from ci-roadmap-folsom/help/help.html.pl rename to help/help.html.pl diff --git a/ci-roadmap-folsom/help/help.html.pt-br b/help/help.html.pt-br similarity index 100% rename from ci-roadmap-folsom/help/help.html.pt-br rename to help/help.html.pt-br diff --git a/ci-roadmap-folsom/help/help.html.pt_br b/help/help.html.pt_br similarity index 100% rename from ci-roadmap-folsom/help/help.html.pt_br rename to help/help.html.pt_br diff --git a/ci-roadmap-folsom/help/help.html.sv b/help/help.html.sv similarity index 100% rename from ci-roadmap-folsom/help/help.html.sv rename to help/help.html.sv diff --git a/ci-roadmap-folsom/help/help.pt-br.html b/help/help.pt-br.html similarity index 100% rename from ci-roadmap-folsom/help/help.pt-br.html rename to help/help.pt-br.html diff --git a/jenkins/images/489px-MySQL.svg.png b/images/489px-MySQL.svg.png similarity index 100% rename from jenkins/images/489px-MySQL.svg.png rename to images/489px-MySQL.svg.png diff --git a/jenkins/images/Drizzle-med.png b/images/Drizzle-med.png similarity index 100% rename from jenkins/images/Drizzle-med.png rename to images/Drizzle-med.png diff --git a/ci-roadmap-folsom/images/OpenStackLogo_wTag.png b/images/OpenStackLogo_wTag.png similarity index 100% rename from ci-roadmap-folsom/images/OpenStackLogo_wTag.png rename to images/OpenStackLogo_wTag.png diff --git a/jenkins/images/gerrit-approved.png b/images/gerrit-approved.png similarity index 100% rename from jenkins/images/gerrit-approved.png rename to images/gerrit-approved.png diff --git a/jenkins/images/gerrit-bp-topic.png b/images/gerrit-bp-topic.png similarity index 100% rename from jenkins/images/gerrit-bp-topic.png rename to images/gerrit-bp-topic.png diff --git a/jenkins/images/gerrit-bp.png b/images/gerrit-bp.png similarity index 100% rename from jenkins/images/gerrit-bp.png rename to images/gerrit-bp.png diff --git a/jenkins/images/gerrit-bug.png b/images/gerrit-bug.png similarity index 100% rename from jenkins/images/gerrit-bug.png rename to images/gerrit-bug.png diff --git a/jenkins/images/gerrit-jenkins.png b/images/gerrit-jenkins.png similarity index 100% rename from jenkins/images/gerrit-jenkins.png rename to images/gerrit-jenkins.png diff --git a/jenkins/images/gerrit-sso.png b/images/gerrit-sso.png similarity index 100% rename from jenkins/images/gerrit-sso.png rename to images/gerrit-sso.png diff --git a/jenkins/images/gerrit-verify.png b/images/gerrit-verify.png similarity index 100% rename from jenkins/images/gerrit-verify.png rename to images/gerrit-verify.png diff --git a/cloud-testing/images/jenkins-gate.png b/images/jenkins-gate.png similarity index 100% rename from cloud-testing/images/jenkins-gate.png rename to images/jenkins-gate.png diff --git a/jenkins/images/lp-bp.png b/images/lp-bp.png similarity index 100% rename from jenkins/images/lp-bp.png rename to images/lp-bp.png diff --git a/jenkins/images/lp-bug.png b/images/lp-bug.png similarity index 100% rename from jenkins/images/lp-bug.png rename to images/lp-bug.png diff --git a/jenkins/images/lp-os-projects.png b/images/lp-os-projects.png similarity index 100% rename from jenkins/images/lp-os-projects.png rename to images/lp-os-projects.png diff --git a/cloud-testing/images/openstack-software-diagram.png b/images/openstack-software-diagram.png similarity index 100% rename from cloud-testing/images/openstack-software-diagram.png rename to images/openstack-software-diagram.png diff --git a/puppetconf/images/server-list.png b/images/server-list.png similarity index 100% rename from puppetconf/images/server-list.png rename to images/server-list.png diff --git a/cloud-testing/images/stack-o-pancakes-150x150.png b/images/stack-o-pancakes-150x150.png similarity index 100% rename from cloud-testing/images/stack-o-pancakes-150x150.png rename to images/stack-o-pancakes-150x150.png diff --git a/index.html b/index.html index ad36513..0cf876b 100644 --- a/index.html +++ b/index.html @@ -3,31 +3,532 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -OpenStack CI Slides + +Collaboratively managing the OpenStack project with Puppet - + + + + + + + -

    OpenStack CI Slides

    +
    + +
    + + + + + + + + + + + + + +OpenStack logo
    +

    Collaboratively managing the OpenStack project with Puppet

    +

    +Monty Taylor +<mordred@inaugust.com>
    + +

    + +
    +

    Whoami

    +
      +
    • One of the OpenStack Founders
    • +
    • Core team of OpenStack CI systems
    • +
    • OpenStack Foundation Board
    • +
    • OpenStack Technical Committee
    • +
    • Manager of OpenStack Automation at HP
    • +
    +
    + + + +
    +

    Design Assumptions

    +
      +
    • Everything Open
    • +
    • Everything Reusable
    • +
    +
    + +
    +

    Shameless Plug

    +
      +
    • I'm hiring
    • +
    +
    + +
    +

    OpenStack

    + +

    Is open source software for building private and public clouds.

    + +
    + +
    + + +
    + +
    +

    Projects

    + +
      +
    • nova (compute)
    • +
    • swift (object storge)
    • +
    • glance (image service)
    • +
    • keystone (identity service)
    • +
    • quantum (network service)
    • +
    • horizon (dashboard)
    • +
    • cinder (volume service)
    • +
    • python-novaclient
    • +
    • python-swiftclient
    • +
    • python-glanceclient
    • +
    • python-keystoneclient
    • +
    • python-quantumclient
    • +
    • python-cinderclient
    • +
    • python-openstackclient
    • +
    +
    +
    + + +
    +

    Servers

    + +
    + +
    + +
    + + +
    +

    Back in the Day...

    + +
      +
    • nova (compute)
    • +
    • swift (object storge)
    • +
    • jenkins.openstack.org
    • +
    • wiki.openstack.org
    • +
    +
    +
    + +
    +

    Typical First Steps

    +
      +
    • jenkins.openstack.org had one admin - me
    • +
    • wiki was managed by someone else
    • +
    • Everything installed by hand
    • +
    +
    + +
    +

    Complexity Rises

    +
      +
    • Soren, Jay, Eric and Thierry get root
    • +
    • Added a couple of build slaves
    • +
    • I get annoyed
    • +
    +
    + +
    +

    Investigation

    +
      +
    • Chef
    • +
    • Puppet
    • +
    • Manage users and packages
    • +
    +
    + +
    +

    Small Infrastructure

    +
      +
    • puppet apply ftw
    • +
    • creating users not so much
    • +
    +
    + +
    +

    RANT

    +

    WHY IS CREATING USERS SO MUCH WORK???

    +
    +class user::virtual {
    +  define localuser ($realname,$sshkeys='',$shell="/bin/bash") {
    +    group { $title:
    +      ensure => 'present'
    +    }
    +
    +    user { $title:
    +      ensure  => "present",
    +      comment => $realname,
    +      home    => "/home/$title",
    +      shell   => $shell,
    +      gid     => $title,
    +      groups  => ['sudo','admin'],
    +      membership => 'minimum',
    +      managehome => true,  # creates the home directory (does not actually manage it)
    +      require => Group[$title],
    +    }
    +    
    +    file { "${title}_sshdir":
    +      name => "/home/$title/.ssh",
    +      owner => $title,
    +      group => $title,
    +      mode => 700,
    +      ensure => 'directory',
    +      require => User[$title],
    +    }
    +  
    +
    + + +
    +

    RANT

    +

    WHY IS CREATING USERS SO MUCH WORK???

    +
    +    file { "${title}_keys":
    +      name => "/home/$title/.ssh/authorized_keys",
    +      owner => $title,
    +      group => $title,
    +      mode => 400,
    +      content => $sshkeys,
    +      ensure => 'present',
    +      require => File["${title}_sshdir"],
    +    }
    +  }
    +}
    +  
    +
    + +
    +

    RANT

    +

    WHY IS CREATING USERS SO MUCH WORK???

    +
    +  @user::virtual::localuser { 'mordred':
    +    realname => 'Monty Taylor',
    +    sshkeys  => "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyxfIpVCvZyM8BIy7r7WOSIG6Scxq4afean1Pc/bej5ZWHXCu1QnhGbI7rW3sWciEhi375ILejfODl2TkBpfdJe/DL205lLkTxAa+FUqcZ5Ymwe+jBgCH5XayzyhRPFFLn07IfA/BDAjGPqFLvq6dCEHVNJIui6oEW7OUf6a3376YF55r9bw/8Ct00F9N7zrISeSSeZXbNR+dEqcsBEKBqvZGcLtM4jzDzNXw1ITPPMGaoEIIszLpkkJcy8u/13GIrbAwNrB2wjl6Mzj+N9nTsB4rFtxRXp31ZbytCH5G9CL/mFard7yi8NLVEJPZJvAifNVhooxGN06uAiTFE8EsuQ== mtaylor@qualinost\n",
    +  }
    +  
    +
    + +
    +

    RANT

    +

    WHY IS CREATING USERS SO MUCH WORK???

    +
    +    realize (
    +      User::Virtual::Localuser['mordred'],
    +      User::Virtual::Localuser['corvus'],
    +      User::Virtual::Localuser['soren'],
    +      User::Virtual::Localuser['linuxjedi'],
    +      User::Virtual::Localuser['devananda'],
    +      User::Virtual::Localuser['clarkb'],
    +    )
    +  
    +
    + +
    +

    Shameless Plug

    +
      +
    • I'm hiring
    • +
    +
    + +
    +

    First (weird) choice

    +
      +
    • I hate typing
    • +
    • Launchpad API script to generate a manifest
    • +
    • Launching nodes was so much easier!
    • +
    +
    + +
    +

    Usage Pattern 0

    +
      +
    • puppet apply by hand at machine create
    • +
    • problem: totally manual operation
    • +
    +
    + +
    +

    Once you have that ...

    +
      +
    • Jim Blair started ... told me I was crazy
    • +
    • We started making clases and modules
    • +
    +
    + +
    +

    Usage Pattern 1

    +
      +
    • manifest/modules in public git / gerrit
    • +
    • puppet apply in cron
    • +
    • problem: where does secret stuff go
    • +
    +
    + +
    +

    Secrets Solution 0

    +

    Copy secret files to machine by hand, then reference

    +
    +  file { '/usr/local/jenkins_jobs/jenkins_jobs.ini':
    +    owner => 'root',
    +    group => 'root',
    +    mode => 440,
    +    ensure => 'present',
    +    source => 'file:///root/secret-files/jenkins_jobs.ini',
    +    replace => 'true',
    +    require => File['/usr/local/jenkins_jobs']
    +  }
    +
    +
    + +
    +

    Copying Files

    +
      +
    • This sucks for all the reasons you'd expect
    • +
    • Defeats reusability
    • +
    • ENTIRE FILE becomes secret
    • +
    +
    + +
    +

    RANT

    +

    WHY IS INSTALLING PACKAGES FAIL???

    +
    +class jenkins_jobs {
    +    package { 'python-yaml':
    +        ensure => present;
    +    }
    +    ...
    +}
    +
    +class zuul {
    +    package { 'python-yaml':
    +        ensure => present;
    +    }
    +    ...
    +}
    +
    +node "jenkins.openstack.org" {
    +    include zuul
    +    include jenkins_jobs
    +}
    + 
    +
    + +
    +

    RANT

    +

    WHY IS INSTALLING PACKAGES FAIL???

    +
    + # A lot of things need yaml, be conservative requiring this package to avoid
    + # conflicts with other modules.
    + if ! defined(Package['python-yaml']) {
    +   package { 'python-yaml':
    +     ensure => "present",
    + }
    +
    + 
    +

    Perhaps package commands should be fundamental units, and should create an idempotent package installation set. You know, kinda like how apt and yum already work?

    +
    + +
    +

    Shameless Plug

    +
      +
    • I'm hiring
    • +
    +
    + +
    +

    And then there were more

    +

    Now we have ... +

      +
    • 5 or 6 servers
    • +
    • 10 static build slaves
    • +
    • Additional dynamic jenkins slaves for every build
    • +
    • So about 200 servers a day managed by puppet
    • +
    • Chatted with wikipedia about sharing work
    • +
    +
    + + +
    +

    Usage Pattern 2

    +
      +
    • classes with secrets parameterized
    • +
    • puppetmaster + heira
    • +
    • git pull on master in cron
    • +
    • start using forge modules
    • +
    • puppet dashboard for monitoring
    • +
    +
    + +
    +

    heira

    +
    +node 'wiki.openstack.org' {
    +  class { 'openstack_project::wiki':
    +    mysql_root_password => hiera('wiki_db_password'),
    +    sysadmins           => hiera('sysadmins'),
    +  }  
    +}
    +
    +
    + +
    +

    forge modules

    +
      +
    • Started splitting out our modules for upload
    • +
    • Started using modules from forge
    • +
    +
    + +
    +

    RANT

    +

    WHY IS INSTALLING PACKAGES FAIL???

    +
    +# Array of modules to be installed key:value is module:version.
    + declare -A MODULES
    + MODULES["openstackci-dashboard"]="0.0.4"
    + MODULES["openstackci-vcsrepo"]="0.0.6"
    + MODULES["puppetlabs-apache"]="0.0.4"
    + MODULES["puppetlabs-apt"]="0.0.4"
    + MODULES["puppetlabs-mysql"]="0.5.0"
    + MODULES["saz-memcached"]="2.0.2"
    +
    +for MOD in ${!MODULES[*]} ; do
    +  # If the module at the current version does not exist upgrade or install it.
    +  if ! echo $MODULE_LIST | grep "$MOD.*${MODULES[$MOD]}" >dev/null 2>&1
    +  then
    +    # Attempt module upgrade. If that fails try installing the module.
    +    if ! puppet module upgrade $MOD --version ${MODULES[$MOD]} >dev/null 2>&1
    +    then
    +      # This will get run in cron, so silence non-error output
    +      puppet module install $MOD --version ${MODULES[$MOD]} >dev/null
    +    fi
    +  fi
    +done
    + 
    +
    + +
    +

    RANT

    +

    WHY IS INSTALLING PACKAGES FAIL???

    +
      +
    • puppet module install should be idempotent
    • +
    • puppet module install should work in a git dir - OR
    • +
    • source-level clone of a module repo into modules tree should work
    • +
    +
    + +
    +

    Shameless Plug

    +
      +
    • I'm hiring
    • +
    +
    + +
    +

    dashboard

    +
    +node 'puppet-dashboard.openstack.org' {
    +  class { 'openstack_project::dashboard':
    +    password => hiera('dashboard_password'),
    +    mysql_password => hiera('dashboard_mysql_password'),
    +    sysadmins => hiera('sysadmins'),
    +  }
    +}
    +
    +
      +
    • http://puppet-dashboard.openstack.org:3000/
    • +
    • Why does this not support SSL submission by default?
    • +
    • Notice oneiric.slave.openstack.org and precise.slave.openstack.org
    • +
    +
    + +
    +

    build slaves

    +
      +
    • Hundreds of them, created and destroyed daily
    • +
    • Essentially the same
    • +
    • All share a cert
    • +
    • Dashboard finds this confusing - I don't care
    • +
    +
    + +
    +

    What next?/Usage Pattern 3

    +
      +
    • Add unittesting to our modules (oops)
    • +
    • More importantly - add real testing to our manifest
    • +
      • +
      • Make manifest that installs all of our modules single server
      • +
      • Per-commit pre-merge, spin up machine, run manifest, test
      • +
    • +
    +
    + +
    +

    Development / Contributing

    + + + +
    + +
    +

    Thanks!

    + +

    + +

    +These slides available at: https://github.com/openstack-ci/publications +

    + +
    + + diff --git a/jenkins/Overview.html b/jenkins/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/jenkins/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/jenkins/Overview.xhtml b/jenkins/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/jenkins/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/jenkins/blank.html b/jenkins/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/jenkins/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/jenkins/graphics/bullet-fold-dim.gif b/jenkins/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/jenkins/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-fold-dim.png b/jenkins/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/jenkins/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/jenkins/graphics/bullet-fold.gif b/jenkins/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/jenkins/graphics/bullet-fold.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-fold.png b/jenkins/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/jenkins/graphics/bullet-fold.png and /dev/null differ diff --git a/jenkins/graphics/bullet-nofold-dim.gif b/jenkins/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/jenkins/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-nofold-dim.png b/jenkins/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/jenkins/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/jenkins/graphics/bullet-nofold.gif b/jenkins/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/jenkins/graphics/bullet-nofold.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-nofold.png b/jenkins/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/jenkins/graphics/bullet-nofold.png and /dev/null differ diff --git a/jenkins/graphics/bullet-unfold-dim.gif b/jenkins/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/jenkins/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-unfold-dim.png b/jenkins/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/jenkins/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/jenkins/graphics/bullet-unfold.gif b/jenkins/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/jenkins/graphics/bullet-unfold.gif and /dev/null differ diff --git a/jenkins/graphics/bullet-unfold.png b/jenkins/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/jenkins/graphics/bullet-unfold.png and /dev/null differ diff --git a/jenkins/graphics/bullet.png b/jenkins/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/jenkins/graphics/bullet.png and /dev/null differ diff --git a/jenkins/graphics/example.png b/jenkins/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/jenkins/graphics/example.png and /dev/null differ diff --git a/jenkins/graphics/example.svg b/jenkins/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/jenkins/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jenkins/graphics/face1.gif b/jenkins/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/jenkins/graphics/face1.gif and /dev/null differ diff --git a/jenkins/graphics/face2.gif b/jenkins/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/jenkins/graphics/face2.gif and /dev/null differ diff --git a/jenkins/graphics/face3.gif b/jenkins/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/jenkins/graphics/face3.gif and /dev/null differ diff --git a/jenkins/graphics/face4.gif b/jenkins/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/jenkins/graphics/face4.gif and /dev/null differ diff --git a/jenkins/graphics/fold-bright.gif b/jenkins/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/jenkins/graphics/fold-bright.gif and /dev/null differ diff --git a/jenkins/graphics/fold-dim.bmp b/jenkins/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/jenkins/graphics/fold-dim.bmp and /dev/null differ diff --git a/jenkins/graphics/fold-dim.gif b/jenkins/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/jenkins/graphics/fold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/fold.bmp b/jenkins/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/jenkins/graphics/fold.bmp and /dev/null differ diff --git a/jenkins/graphics/fold.gif b/jenkins/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/jenkins/graphics/fold.gif and /dev/null differ diff --git a/jenkins/graphics/icon-blue.png b/jenkins/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/jenkins/graphics/icon-blue.png and /dev/null differ diff --git a/jenkins/graphics/keys2.jpg b/jenkins/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/jenkins/graphics/keys2.jpg and /dev/null differ diff --git a/jenkins/graphics/nofold-dim.bmp b/jenkins/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/jenkins/graphics/nofold-dim.bmp and /dev/null differ diff --git a/jenkins/graphics/nofold-dim.gif b/jenkins/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/jenkins/graphics/nofold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/nofold.bmp b/jenkins/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/jenkins/graphics/nofold.bmp and /dev/null differ diff --git a/jenkins/graphics/open-stack-cloud-computing-logo-2.png b/jenkins/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/jenkins/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/jenkins/graphics/openstack-cloud-software-vertical-large.png b/jenkins/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/jenkins/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/jenkins/graphics/unfold-bright.gif b/jenkins/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/jenkins/graphics/unfold-bright.gif and /dev/null differ diff --git a/jenkins/graphics/unfold-dim.bmp b/jenkins/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/jenkins/graphics/unfold-dim.bmp and /dev/null differ diff --git a/jenkins/graphics/unfold-dim.gif b/jenkins/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/jenkins/graphics/unfold-dim.gif and /dev/null differ diff --git a/jenkins/graphics/unfold.bmp b/jenkins/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/jenkins/graphics/unfold.bmp and /dev/null differ diff --git a/jenkins/graphics/unfold.gif b/jenkins/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/jenkins/graphics/unfold.gif and /dev/null differ diff --git a/jenkins/graphics/w3c-logo-blue.gif b/jenkins/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/jenkins/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/jenkins/graphics/w3c-logo-blue.svg b/jenkins/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/jenkins/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/jenkins/graphics/w3c-logo-slanted.jpg b/jenkins/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/jenkins/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/jenkins/graphics/w3c-logo-white.gif b/jenkins/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/jenkins/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/jenkins/graphics/w3c-logo-white.svg b/jenkins/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/jenkins/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/jenkins/help/.htaccess b/jenkins/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/jenkins/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/jenkins/help/help.html b/jenkins/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/jenkins/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/jenkins/help/help.html.ca b/jenkins/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/jenkins/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/jenkins/help/help.html.de b/jenkins/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/jenkins/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/jenkins/help/help.html.en b/jenkins/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/jenkins/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/jenkins/help/help.html.es b/jenkins/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/jenkins/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/jenkins/help/help.html.fr b/jenkins/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/jenkins/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/jenkins/help/help.html.hu b/jenkins/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/jenkins/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/jenkins/help/help.html.nl b/jenkins/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/jenkins/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/jenkins/help/help.html.pl b/jenkins/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/jenkins/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/jenkins/help/help.html.pt-br b/jenkins/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/jenkins/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/jenkins/help/help.html.pt_br b/jenkins/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/jenkins/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/jenkins/help/help.html.sv b/jenkins/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/jenkins/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/jenkins/help/help.pt-br.html b/jenkins/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/jenkins/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/jenkins/images/OpenStackLogo_wTag.png b/jenkins/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/jenkins/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/jenkins/images/jenkins-gate.png b/jenkins/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/jenkins/images/jenkins-gate.png and /dev/null differ diff --git a/jenkins/images/stack-o-pancakes-150x150.png b/jenkins/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/jenkins/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/jenkins/index.html b/jenkins/index.html deleted file mode 100644 index 125cf94..0000000 --- a/jenkins/index.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - -Scaling OpenStack Development with Git, Gerrit, and Jenkins - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Scaling OpenStack Development with Git, Gerrit, and Jenkins

    -Monty Taylor -<mordred@inaugust.com>
    -James E. Blair -<corvus@inaugust.com>
    - -
    - -
    -

    Systems

    -
      -
    • https://jenkins.openstack.org
    • -
    • https://review.openstack.org
    • -
    • http://ci.openstack.org (docs)
    • -
    • https://jenkins.stackforge.org
    • -
    - -
    -

    Projects

    - -
      -
    • nova (compute)
    • -
    • swift (object storge)
    • -
    • glance (image service)
    • -
    • keystone (identity service)
    • -
    • quantum (network service)
    • -
    • horizon (dashboard)
    • -
    • cinder (volume service)
    • -
    • python-novaclient
    • -
    • python-swiftclient
    • -
    • python-glanceclient
    • -
    • python-keystoneclient
    • -
    • python-quantumclient
    • -
    • python-cinderclient
    • -
    • python-openstackclient
    • -
    -
    -
    - - -
    -

    Contributors

    -
      -
    • Individual Contributors
    • -
    • Commercial Entities
    • -
    • Number, quality, and area of contributions can change daily
    • -
    -
    - -
    -

    Release Management

    -
      -
    • Time Based Releases
    • -
    • Six Month Cadence
        -
      • Tied to Ubuntu Releases
      • -
    • Design summits each cycle
    • -
    • Continuously Open Trunk
        -
      • Develop directly on master
      • -
    • One Month Milestone Releases
    • -
    • Post-release Stable Branches
    • -
    -
    - -
    -

    Vision

    -
      -
    • Consistent Tooling
    • -
    • Consistent Process
    • -
    • Consistent Product
    • -
    • Multiplier Effect
    • -
    -
    - -
    -

    Consistent Tooling

    -
      -
    • Minimize meta-development
    • -
    • Process divergence == wasted developer time
    • -
    • Lowers onboarding time
    • -
    • Consolidate tool development
    • -
    • Minimize project-specific weird build crud
    • -
    -
    - -
    -

    Development Infrastructure Systems

    - -
    - -
    -

    Environment

    -
      -
    • Ubuntu
    • -
    • Python
        -
      • pep8 standards
      • -
      • openstack.common
      • -
    • virtualenv/pip
    • -
    • IRC (#openstack-dev, #openstack-meeting)
    • -
    • devstack
    • -
    • gated trunk based on master
    • -
    -
    - - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Process Flow

    -
      -
    • Code is written and locally tested in a virtualenv
    • -
    • Code is submitted for code review to gerrit
    • -
    • Code is run through patch-uploaded automated checks
    • -
    • Code is peer-reviewed
    • -
    • Code is accepted or rejected by core team
    • -
    • Code is run through pre-merge automated checks
    • -
    • Code is merged or rejected
    • -
    • Code is run through post-merge automated checks
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    -

    Pre-merge Check

    - -
    - -
    -

    States of a Patch

    -
      -
    • Code Submitted
    • -
    • Code Verified
    • -
    • Code Reviewed
    • -
    • Code Accepted
    • -
    • Code Landed
    • -
    -
    - -
    -

    Approved Reviews

    - -
    - -
    -

    Types of Jenkins Gerrit Triggers

    -
      -
    • Patchset uploaded
    • -
    • Change merged
    • -
    • Comment added (review state)
    • -
    -
    - - -
    -

    Git Review

    -
      -
    • External Git subcommand
    • -
    • Developers can easily incorporate code review into git workflow
    • -
    • Zero-configuration
    • -
    • Can be used for any project, being adopted by other projects
    • -
    - -
    -corvus@shiprock:~/rs/github/quantum$ git commit -a
    -[new-versionpy ddf1dce] Base version.py on glance.
    - 3 files changed, 28 insertions(+), 107 deletions(-)
    - delete mode 100644 version.py
    -
    -corvus@shiprock:~/rs/github/quantum$ git review
    -remote: Resolving deltas:   0% (0/3)
    -remote: 
    -remote: New Changes:
    -remote:   https://review.openstack.org/3072
    -remote: 
    -To ssh://corvus@review.openstack.org:29418/openstack/quantum.git
    - * [new branch]      HEAD -> refs/for/master/bug/916018
    -
    - -
    - -
    -

    Types of Tests

    - - -
      -
    • Unit tests
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Difficult or impossible for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Specific Challenges/Solutions

    - -
      -
    • Testing effect of merging change
    • -
    • Using cloud builders
    • -
    • Large numbers of similar projects
    • -
    • Disparate hardware configurations
    • -
    - -
    - -
    -

    gerrit git prep

    -
      -
    • test the result of the change, not the change
    • -
    • https://github.com/openstack/openstack-ci-puppet/blob/master/modules/jenkins_slave/files/slave_scripts/gerrit-git-prep.sh
    • -
    • For each gerrit change: -
        -
      • grabs target branch
      • -
      • cleans tree
      • -
      • merges change to be tested
      • -
      -
    • -
    -
    - -
    -

    Interrelated integration testing

    -
      -
    • devstack-gate -
        -
      • spin up fresh node
      • -
      • run devstack
      • -
      • run integration tests
      • -
      -
    • Gate proposed change against current state of other projects
    • -
    -
    - -
    -

    bottlenecking

    -
      -
    • Serialize branches across all projects
    • -
    • optimistic branch prediction
    • -
    • Run in parallel in order triggered
    • -
    • Assume success
    • -
    • Start over on failure
    • -
    -
    - -
    -

    devstack-gate problems

    -
      -
    • Clouds suck
    • -
    • github sucks
    • -
    • pypi sucks
    • -
    • Ubuntu sucks
    • -
    • ALL NETWORK ACCESS IS FAILURE
    • -
    -
    - -
    -

    devstack-gate solutions

    -
      -
    • Create a new node
    • -
    • pre-fetch all needed packages, repos
    • -
    • snapshot to cloud image
    • -
    • maintain a pool of cloud nodes
    • -
    • slave can only be used for one test run
    • -
    • set of python and shell scripts triggered by jenkins
    • -
    -
    - -
    -

    jclouds-plugin

    -
      -
    • ec2 plugin useless to me (sorry)
    • -
    • Adrian Cole and Cloudsoft wrote jclouds-plugin
    • -
    • Provisions on any provider via jclouds
    • -
    • Image pre-creation and pooling features
    • -
    • single use slaves
    • -
    • Slave provisioning as build step
    • -
    -
    - -
    -

    Templated jobs

    -
      -
    • TONS of consistent projects
    • -
    • Manage everything through git and code review
    • -
    • https://github.com/openstack/openstack-ci-puppet/tree/master/modules/jenkins_jobs
    • -
    • Manage jobs as yaml files in git
    • -
    • Jobs updated via Jenkins API
    • -
    • groupings of jobs supported "nova: python_jobs"
    • -
    -
    - -
    -

    Simple example

    -
    -project:
    -  template: 'python_jobs'
    -
    -values:
    -  name: 'python-novaclient'
    -  site: 'openstack'
    -  disabled: 'false'
    -
    -
    - -
    -

    complex example

    -
    ----
    -modules:
    -  - properties
    -  - scm
    -  - assignednode
    -  - trigger_gerrit
    -  - builders
    -  - publisher_none
    -
    -main:
    -  name: 'gate-ceilometer-merge'
    -  site: 'stackforge'
    -  project: 'ceilometer'
    -  authenticatedBuild: 'true'
    -  disabled: 'false'
    -
    -trigger:
    -  triggerOnPatchsetUploadedEvent: 'false'
    -  triggerOnChangeMergedEvent: 'false'
    -  triggerOnCommentAddedEvent: 'true'
    -  triggerOnRefUpdatedEvent: 'false'
    -  triggerApprovalCategory: 'APRV'
    -  triggerApprovalValue: 1
    -  failureMessage: 'This change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.'
    -  projects:
    -    - projectCompareType: 'PLAIN'
    -      projectPattern: 'stackforge/ceilometer'
    -      branchCompareType: 'ANT'
    -      branchPattern: '**'
    -
    -builders:
    -  - gerrit_git_prep
    -
    -scm:
    -  scm: 'false'
    -
    -assignednode:
    -  node: 'oneiric'
    -
    -
    - -
    - - -
    -

    Scaling hardware needs

    - -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/jenkins/notes b/jenkins/notes deleted file mode 100644 index 671429f..0000000 --- a/jenkins/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/jenkins/scripts/.htaccess b/jenkins/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/jenkins/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/jenkins/scripts/slidy.js b/jenkins/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/jenkins/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/jenkins/scripts/slidy.js.gz b/jenkins/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/jenkins/scripts/slidy.js.gz and /dev/null differ diff --git a/jenkins/styles/.htaccess b/jenkins/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/jenkins/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/jenkins/styles/openstack.css b/jenkins/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/jenkins/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/jenkins/styles/slidy.css b/jenkins/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/jenkins/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/jenkins/styles/w3c-blue.css b/jenkins/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/jenkins/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca/Overview.html b/lca/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/lca/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca/Overview.xhtml b/lca/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/lca/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca/blank.html b/lca/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/lca/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/lca/graphics/bullet-fold-dim.gif b/lca/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/lca/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/lca/graphics/bullet-fold-dim.png b/lca/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/lca/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/lca/graphics/bullet-fold.gif b/lca/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/lca/graphics/bullet-fold.gif and /dev/null differ diff --git a/lca/graphics/bullet-fold.png b/lca/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/lca/graphics/bullet-fold.png and /dev/null differ diff --git a/lca/graphics/bullet-nofold-dim.gif b/lca/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/lca/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/lca/graphics/bullet-nofold-dim.png b/lca/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/lca/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/lca/graphics/bullet-nofold.gif b/lca/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/lca/graphics/bullet-nofold.gif and /dev/null differ diff --git a/lca/graphics/bullet-nofold.png b/lca/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/lca/graphics/bullet-nofold.png and /dev/null differ diff --git a/lca/graphics/bullet-unfold-dim.gif b/lca/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/lca/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/lca/graphics/bullet-unfold-dim.png b/lca/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/lca/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/lca/graphics/bullet-unfold.gif b/lca/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/lca/graphics/bullet-unfold.gif and /dev/null differ diff --git a/lca/graphics/bullet-unfold.png b/lca/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/lca/graphics/bullet-unfold.png and /dev/null differ diff --git a/lca/graphics/bullet.png b/lca/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/lca/graphics/bullet.png and /dev/null differ diff --git a/lca/graphics/example.png b/lca/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/lca/graphics/example.png and /dev/null differ diff --git a/lca/graphics/example.svg b/lca/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/lca/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lca/graphics/face1.gif b/lca/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/lca/graphics/face1.gif and /dev/null differ diff --git a/lca/graphics/face2.gif b/lca/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/lca/graphics/face2.gif and /dev/null differ diff --git a/lca/graphics/face3.gif b/lca/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/lca/graphics/face3.gif and /dev/null differ diff --git a/lca/graphics/face4.gif b/lca/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/lca/graphics/face4.gif and /dev/null differ diff --git a/lca/graphics/fold-bright.gif b/lca/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/lca/graphics/fold-bright.gif and /dev/null differ diff --git a/lca/graphics/fold-dim.bmp b/lca/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/lca/graphics/fold-dim.bmp and /dev/null differ diff --git a/lca/graphics/fold-dim.gif b/lca/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/lca/graphics/fold-dim.gif and /dev/null differ diff --git a/lca/graphics/fold.bmp b/lca/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/lca/graphics/fold.bmp and /dev/null differ diff --git a/lca/graphics/fold.gif b/lca/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/lca/graphics/fold.gif and /dev/null differ diff --git a/lca/graphics/icon-blue.png b/lca/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/lca/graphics/icon-blue.png and /dev/null differ diff --git a/lca/graphics/keys2.jpg b/lca/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/lca/graphics/keys2.jpg and /dev/null differ diff --git a/lca/graphics/nofold-dim.bmp b/lca/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/lca/graphics/nofold-dim.bmp and /dev/null differ diff --git a/lca/graphics/nofold-dim.gif b/lca/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/lca/graphics/nofold-dim.gif and /dev/null differ diff --git a/lca/graphics/nofold.bmp b/lca/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/lca/graphics/nofold.bmp and /dev/null differ diff --git a/lca/graphics/open-stack-cloud-computing-logo-2.png b/lca/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/lca/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/lca/graphics/openstack-cloud-software-vertical-large.png b/lca/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/lca/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/lca/graphics/unfold-bright.gif b/lca/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/lca/graphics/unfold-bright.gif and /dev/null differ diff --git a/lca/graphics/unfold-dim.bmp b/lca/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/lca/graphics/unfold-dim.bmp and /dev/null differ diff --git a/lca/graphics/unfold-dim.gif b/lca/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/lca/graphics/unfold-dim.gif and /dev/null differ diff --git a/lca/graphics/unfold.bmp b/lca/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/lca/graphics/unfold.bmp and /dev/null differ diff --git a/lca/graphics/unfold.gif b/lca/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/lca/graphics/unfold.gif and /dev/null differ diff --git a/lca/graphics/w3c-logo-blue.gif b/lca/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/lca/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/lca/graphics/w3c-logo-blue.svg b/lca/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/lca/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca/graphics/w3c-logo-slanted.jpg b/lca/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/lca/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/lca/graphics/w3c-logo-white.gif b/lca/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/lca/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/lca/graphics/w3c-logo-white.svg b/lca/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/lca/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca/help/.htaccess b/lca/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca/help/help.html b/lca/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/lca/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/lca/help/help.html.ca b/lca/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/lca/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/lca/help/help.html.de b/lca/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/lca/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/lca/help/help.html.en b/lca/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/lca/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/lca/help/help.html.es b/lca/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/lca/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/lca/help/help.html.fr b/lca/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/lca/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/lca/help/help.html.hu b/lca/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/lca/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/lca/help/help.html.nl b/lca/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/lca/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/lca/help/help.html.pl b/lca/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/lca/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/lca/help/help.html.pt-br b/lca/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/lca/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca/help/help.html.pt_br b/lca/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/lca/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca/help/help.html.sv b/lca/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/lca/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/lca/help/help.pt-br.html b/lca/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/lca/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca/images/489px-MySQL.svg.png b/lca/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/lca/images/489px-MySQL.svg.png and /dev/null differ diff --git a/lca/images/Drizzle-med.png b/lca/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/lca/images/Drizzle-med.png and /dev/null differ diff --git a/lca/images/OpenStackLogo_wTag.png b/lca/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/lca/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/lca/images/gerrit-approved.png b/lca/images/gerrit-approved.png deleted file mode 100644 index c8ee832..0000000 Binary files a/lca/images/gerrit-approved.png and /dev/null differ diff --git a/lca/images/gerrit-bp-topic.png b/lca/images/gerrit-bp-topic.png deleted file mode 100644 index 51241ad..0000000 Binary files a/lca/images/gerrit-bp-topic.png and /dev/null differ diff --git a/lca/images/gerrit-bp.png b/lca/images/gerrit-bp.png deleted file mode 100644 index cdef419..0000000 Binary files a/lca/images/gerrit-bp.png and /dev/null differ diff --git a/lca/images/gerrit-bug.png b/lca/images/gerrit-bug.png deleted file mode 100644 index ab27fd9..0000000 Binary files a/lca/images/gerrit-bug.png and /dev/null differ diff --git a/lca/images/gerrit-jenkins.png b/lca/images/gerrit-jenkins.png deleted file mode 100644 index f9a08e7..0000000 Binary files a/lca/images/gerrit-jenkins.png and /dev/null differ diff --git a/lca/images/gerrit-sso.png b/lca/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/lca/images/gerrit-sso.png and /dev/null differ diff --git a/lca/images/gerrit-verify.png b/lca/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/lca/images/gerrit-verify.png and /dev/null differ diff --git a/lca/images/jenkins-gate.png b/lca/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/lca/images/jenkins-gate.png and /dev/null differ diff --git a/lca/images/lp-bp.png b/lca/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/lca/images/lp-bp.png and /dev/null differ diff --git a/lca/images/lp-bug.png b/lca/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/lca/images/lp-bug.png and /dev/null differ diff --git a/lca/images/lp-os-projects.png b/lca/images/lp-os-projects.png deleted file mode 100644 index 2ca1aad..0000000 Binary files a/lca/images/lp-os-projects.png and /dev/null differ diff --git a/lca/images/stack-o-pancakes-150x150.png b/lca/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/lca/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/lca/index.html b/lca/index.html deleted file mode 100644 index 465d967..0000000 --- a/lca/index.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - -OpenStack Project Continuous Integration and Launchpad - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Scaling OpenStack Development with Git, Gerrit, and Jenkins

    -

    -Monty Taylor -<mordred@inaugust.com>
    -James E. Blair -<corvus@inaugust.com>
    - -

    - -
    -

    Projects

    -
    - -
    -
    - -
    -

    Contributors

    -
      -
    • Individual Contributors
    • -
    • Commercial Entities
    • -
    • Number, quality, and area of contributions can change daily
    • -
    -
    - -
    -

    Release Management

    -
      -
    • Time Based Releases
    • -
    • Six Month Cadence
        -
      • Tied to Ubuntu Releases
      • -
    • Design summits each cycle
    • -
    • Continuously Open Trunk
        -
      • Develop directly on master
      • -
    • One Month Milestone Releases
    • -
    • Post-release Stable Branches
    • -
    -
    - -
    -

    Vision

    -
      -
    • Consistent Tooling
    • -
    • Consistent Process
    • -
    • Consistent Product
    • -
    • Multiplier Effect
    • -
    -
    - -
    -

    Consistent Tooling

    -
      -
    • Minimize meta-development
    • -
    • Process divergence == wasted developer time
    • -
    • Lowers onboarding time
    • -
    • Consolidate tool development
    • -
    • Minimize project-specific weird build crud
    • -
    -
    - -
    -

    Development Infrastructure Systems

    - -
    - -
    -

    Environment

    -
      -
    • Ubuntu
    • -
    • Python
        -
      • pep8 standards
      • -
      • openstack.common
      • -
    • virtualenv/pip
    • -
    • IRC (#openstack-dev, #openstack-meeting)
    • -
    • devstack
    • -
    • gated trunk based on master
    • -
    -
    - - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Process Flow

    -
      -
    • Code is written and locally tested in a virtualenv
    • -
    • Code is submitted for code review to gerrit
    • -
    • Code is peer-reviewed
    • -
    • Code is accepted or rejected by core team
    • -
    • Code is run through pre-merge automated checks
    • -
    • Code is merged or rejected
    • -
    • Code is run through post-merge automated checks
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    -

    Pre-merge Check

    - -
    - -
    -

    Approved Reviews

    - -
    - -
    -

    Types of Jenkins Gerrit Triggers

    -
      -
    • Patchset uploaded
    • -
    • Change merged
    • -
    • Comment added (review state)
    • -
    -
    - -
    -

    OpenID SSO Integration

    - -
    - -
    -

    Bug Integration - Gerrit

    - -
    - -
    -

    Bug Integration - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit

    - -
    - -
    -

    Blueprints - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit Topics

    - -
    - -
    -

    Git Review

    -
      -
    • External Git subcommand
    • -
    • Developers can easily incorporate code review into git workflow
    • -
    • Zero-configuration
    • -
    • Can be used for any project, being adopted by other projects
    • -
    - -
    -corvus@shiprock:~/rs/github/quantum$ git commit -a
    -[new-versionpy ddf1dce] Base version.py on glance.
    - 3 files changed, 28 insertions(+), 107 deletions(-)
    - delete mode 100644 version.py
    -
    -corvus@shiprock:~/rs/github/quantum$ git review
    -remote: Resolving deltas:   0% (0/3)
    -remote: 
    -remote: New Changes:
    -remote:   https://review.openstack.org/3072
    -remote: 
    -To ssh://corvus@review.openstack.org:29418/openstack/quantum.git
    - * [new branch]      HEAD -> refs/for/master/bug/916018
    -
    - -
    - -
    -

    Types of Tests

    - - -
      -
    • Unit tests
    • -
    • Functional tests -
        -
      • Can be run on real or virtual servers
      • -
      • Easy for developers to run
      • -
      -
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Difficult or impossible for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Integration Testing

    -
      -
    • Install and test code
    • -
    • Targets -
        -
      • Single cloud server
      • -
      • Multiple cloud servers
      • -
      • Bare metal machines -
          -
        • HP
        • -
        • Rackspace
        • -
        • Cisco
        • -
        • Citrix
        • -
      • -
    • Tests -
        -
      • tempest
      • -
      • bindings unittests (jclouds, libcloud, fog)
      • -
    • -
    -
    - -
    -

    Bare-metal Test process

    - -

    One time (Orchestra driven):

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack de -
    • Snapshot LVM volume
    • -
    -

    Each test:

    -
      -
    • Kexec boot into LVM snapshot -
    • Install OpenStack
    • -
    • Run test suite
    • -
    - -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/lca/notes b/lca/notes deleted file mode 100644 index 671429f..0000000 --- a/lca/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/lca/scripts/.htaccess b/lca/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca/scripts/slidy.js b/lca/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/lca/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/lca/scripts/slidy.js.gz b/lca/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/lca/scripts/slidy.js.gz and /dev/null differ diff --git a/lca/styles/.htaccess b/lca/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca/styles/openstack.css b/lca/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/lca/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca/styles/slidy.css b/lca/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/lca/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/lca/styles/w3c-blue.css b/lca/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/lca/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca2013-ci/Overview.html b/lca2013-ci/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/lca2013-ci/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca2013-ci/Overview.xhtml b/lca2013-ci/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/lca2013-ci/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca2013-ci/blank.html b/lca2013-ci/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/lca2013-ci/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/lca2013-ci/graphics/bullet-fold-dim.gif b/lca2013-ci/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/lca2013-ci/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-fold-dim.png b/lca2013-ci/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/lca2013-ci/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-fold.gif b/lca2013-ci/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/lca2013-ci/graphics/bullet-fold.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-fold.png b/lca2013-ci/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/lca2013-ci/graphics/bullet-fold.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-nofold-dim.gif b/lca2013-ci/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/lca2013-ci/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-nofold-dim.png b/lca2013-ci/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/lca2013-ci/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-nofold.gif b/lca2013-ci/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/lca2013-ci/graphics/bullet-nofold.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-nofold.png b/lca2013-ci/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/lca2013-ci/graphics/bullet-nofold.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-unfold-dim.gif b/lca2013-ci/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/lca2013-ci/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-unfold-dim.png b/lca2013-ci/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/lca2013-ci/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-unfold.gif b/lca2013-ci/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/lca2013-ci/graphics/bullet-unfold.gif and /dev/null differ diff --git a/lca2013-ci/graphics/bullet-unfold.png b/lca2013-ci/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/lca2013-ci/graphics/bullet-unfold.png and /dev/null differ diff --git a/lca2013-ci/graphics/bullet.png b/lca2013-ci/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/lca2013-ci/graphics/bullet.png and /dev/null differ diff --git a/lca2013-ci/graphics/example.png b/lca2013-ci/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/lca2013-ci/graphics/example.png and /dev/null differ diff --git a/lca2013-ci/graphics/example.svg b/lca2013-ci/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/lca2013-ci/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lca2013-ci/graphics/face1.gif b/lca2013-ci/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/lca2013-ci/graphics/face1.gif and /dev/null differ diff --git a/lca2013-ci/graphics/face2.gif b/lca2013-ci/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/lca2013-ci/graphics/face2.gif and /dev/null differ diff --git a/lca2013-ci/graphics/face3.gif b/lca2013-ci/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/lca2013-ci/graphics/face3.gif and /dev/null differ diff --git a/lca2013-ci/graphics/face4.gif b/lca2013-ci/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/lca2013-ci/graphics/face4.gif and /dev/null differ diff --git a/lca2013-ci/graphics/fold-bright.gif b/lca2013-ci/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/lca2013-ci/graphics/fold-bright.gif and /dev/null differ diff --git a/lca2013-ci/graphics/fold-dim.bmp b/lca2013-ci/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/lca2013-ci/graphics/fold-dim.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/fold-dim.gif b/lca2013-ci/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/lca2013-ci/graphics/fold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/fold.bmp b/lca2013-ci/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/lca2013-ci/graphics/fold.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/fold.gif b/lca2013-ci/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/lca2013-ci/graphics/fold.gif and /dev/null differ diff --git a/lca2013-ci/graphics/icon-blue.png b/lca2013-ci/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/lca2013-ci/graphics/icon-blue.png and /dev/null differ diff --git a/lca2013-ci/graphics/keys2.jpg b/lca2013-ci/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/lca2013-ci/graphics/keys2.jpg and /dev/null differ diff --git a/lca2013-ci/graphics/nofold-dim.bmp b/lca2013-ci/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/lca2013-ci/graphics/nofold-dim.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/nofold-dim.gif b/lca2013-ci/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/lca2013-ci/graphics/nofold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/nofold.bmp b/lca2013-ci/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/lca2013-ci/graphics/nofold.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/open-stack-cloud-computing-logo-2.png b/lca2013-ci/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/lca2013-ci/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/lca2013-ci/graphics/openstack-cloud-software-vertical-large.png b/lca2013-ci/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/lca2013-ci/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/lca2013-ci/graphics/unfold-bright.gif b/lca2013-ci/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/lca2013-ci/graphics/unfold-bright.gif and /dev/null differ diff --git a/lca2013-ci/graphics/unfold-dim.bmp b/lca2013-ci/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/lca2013-ci/graphics/unfold-dim.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/unfold-dim.gif b/lca2013-ci/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/lca2013-ci/graphics/unfold-dim.gif and /dev/null differ diff --git a/lca2013-ci/graphics/unfold.bmp b/lca2013-ci/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/lca2013-ci/graphics/unfold.bmp and /dev/null differ diff --git a/lca2013-ci/graphics/unfold.gif b/lca2013-ci/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/lca2013-ci/graphics/unfold.gif and /dev/null differ diff --git a/lca2013-ci/graphics/w3c-logo-blue.gif b/lca2013-ci/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/lca2013-ci/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/lca2013-ci/graphics/w3c-logo-blue.svg b/lca2013-ci/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/lca2013-ci/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca2013-ci/graphics/w3c-logo-slanted.jpg b/lca2013-ci/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/lca2013-ci/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/lca2013-ci/graphics/w3c-logo-white.gif b/lca2013-ci/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/lca2013-ci/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/lca2013-ci/graphics/w3c-logo-white.svg b/lca2013-ci/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/lca2013-ci/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca2013-ci/help/.htaccess b/lca2013-ci/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-ci/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-ci/help/help.html b/lca2013-ci/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/lca2013-ci/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/lca2013-ci/help/help.html.ca b/lca2013-ci/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/lca2013-ci/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.de b/lca2013-ci/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/lca2013-ci/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/lca2013-ci/help/help.html.en b/lca2013-ci/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/lca2013-ci/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.es b/lca2013-ci/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/lca2013-ci/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.fr b/lca2013-ci/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/lca2013-ci/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/lca2013-ci/help/help.html.hu b/lca2013-ci/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/lca2013-ci/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.nl b/lca2013-ci/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/lca2013-ci/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.pl b/lca2013-ci/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/lca2013-ci/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/lca2013-ci/help/help.html.pt-br b/lca2013-ci/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/lca2013-ci/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.pt_br b/lca2013-ci/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/lca2013-ci/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-ci/help/help.html.sv b/lca2013-ci/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/lca2013-ci/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/lca2013-ci/help/help.pt-br.html b/lca2013-ci/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/lca2013-ci/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-ci/images/OpenStackLogo_wTag.png b/lca2013-ci/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/lca2013-ci/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/lca2013-ci/index.html b/lca2013-ci/index.html deleted file mode 100644 index 6c31740..0000000 --- a/lca2013-ci/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - -OpenStack Project Continuous Integration - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    OpenStack Project Continuous Integration

    -

    -Monty Taylor -<mordred@inaugust.com>
    - -

    - - -
    -

    OpenStack CI

    -
      -
    • Run by OpenStack Infrastructure Team
    • -
    • OpenStack Infrastructure Team is an open team
    • -
    • OpenStack Infrastructure Team would love you to join
    • -
    • All repos are at: https://github.com/openstack-infra
    • -
    -
    - -
    -

    Scale

    -
      -
    • Over 500 Active Technical Contributors (and growing)
    • -
    • As many as 200 events an hour (and growing)
    • -
    • 18 (integarted) projects (and growing)
    • -
    -
    - -
    -

    Automation

    -
      - - -
    • Automate Away all non-creative tasks
    • -
    • Humans get repeatable processes wrong
    • -
    • We don't have enough humans
    • - -
    -
    - -
    -

    Following from that

    -
      - -
    • Consistency
    • -
    • Repeatability
    • -
    • Availability
    • - -
    -
    - -
    -

    Consistency

    -
      - -
    • To automate 18 projects, they need to act the same
    • -
    • Inteface for devs for 18 projects needs to be the same
    • - -
    -
    - -
    -

    Repeatability

    -
      - -
    • Everything must be able to run 500x a day without failing
    • -
    • Everything must be able to run 500x a day without failing
    • -
    • Everything must be able to run 500x a day without failing
    • - -
    -
    - -
    -

    Availability

    -
      - -
    • Once everything is automated, the projects stops if the automation does
    • -
    • Access to manage needs to be egalitarian
    • -
    -
    - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Gating Implemenation

    -
      - -
    • Test everything we can on every commit before it lands
    • -
    • Test change when they are proposed
    • -
    • Peer Code review ALL changes
    • -
    • Test the resulting state of the tree before it becomes the resulting state
    • - - -
    -
    - -
    -

    Test Everything

    -
      - -
    • unittests
    • -
    • style tests
    • -
    • integration tests
    • - -
    -
    - -
    -

    Gating Impl

    -
      - -
    • Gerrit -
        -
      • Repos
      • -
      • Code Review
      • -
      • Event Stream -
      -
    • -
    • Zuul -
        -
      • Takes actions based on gerrit events
      • -
      -
    • -
    • Jenkins -
        -
      • Runs tests
      • -
      -
    • -
    • devstack-gate -
        -
      • Prepped pool of slaves
      • -
      -
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    - -
    -

    devstack-gate

    -
      - -
    • Clouds can't create machines consistently enough -
        -
      • Make a pool of test machines
      • -
    • -
    • Internet breaks often -
        -
      • Prefetch all network needs of devstack
      • -
    • -
    • configure, run, and test result of devstack -
        -
      • Install every service in openstack using devstack
      • -
      • Test result cloud using tempest
      • -
      • Change to a project is tested against tip of all others
      • -
    • -
    • Devstack does evil things to machines -
        -
      • Throw away machines after each test run
      • -
    • - -
    -
    - -
    -

    System Management

    -
      - -
    • Puppet
    • -
    • Jenkins Job Builder
    • -
    • jeepyb
    • - -
    -
    - -
    -

    jenkins-job-builder

    -
      - -
    • Availability of jenkins config to everyone
    • -
    • Set of yaml files describing our jenkins jobs
    • -
    • Macro-based for composition
    • -
    • yaml files are in gerrit
    • - -
    -
    - -
    -

    projects.yaml

    -
      - -
    • Availability of project config to everyone
    • -
    • Drives config of repos in gerrit and github and zuul
    • -
    • Drives pypi mirror
    • -
    • Source of info for pull request closer
    • - -
    -
    - -
    -

    pypi mirror

    -
      - -
    • Availability of pip commands
    • -
    • Common set of requirements
    • -
    • PyPI isn't available enough
    • -
    • pip download reqs for all projects in projects.yaml
    • -
    • turn download cache into static pypi mirror
    • - -
    -
    - -
    -

    Docmentation

    -
      - -
    • build sphinx docs on each commit
    • -
    • upload to openstack.org
    • -
    • optionally trigger rtfd
    • -
    • why not gate on it?
    • - -
    -
    - -
    -

    Translations

    -
      - -
    • apparently some people don't speak english
    • -
    • transifex for translations management
    • -
    • On each commit to trunk, upload latest strings to transifex
    • -
    • Periodicly, fetch translated strings from transifex and propose change to gerrit
    • - -
    -
    - -
    -

    Tag Based Releasing

    -
      - -
    • Triggered by git tag
    • -
    • If tag exists, that's the version
    • -
    • If tag doesn't, version is either: -
        -
      • $latesttag.$revcount.g$gitsha
      • -
      • $versionarg.a$revcount.g$gitsha
      • -
    • -
    • On tag: -
        -
      • Upload sdist tarball to tarballs.o.o
      • -
      • If release tag (no letters) upload to pypi too
      • -
    • - -
    -
    - -
    -

    Things we're working on

    -
      - -
    • Jenkins Gearman Plugin
    • -
    • Upstream branch tracking
    • -
    • Logstash for devstack jobs
    • -
    -
    - -
    -

    Thanks!

    - -

    All repos are at: https://github.com/openstack-infra

    - -

    -These slides available at: https://openstack-ci.github.com/publications -

    - -
    - - - diff --git a/lca2013-ci/scripts/.htaccess b/lca2013-ci/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-ci/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-ci/scripts/slidy.js b/lca2013-ci/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/lca2013-ci/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/lca2013-ci/scripts/slidy.js.gz b/lca2013-ci/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/lca2013-ci/scripts/slidy.js.gz and /dev/null differ diff --git a/lca2013-ci/styles/.htaccess b/lca2013-ci/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-ci/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-ci/styles/openstack.css b/lca2013-ci/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/lca2013-ci/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca2013-ci/styles/slidy.css b/lca2013-ci/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/lca2013-ci/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/lca2013-ci/styles/w3c-blue.css b/lca2013-ci/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/lca2013-ci/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca2013-distros/Overview.html b/lca2013-distros/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/lca2013-distros/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca2013-distros/Overview.xhtml b/lca2013-distros/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/lca2013-distros/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lca2013-distros/blank.html b/lca2013-distros/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/lca2013-distros/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/lca2013-distros/graphics/bullet-fold-dim.gif b/lca2013-distros/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/lca2013-distros/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-fold-dim.png b/lca2013-distros/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/lca2013-distros/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-fold.gif b/lca2013-distros/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/lca2013-distros/graphics/bullet-fold.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-fold.png b/lca2013-distros/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/lca2013-distros/graphics/bullet-fold.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-nofold-dim.gif b/lca2013-distros/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/lca2013-distros/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-nofold-dim.png b/lca2013-distros/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/lca2013-distros/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-nofold.gif b/lca2013-distros/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/lca2013-distros/graphics/bullet-nofold.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-nofold.png b/lca2013-distros/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/lca2013-distros/graphics/bullet-nofold.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-unfold-dim.gif b/lca2013-distros/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/lca2013-distros/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-unfold-dim.png b/lca2013-distros/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/lca2013-distros/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-unfold.gif b/lca2013-distros/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/lca2013-distros/graphics/bullet-unfold.gif and /dev/null differ diff --git a/lca2013-distros/graphics/bullet-unfold.png b/lca2013-distros/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/lca2013-distros/graphics/bullet-unfold.png and /dev/null differ diff --git a/lca2013-distros/graphics/bullet.png b/lca2013-distros/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/lca2013-distros/graphics/bullet.png and /dev/null differ diff --git a/lca2013-distros/graphics/example.png b/lca2013-distros/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/lca2013-distros/graphics/example.png and /dev/null differ diff --git a/lca2013-distros/graphics/example.svg b/lca2013-distros/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/lca2013-distros/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lca2013-distros/graphics/face1.gif b/lca2013-distros/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/lca2013-distros/graphics/face1.gif and /dev/null differ diff --git a/lca2013-distros/graphics/face2.gif b/lca2013-distros/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/lca2013-distros/graphics/face2.gif and /dev/null differ diff --git a/lca2013-distros/graphics/face3.gif b/lca2013-distros/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/lca2013-distros/graphics/face3.gif and /dev/null differ diff --git a/lca2013-distros/graphics/face4.gif b/lca2013-distros/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/lca2013-distros/graphics/face4.gif and /dev/null differ diff --git a/lca2013-distros/graphics/fold-bright.gif b/lca2013-distros/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/lca2013-distros/graphics/fold-bright.gif and /dev/null differ diff --git a/lca2013-distros/graphics/fold-dim.bmp b/lca2013-distros/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/lca2013-distros/graphics/fold-dim.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/fold-dim.gif b/lca2013-distros/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/lca2013-distros/graphics/fold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/fold.bmp b/lca2013-distros/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/lca2013-distros/graphics/fold.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/fold.gif b/lca2013-distros/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/lca2013-distros/graphics/fold.gif and /dev/null differ diff --git a/lca2013-distros/graphics/icon-blue.png b/lca2013-distros/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/lca2013-distros/graphics/icon-blue.png and /dev/null differ diff --git a/lca2013-distros/graphics/keys2.jpg b/lca2013-distros/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/lca2013-distros/graphics/keys2.jpg and /dev/null differ diff --git a/lca2013-distros/graphics/nofold-dim.bmp b/lca2013-distros/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/lca2013-distros/graphics/nofold-dim.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/nofold-dim.gif b/lca2013-distros/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/lca2013-distros/graphics/nofold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/nofold.bmp b/lca2013-distros/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/lca2013-distros/graphics/nofold.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/open-stack-cloud-computing-logo-2.png b/lca2013-distros/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/lca2013-distros/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/lca2013-distros/graphics/openstack-cloud-software-vertical-large.png b/lca2013-distros/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/lca2013-distros/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/lca2013-distros/graphics/unfold-bright.gif b/lca2013-distros/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/lca2013-distros/graphics/unfold-bright.gif and /dev/null differ diff --git a/lca2013-distros/graphics/unfold-dim.bmp b/lca2013-distros/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/lca2013-distros/graphics/unfold-dim.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/unfold-dim.gif b/lca2013-distros/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/lca2013-distros/graphics/unfold-dim.gif and /dev/null differ diff --git a/lca2013-distros/graphics/unfold.bmp b/lca2013-distros/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/lca2013-distros/graphics/unfold.bmp and /dev/null differ diff --git a/lca2013-distros/graphics/unfold.gif b/lca2013-distros/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/lca2013-distros/graphics/unfold.gif and /dev/null differ diff --git a/lca2013-distros/graphics/w3c-logo-blue.gif b/lca2013-distros/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/lca2013-distros/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/lca2013-distros/graphics/w3c-logo-blue.svg b/lca2013-distros/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/lca2013-distros/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca2013-distros/graphics/w3c-logo-slanted.jpg b/lca2013-distros/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/lca2013-distros/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/lca2013-distros/graphics/w3c-logo-white.gif b/lca2013-distros/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/lca2013-distros/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/lca2013-distros/graphics/w3c-logo-white.svg b/lca2013-distros/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/lca2013-distros/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lca2013-distros/help/.htaccess b/lca2013-distros/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-distros/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-distros/help/help.html b/lca2013-distros/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/lca2013-distros/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/lca2013-distros/help/help.html.ca b/lca2013-distros/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/lca2013-distros/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.de b/lca2013-distros/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/lca2013-distros/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/lca2013-distros/help/help.html.en b/lca2013-distros/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/lca2013-distros/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.es b/lca2013-distros/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/lca2013-distros/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.fr b/lca2013-distros/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/lca2013-distros/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/lca2013-distros/help/help.html.hu b/lca2013-distros/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/lca2013-distros/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.nl b/lca2013-distros/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/lca2013-distros/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.pl b/lca2013-distros/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/lca2013-distros/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/lca2013-distros/help/help.html.pt-br b/lca2013-distros/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/lca2013-distros/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.pt_br b/lca2013-distros/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/lca2013-distros/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-distros/help/help.html.sv b/lca2013-distros/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/lca2013-distros/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/lca2013-distros/help/help.pt-br.html b/lca2013-distros/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/lca2013-distros/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lca2013-distros/images/OpenStackLogo_wTag.png b/lca2013-distros/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/lca2013-distros/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/lca2013-distros/index.html b/lca2013-distros/index.html deleted file mode 100644 index 7782de7..0000000 --- a/lca2013-distros/index.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - -OpenStack and Linux Distros - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    OpenStack and Linux Distros

    -

    -Monty Taylor -<mordred@inaugust.com>
    - -

    - -
    -

    Whoami

    -
      -
    • OpenStack Infrastructure Team Founder
    • -
    • Foundation Board Member
    • -
    • Technical Committee Member
    • -
    • HP Cloud Services
    • -
    -
    - -
    -

    Disclaimer

    -
      -
    • Any views expressed in this talk are my own
    • -
    -
    - -
    -

    Overview

    -
      -
    • History
    • -
    • Lessons Learned
    • -
    • Upstreams
    • -
    -
    - -
    -

    OpenStack is cloud Software

    -
      -
    • Rackspace and NASA
    • -
    • ex-Ubuntu and ex-Drizzle
    • -
    -
    - -
    -

    Modeled after Ubuntu

    -
      -
    • 6 month cadence
    • -
    • tied to ubuntu release cadence
    • -
    • Design Summits
    • -
    • versioning scheme
    • -
    • bzr/launchpad
    • -
    • Gated Trunk from Drizzle
    • -
    -
    - -
    -

    Gating on Packaged Depends

    -
      -
    • "All project depends must be in Ubuntu"
    • -
    • Carried a depends PPA in Launchpad
    • -
    • Build slave ran "apt-get build-dep nova"
    • -
    • Ensured we wouldn't screw up Ubuntu
    • -
    • PPA for Nova and Swift
    • -
    -
    - -
    -

    Pain Points

    -
      -
    • Adding new depends == editing debian packaging
    • -
    • Duplication - depends already in tree
    • -
    • Carry backport patched depends (libvirt, eventlet)
    • -
    -
    - -
    -

    Time Passes

    -
      -
    • This lasted for a year
    • -
    • Ubuntu Dropped Eucalyptus for OpenStack
    • -
    -
    - -
    -

    Foreshaddowing

    -
      -
    • Stopped using packages on jenkins slaves
    • -
    • Depends use PyPI and virtualenv
    • -
    -
    - -
    -

    distro/upstream disconnect

    -
      -
    • Upstream cares about latest upstream on all stable OS releases
    • -
    • Distro cares about stable upstream on latest/pre-release OS
    • -
    -
    - -
    -

    Inciting Incident

    -
      -
    • Project moved to git
    • -
    • Started adding install-based integration testing
    • -
    -
    - -
    -

    Integration testing

    -
      -
    • Create package(s)
    • -
    • Spin up new machine
    • -
    • apt-get install packages
    • -
    • Test results
    • -
    -
    - -
    -

    Barriers

    -
      -
    • Using PPA - async
    • -
    • Packaging branches in bzr
    • -
    • Multi-release packaging patches
    • -
    -
    - -
    -

    The pitch

    -
      -
    • Move packaging branches to gerrit
    • -
    • Spin up our own apt repo
    • -
    • Build packages synchronously
    • -
    • Support multi-version releases
    • -
    -
    - -
    -

    A Phone Call

    -
      -
    • "Ubuntu just called us and screamed for an hour"
    • -
    -
    - -
    -

    UDS Essex

    -
      -
    • Ubuntu and Redhat requested we stop making packages
    • -
    • Rackspace released devstack
    • -
    -
    - -
    -

    Lessons Learned

    -
      -
    • Be The Best Upstream First
    • -
    • Make actual releases
    • -
    -
    - -
    -

    Interesting developments

    -
      -
    • RedHat has shown up with tons of devs
    • -
    • Ubuntu does CI testing of OpenStack on their own
    • -
    • We've dropped debian-based pre-versioning
    • -
    • We're adding RHEL testing support with RedHat's help
    • -
    • Talk to lifeless about diskimage-builder and TripleO
    • - -
    -
    - -
    -

    The Upstream Viewpoint

    -
      -
    • Upstreams care about latest upstream version on stable distro
    • -
    • So do users
    • - -
    -
    - -
    -

    Ubuntu Cloud Archive

    -
      -
    • Canonical/Ubuntu providing an APT repo that has backported OpenStack
    • -
    • Those pesky matrixes of support really are hard!
    • - -
    -
    - -
    -

    Each App is a Distro

    -
      -
    • OpenStack release are de facto distros
    • -
    • Each depenednet library is a part of OpenStack
    • -
    • Upstream releases of libraries also need testing
    • - -
    -
    - -
    -

    Language packaging centric views

    -
      -
    • Python - PyPI/pip
    • -
    • Java - maven
    • -
    • Ruby - gem
    • -
    • Perl - CPAN
    • - -
    -
    - -
    -

    Images

    -
      -
    • TripleO team is investigating images-as-app-delivery
    • -
    • EC2 VAR ecosystem has been doing this for years
    • -
    • What does this mean for distros?
    • - -
    -
    - -
    -

    Distro as core

    -
      -
    • What if the Distro was only there for core things?
    • -
    • What if Distro packaging focused on C/C++?
    • -
    • What if Distro packaging played nice with python/perl/java/ruby?
    • -
    • What if apps on distros ran in their own container/VM?
    • - -
    -
    - -
    -

    Thanks!

    - -

    All repos are at: https://github.com/openstack-infra

    - -

    -These slides available at: https://openstack-ci.github.com/publications -

    - -
    - - - diff --git a/lca2013-distros/scripts/.htaccess b/lca2013-distros/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-distros/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-distros/scripts/slidy.js b/lca2013-distros/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/lca2013-distros/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/lca2013-distros/scripts/slidy.js.gz b/lca2013-distros/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/lca2013-distros/scripts/slidy.js.gz and /dev/null differ diff --git a/lca2013-distros/styles/.htaccess b/lca2013-distros/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lca2013-distros/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lca2013-distros/styles/openstack.css b/lca2013-distros/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/lca2013-distros/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lca2013-distros/styles/slidy.css b/lca2013-distros/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/lca2013-distros/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/lca2013-distros/styles/w3c-blue.css b/lca2013-distros/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/lca2013-distros/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lcb-bare-metal/Overview.html b/lcb-bare-metal/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/lcb-bare-metal/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lcb-bare-metal/Overview.xhtml b/lcb-bare-metal/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/lcb-bare-metal/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/lcb-bare-metal/blank.html b/lcb-bare-metal/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/lcb-bare-metal/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/lcb-bare-metal/graphics/bullet-fold-dim.gif b/lcb-bare-metal/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/lcb-bare-metal/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-fold-dim.png b/lcb-bare-metal/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/lcb-bare-metal/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-fold.gif b/lcb-bare-metal/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/lcb-bare-metal/graphics/bullet-fold.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-fold.png b/lcb-bare-metal/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/lcb-bare-metal/graphics/bullet-fold.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-nofold-dim.gif b/lcb-bare-metal/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/lcb-bare-metal/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-nofold-dim.png b/lcb-bare-metal/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/lcb-bare-metal/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-nofold.gif b/lcb-bare-metal/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/lcb-bare-metal/graphics/bullet-nofold.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-nofold.png b/lcb-bare-metal/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/lcb-bare-metal/graphics/bullet-nofold.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-unfold-dim.gif b/lcb-bare-metal/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/lcb-bare-metal/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-unfold-dim.png b/lcb-bare-metal/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/lcb-bare-metal/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-unfold.gif b/lcb-bare-metal/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/lcb-bare-metal/graphics/bullet-unfold.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet-unfold.png b/lcb-bare-metal/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/lcb-bare-metal/graphics/bullet-unfold.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/bullet.png b/lcb-bare-metal/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/lcb-bare-metal/graphics/bullet.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/example.png b/lcb-bare-metal/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/lcb-bare-metal/graphics/example.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/example.svg b/lcb-bare-metal/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/lcb-bare-metal/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lcb-bare-metal/graphics/face1.gif b/lcb-bare-metal/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/lcb-bare-metal/graphics/face1.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/face2.gif b/lcb-bare-metal/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/lcb-bare-metal/graphics/face2.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/face3.gif b/lcb-bare-metal/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/lcb-bare-metal/graphics/face3.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/face4.gif b/lcb-bare-metal/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/lcb-bare-metal/graphics/face4.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/fold-bright.gif b/lcb-bare-metal/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/lcb-bare-metal/graphics/fold-bright.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/fold-dim.bmp b/lcb-bare-metal/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/lcb-bare-metal/graphics/fold-dim.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/fold-dim.gif b/lcb-bare-metal/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/lcb-bare-metal/graphics/fold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/fold.bmp b/lcb-bare-metal/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/lcb-bare-metal/graphics/fold.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/fold.gif b/lcb-bare-metal/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/lcb-bare-metal/graphics/fold.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/icon-blue.png b/lcb-bare-metal/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/lcb-bare-metal/graphics/icon-blue.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/keys2.jpg b/lcb-bare-metal/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/lcb-bare-metal/graphics/keys2.jpg and /dev/null differ diff --git a/lcb-bare-metal/graphics/nofold-dim.bmp b/lcb-bare-metal/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/lcb-bare-metal/graphics/nofold-dim.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/nofold-dim.gif b/lcb-bare-metal/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/lcb-bare-metal/graphics/nofold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/nofold.bmp b/lcb-bare-metal/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/lcb-bare-metal/graphics/nofold.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/open-stack-cloud-computing-logo-2.png b/lcb-bare-metal/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/lcb-bare-metal/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/openstack-cloud-software-vertical-large.png b/lcb-bare-metal/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/lcb-bare-metal/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/lcb-bare-metal/graphics/unfold-bright.gif b/lcb-bare-metal/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/lcb-bare-metal/graphics/unfold-bright.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/unfold-dim.bmp b/lcb-bare-metal/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/lcb-bare-metal/graphics/unfold-dim.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/unfold-dim.gif b/lcb-bare-metal/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/lcb-bare-metal/graphics/unfold-dim.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/unfold.bmp b/lcb-bare-metal/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/lcb-bare-metal/graphics/unfold.bmp and /dev/null differ diff --git a/lcb-bare-metal/graphics/unfold.gif b/lcb-bare-metal/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/lcb-bare-metal/graphics/unfold.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/w3c-logo-blue.gif b/lcb-bare-metal/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/lcb-bare-metal/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/w3c-logo-blue.svg b/lcb-bare-metal/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/lcb-bare-metal/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lcb-bare-metal/graphics/w3c-logo-slanted.jpg b/lcb-bare-metal/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/lcb-bare-metal/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/lcb-bare-metal/graphics/w3c-logo-white.gif b/lcb-bare-metal/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/lcb-bare-metal/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/lcb-bare-metal/graphics/w3c-logo-white.svg b/lcb-bare-metal/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/lcb-bare-metal/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/lcb-bare-metal/help/.htaccess b/lcb-bare-metal/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lcb-bare-metal/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lcb-bare-metal/help/help.html b/lcb-bare-metal/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/lcb-bare-metal/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/lcb-bare-metal/help/help.html.ca b/lcb-bare-metal/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/lcb-bare-metal/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.de b/lcb-bare-metal/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/lcb-bare-metal/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/lcb-bare-metal/help/help.html.en b/lcb-bare-metal/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/lcb-bare-metal/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.es b/lcb-bare-metal/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/lcb-bare-metal/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.fr b/lcb-bare-metal/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/lcb-bare-metal/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/lcb-bare-metal/help/help.html.hu b/lcb-bare-metal/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/lcb-bare-metal/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.nl b/lcb-bare-metal/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/lcb-bare-metal/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.pl b/lcb-bare-metal/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/lcb-bare-metal/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/lcb-bare-metal/help/help.html.pt-br b/lcb-bare-metal/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/lcb-bare-metal/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.pt_br b/lcb-bare-metal/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/lcb-bare-metal/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lcb-bare-metal/help/help.html.sv b/lcb-bare-metal/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/lcb-bare-metal/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/lcb-bare-metal/help/help.pt-br.html b/lcb-bare-metal/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/lcb-bare-metal/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/lcb-bare-metal/images/489px-MySQL.svg.png b/lcb-bare-metal/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/lcb-bare-metal/images/489px-MySQL.svg.png and /dev/null differ diff --git a/lcb-bare-metal/images/Drizzle-med.png b/lcb-bare-metal/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/lcb-bare-metal/images/Drizzle-med.png and /dev/null differ diff --git a/lcb-bare-metal/images/OpenStackLogo_wTag.png b/lcb-bare-metal/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/lcb-bare-metal/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-bp-topic.png b/lcb-bare-metal/images/gerrit-bp-topic.png deleted file mode 100644 index 51241ad..0000000 Binary files a/lcb-bare-metal/images/gerrit-bp-topic.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-bp.png b/lcb-bare-metal/images/gerrit-bp.png deleted file mode 100644 index cdef419..0000000 Binary files a/lcb-bare-metal/images/gerrit-bp.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-bug.png b/lcb-bare-metal/images/gerrit-bug.png deleted file mode 100644 index ab27fd9..0000000 Binary files a/lcb-bare-metal/images/gerrit-bug.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-jenkins.png b/lcb-bare-metal/images/gerrit-jenkins.png deleted file mode 100644 index f9a08e7..0000000 Binary files a/lcb-bare-metal/images/gerrit-jenkins.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-sso.png b/lcb-bare-metal/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/lcb-bare-metal/images/gerrit-sso.png and /dev/null differ diff --git a/lcb-bare-metal/images/gerrit-verify.png b/lcb-bare-metal/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/lcb-bare-metal/images/gerrit-verify.png and /dev/null differ diff --git a/lcb-bare-metal/images/jenkins-gate.png b/lcb-bare-metal/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/lcb-bare-metal/images/jenkins-gate.png and /dev/null differ diff --git a/lcb-bare-metal/images/lp-bp.png b/lcb-bare-metal/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/lcb-bare-metal/images/lp-bp.png and /dev/null differ diff --git a/lcb-bare-metal/images/lp-bug.png b/lcb-bare-metal/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/lcb-bare-metal/images/lp-bug.png and /dev/null differ diff --git a/lcb-bare-metal/images/stack-o-pancakes-150x150.png b/lcb-bare-metal/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/lcb-bare-metal/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/lcb-bare-metal/index.html b/lcb-bare-metal/index.html deleted file mode 100644 index 97ff998..0000000 --- a/lcb-bare-metal/index.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - -Deploying OpenStack on Bare Metal - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Deploying OpenStack on Bare Metal

    - -

    -Monty Taylor -<mordred@inaugust.com>
    - -

    - - - -
    -

    Simulated Devops

    - -
      -
    • Devops - devs and ops working together
    • -
    • OpenStack - abstract infrastructure code
    • -
    • Simulate a production deployment!
    • -
    -
    - -
    -

    Infrastructure Lineage

    -
      -
    • -
    • -
    • - -
    - -
    -

    OpenStack Gated Trunk

    - - - -
    - -
    -

    Types of Tests

    - - -
      -
    • Unit tests
    • -
    • Functional tests -
        -
      • Can be run on real or virtual servers
      • -
      • Easy for developers to run
      • -
      -
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Difficult or impossible for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Roadmap for automation

    -
      -
    • automated unittests done
    • -
    • devstack integration tests in cloud servers
    • -
    • single use bare metal integration tests
    • -
    • long running bare metal deployment for upgrade tests
    • -
    • long running deployment under load for upgrade tests
    • -
    -
    - -
    -

    Virtual Integration Tests

    -

    Devstack: https://github.com/openstack-dev/devstack

    -

    Easy for developers to recreate locally

    -

    On each commit:

    -
      -
    • Provision Cloud Server
    • -
    • Run devstack to install code
    • -
    • On success - delete server
    • -
    • On failure:
    • -
        -
      • Keep Server
      • -
      • Install developer's ssh key
      • -
      • Give the server to the developer for 24H
      • -
      -
    -
    - -
    -

    Simulated Production

    - -

    Great! Now how about a real deployment

    -
    - -
    -

    Bare Metal Process

    - -

    Each test:

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack
    • -
    • Run test suite
    • -
    -
    - -
    -

    Test Process Improved

    - -

    One time (Orchestra driven):

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack dependencies
    • -
    • Snapshot LVM volume
    • -
    -

    Each test:

    -
      -
    • Kexec boot into LVM snapshot
    • -
    • Install OpenStack
    • -
    • Run test suite
    • -
    - -
    - -
    -

    Cobbler

    -
      -
    • Written by RedHat
    • -
    • PXE/net-install
    • -
    • Pluggable power management support (impi, drac, ilo ...)
    • -
    • Manage dns/dhcp/tftp - or use others
    • -
    • Templated kickstart or preseed files
    • -
    -
    - -
    -

    Ubuntu Orchestra

    -
      -
    • cobbler
    • -
    • squid
    • -
    • dnsmasq
    • -
    • nagios
    • -
    • rsyslog
    • -
    • cloud-init
    • -
    -
    - -
    -

    Walkthrough

    -
      -
    • https://github.com/openstack/openstack-ci-puppet
    • -
    • https://github.com/openstack/openstack-ci-puppet/tree/master/modules/orchestra
    • -
    -
    - -
    -

    Install Orchestra

    -
      -
    • apt-get install ubuntu-orchestra-server ipmitool
    • -
    • (install will download ubuntu install images and import them)
    • -
    -
    - -
    -

    Configure dnsmasq

    -
      -
    • Edit dhcp options in /etc/cobbler/dnsmasq.template
    • -
    • Add "dhcp-ignore=tag:!known"
    • -
    • Insert network range
    • -
    -
    - -
    -

    Cloud Init Script

    -
      -
    • Ubuntu Orchestra pre-seed files
    • -
    • In the preseed/late_command, use snippets
    • -
    • Run a cloud-init script to bootstrap puppet or chef
    • -
    -
    - -
    -

    Add Profile

    -
    -cobbler profile add \
    ---name=natty-x86_64-ostest \
    ---parent=natty-x86_64 \
    ---kickstart=/var/lib/cobbler/kickstarts/openstack.preseed \
    ---kopts="priority=critical locale=en_US"
    -
    -
    - -
    -

    Add machines manually

    -

    For each machine

    -
    -cobbler system add \
    ---name=baremetal1 \
    ---hostname=baremetal1 \
    ---profile=natty-x86_64-ostest \
    ---mac=00:11:22:33:44:55 \
    ---power-type=ipmitool \
    ---power-user=IPMI_USERNAME \
    ---power-pass=IPMI_PASS \
    ---power-address=IPMI_IP_ADDR \
    ---ip-address=SYSTEM_IP_ADDRESS \
    ---subnet=SYSTEM_SUBNET \
    ---kopts="netcfg/choose_interface=auto netcfg/dhcp_timeout=60 auto=true
    -priority=critical"
    -
    -
    - -
    -

    Adding systems automatically

    -

    cobbler-enlist

    -
    -d-i preseed/early_command string anna-install cobbler-enlist-udeb
    -d-i cobbler-enlist/cobbler-server-address http://IP/cobbler_api
    -d-i cobbler-enlist/cobbler-server-username cobbler
    -d-i cobbler-enlist/cobbler-server-password password
    -d-i cobbler-enlist/host-name some-host
    -d-i cobbler-enlist/host-profile 
    -d-i cobbler-enlist/warning-note note
    -
    -
    - -
    -

    Reinstall a machine

    -
    -cobbler sync
    -cobbler system edit --netboot-enabled=Y --name=baremetal1
    -cobbler system reboot --name=baremetal1
    -
    -
    - - -
    -

    Thanks!

    - -

    - -

    - - - diff --git a/lcb-bare-metal/notes b/lcb-bare-metal/notes deleted file mode 100644 index 0518442..0000000 --- a/lcb-bare-metal/notes +++ /dev/null @@ -1,92 +0,0 @@ -[title] - -My name is Monty. I'm going to talk about Bare Metal deployment of -OpenStack. - -What do I do? I run the developer infrastructure - - - - - - - - - - - - - - - - - -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/lcb-bare-metal/scripts/.htaccess b/lcb-bare-metal/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lcb-bare-metal/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lcb-bare-metal/scripts/slidy.js b/lcb-bare-metal/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/lcb-bare-metal/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/lcb-bare-metal/scripts/slidy.js.gz b/lcb-bare-metal/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/lcb-bare-metal/scripts/slidy.js.gz and /dev/null differ diff --git a/lcb-bare-metal/styles/.htaccess b/lcb-bare-metal/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/lcb-bare-metal/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/lcb-bare-metal/styles/openstack.css b/lcb-bare-metal/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/lcb-bare-metal/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/lcb-bare-metal/styles/slidy.css b/lcb-bare-metal/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/lcb-bare-metal/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/lcb-bare-metal/styles/w3c-blue.css b/lcb-bare-metal/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/lcb-bare-metal/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/puppetconf/notes b/notes similarity index 100% rename from puppetconf/notes rename to notes diff --git a/openstack.css b/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/overview/Overview.html b/overview/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/overview/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/overview/Overview.xhtml b/overview/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/overview/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/overview/blank.html b/overview/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/overview/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/overview/graphics/bullet-fold-dim.gif b/overview/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/overview/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/overview/graphics/bullet-fold-dim.png b/overview/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/overview/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/overview/graphics/bullet-fold.gif b/overview/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/overview/graphics/bullet-fold.gif and /dev/null differ diff --git a/overview/graphics/bullet-fold.png b/overview/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/overview/graphics/bullet-fold.png and /dev/null differ diff --git a/overview/graphics/bullet-nofold-dim.gif b/overview/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/overview/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/overview/graphics/bullet-nofold-dim.png b/overview/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/overview/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/overview/graphics/bullet-nofold.gif b/overview/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/overview/graphics/bullet-nofold.gif and /dev/null differ diff --git a/overview/graphics/bullet-nofold.png b/overview/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/overview/graphics/bullet-nofold.png and /dev/null differ diff --git a/overview/graphics/bullet-unfold-dim.gif b/overview/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/overview/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/overview/graphics/bullet-unfold-dim.png b/overview/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/overview/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/overview/graphics/bullet-unfold.gif b/overview/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/overview/graphics/bullet-unfold.gif and /dev/null differ diff --git a/overview/graphics/bullet-unfold.png b/overview/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/overview/graphics/bullet-unfold.png and /dev/null differ diff --git a/overview/graphics/bullet.png b/overview/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/overview/graphics/bullet.png and /dev/null differ diff --git a/overview/graphics/example.png b/overview/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/overview/graphics/example.png and /dev/null differ diff --git a/overview/graphics/example.svg b/overview/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/overview/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/overview/graphics/face1.gif b/overview/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/overview/graphics/face1.gif and /dev/null differ diff --git a/overview/graphics/face2.gif b/overview/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/overview/graphics/face2.gif and /dev/null differ diff --git a/overview/graphics/face3.gif b/overview/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/overview/graphics/face3.gif and /dev/null differ diff --git a/overview/graphics/face4.gif b/overview/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/overview/graphics/face4.gif and /dev/null differ diff --git a/overview/graphics/fold-bright.gif b/overview/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/overview/graphics/fold-bright.gif and /dev/null differ diff --git a/overview/graphics/fold-dim.bmp b/overview/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/overview/graphics/fold-dim.bmp and /dev/null differ diff --git a/overview/graphics/fold-dim.gif b/overview/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/overview/graphics/fold-dim.gif and /dev/null differ diff --git a/overview/graphics/fold.bmp b/overview/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/overview/graphics/fold.bmp and /dev/null differ diff --git a/overview/graphics/fold.gif b/overview/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/overview/graphics/fold.gif and /dev/null differ diff --git a/overview/graphics/icon-blue.png b/overview/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/overview/graphics/icon-blue.png and /dev/null differ diff --git a/overview/graphics/keys2.jpg b/overview/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/overview/graphics/keys2.jpg and /dev/null differ diff --git a/overview/graphics/nofold-dim.bmp b/overview/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/overview/graphics/nofold-dim.bmp and /dev/null differ diff --git a/overview/graphics/nofold-dim.gif b/overview/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/overview/graphics/nofold-dim.gif and /dev/null differ diff --git a/overview/graphics/nofold.bmp b/overview/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/overview/graphics/nofold.bmp and /dev/null differ diff --git a/overview/graphics/open-stack-cloud-computing-logo-2.png b/overview/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/overview/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/overview/graphics/openstack-cloud-software-vertical-large.png b/overview/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/overview/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/overview/graphics/unfold-bright.gif b/overview/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/overview/graphics/unfold-bright.gif and /dev/null differ diff --git a/overview/graphics/unfold-dim.bmp b/overview/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/overview/graphics/unfold-dim.bmp and /dev/null differ diff --git a/overview/graphics/unfold-dim.gif b/overview/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/overview/graphics/unfold-dim.gif and /dev/null differ diff --git a/overview/graphics/unfold.bmp b/overview/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/overview/graphics/unfold.bmp and /dev/null differ diff --git a/overview/graphics/unfold.gif b/overview/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/overview/graphics/unfold.gif and /dev/null differ diff --git a/overview/graphics/w3c-logo-blue.gif b/overview/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/overview/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/overview/graphics/w3c-logo-blue.svg b/overview/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/overview/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/overview/graphics/w3c-logo-slanted.jpg b/overview/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/overview/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/overview/graphics/w3c-logo-white.gif b/overview/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/overview/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/overview/graphics/w3c-logo-white.svg b/overview/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/overview/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/overview/help/.htaccess b/overview/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/overview/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/overview/help/help.html b/overview/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/overview/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/overview/help/help.html.ca b/overview/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/overview/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/overview/help/help.html.de b/overview/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/overview/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/overview/help/help.html.en b/overview/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/overview/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/overview/help/help.html.es b/overview/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/overview/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/overview/help/help.html.fr b/overview/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/overview/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/overview/help/help.html.hu b/overview/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/overview/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/overview/help/help.html.nl b/overview/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/overview/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/overview/help/help.html.pl b/overview/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/overview/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/overview/help/help.html.pt-br b/overview/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/overview/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/overview/help/help.html.pt_br b/overview/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/overview/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/overview/help/help.html.sv b/overview/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/overview/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/overview/help/help.pt-br.html b/overview/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/overview/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/overview/images/489px-MySQL.svg.png b/overview/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/overview/images/489px-MySQL.svg.png and /dev/null differ diff --git a/overview/images/Drizzle-med.png b/overview/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/overview/images/Drizzle-med.png and /dev/null differ diff --git a/overview/images/OpenStackLogo_wTag.png b/overview/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/overview/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/overview/images/gerrit-approved.png b/overview/images/gerrit-approved.png deleted file mode 100644 index 3a9be69..0000000 Binary files a/overview/images/gerrit-approved.png and /dev/null differ diff --git a/overview/images/gerrit-bp-topic.png b/overview/images/gerrit-bp-topic.png deleted file mode 100644 index 3aff374..0000000 Binary files a/overview/images/gerrit-bp-topic.png and /dev/null differ diff --git a/overview/images/gerrit-bp.png b/overview/images/gerrit-bp.png deleted file mode 100644 index 3b68ab6..0000000 Binary files a/overview/images/gerrit-bp.png and /dev/null differ diff --git a/overview/images/gerrit-bug.png b/overview/images/gerrit-bug.png deleted file mode 100644 index 0da23c8..0000000 Binary files a/overview/images/gerrit-bug.png and /dev/null differ diff --git a/overview/images/gerrit-jenkins.png b/overview/images/gerrit-jenkins.png deleted file mode 100644 index b8c6e5f..0000000 Binary files a/overview/images/gerrit-jenkins.png and /dev/null differ diff --git a/overview/images/gerrit-sso.png b/overview/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/overview/images/gerrit-sso.png and /dev/null differ diff --git a/overview/images/gerrit-verify.png b/overview/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/overview/images/gerrit-verify.png and /dev/null differ diff --git a/overview/images/jenkins-gate.png b/overview/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/overview/images/jenkins-gate.png and /dev/null differ diff --git a/overview/images/lp-bp.png b/overview/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/overview/images/lp-bp.png and /dev/null differ diff --git a/overview/images/lp-bug.png b/overview/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/overview/images/lp-bug.png and /dev/null differ diff --git a/overview/images/lp-os-projects.png b/overview/images/lp-os-projects.png deleted file mode 100644 index 2ca1aad..0000000 Binary files a/overview/images/lp-os-projects.png and /dev/null differ diff --git a/overview/images/stack-o-pancakes-150x150.png b/overview/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/overview/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/overview/index.html b/overview/index.html deleted file mode 100644 index 6e22569..0000000 --- a/overview/index.html +++ /dev/null @@ -1,914 +0,0 @@ - - - - - -Scaling OpenStack Development with Git, Gerrit, and Jenkins - - - - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Scaling OpenStack Development with Git, Gerrit, and Jenkins

    -

    -Monty Taylor -<mordred@inaugust.com>
    -James E. Blair -<corvus@inaugust.com>
    - -

    - -
    -

    Systems

    -
      -
    • https://jenkins.openstack.org
    • -
    • https://review.openstack.org
    • -
    • http://ci.openstack.org (docs)
    • -
    • https://jenkins.stackforge.org
    • -
    - -
    -

    Projects

    - -
      -
    • nova (compute)
    • -
    • swift (object storge)
    • -
    • glance (image service)
    • -
    • keystone (identity service)
    • -
    • quantum (network service)
    • -
    • horizon (dashboard)
    • -
    • cinder (volume service)
    • -
    • python-novaclient
    • -
    • python-swiftclient
    • -
    • python-glanceclient
    • -
    • python-keystoneclient
    • -
    • python-quantumclient
    • -
    • python-cinderclient
    • -
    • python-openstackclient
    • -
    -
    -
    - - -
    -

    Contributors

    -
      -
    • Individual Contributors
    • -
    • Commercial Entities
    • -
    • Number, quality, and area of contributions can change daily
    • -
    -
    - -
    -

    Release Management

    -
      -
    • Time Based Releases
    • -
    • Six Month Cadence
        -
      • Tied to Ubuntu Releases
      • -
    • Design summits each cycle
    • -
    • Continuously Open Trunk
        -
      • Develop directly on master
      • -
    • One Month Milestone Releases
    • -
    • Post-release Stable Branches
    • -
    -
    - -
    -

    Vision

    -
      -
    • Consistent Tooling
    • -
    • Consistent Process
    • -
    • Consistent Product
    • -
    • Multiplier Effect
    • -
    -
    - -
    -

    Consistent Tooling

    -
      -
    • Minimize meta-development
    • -
    • Process divergence == wasted developer time
    • -
    • Lowers onboarding time
    • -
    • Consolidate tool development
    • -
    • Minimize project-specific weird build crud
    • -
    -
    - -
    -

    Development Infrastructure Systems

    - -
    - -
    -

    OpenID SSO Integration

    - -
    - -
    -

    Environment

    -
      -
    • Ubuntu
    • -
    • Python
        -
      • pep8 standards
      • -
      • openstack.common
      • -
    • virtualenv/pip
    • -
    • IRC (#openstack-dev, #openstack-meeting)
    • -
    • devstack
    • -
    • gated trunk based on master
    • -
    -
    - - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Process Flow

    -
      -
    • Code is written and locally tested in a virtualenv
    • -
    • Code is submitted for code review to gerrit
    • -
    • Code is run through patch-uploaded automated checks
    • -
    • Code is peer-reviewed
    • -
    • Code is accepted or rejected by core team
    • -
    • Code is run through pre-merge automated checks
    • -
    • Code is merged or rejected
    • -
    • Code is run through post-merge automated checks
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    -

    Bug Integration - Gerrit

    - -
    - -
    -

    Bug Integration - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit

    - -
    - -
    -

    Blueprints - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit Topics

    - -
    - -
    -

    Pre-merge Check

    - -
    - -
    -

    States of a Patch

    -
      -
    • Code Submitted
    • -
    • Code Verified
    • -
    • Code Reviewed
    • -
    • Code Accepted
    • -
    • Code Merged
    • -
    -
    - -
    -

    Approved Reviews

    - -
    - -
    -

    Types of Gerrit Triggers

    -
      -
    • Patchset uploaded
    • -
    • Change merged
    • -
    • Comment added (review state)
    • -
    -
    - - -
    -

    Git Review

    -
      -
    • External Git subcommand
    • -
    • Developers can easily incorporate code review into git workflow
    • -
    • Zero-configuration
    • -
    • Can be used for any project, being adopted by other projects
    • -
    - -
    -corvus@shiprock:~/rs/github/quantum$ git commit -a
    -[new-versionpy ddf1dce] Base version.py on glance.
    - 3 files changed, 28 insertions(+), 107 deletions(-)
    - delete mode 100644 version.py
    -
    -corvus@shiprock:~/rs/github/quantum$ git review
    -remote: Resolving deltas:   0% (0/3)
    -remote: 
    -remote: New Changes:
    -remote:   https://review.openstack.org/3072
    -remote: 
    -To ssh://corvus@review.openstack.org:29418/openstack/quantum.git
    - * [new branch]      HEAD -> refs/for/master/bug/916018
    -
    - -
    - -
    -

    Types of Tests

    - - -
      -
    • Unit tests
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Difficult or impossible for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Specific Challenges/Solutions

    - -
      -
    • Testing effect of merging change
    • -
    • Using cloud builders
    • -
    • Large numbers of similar projects
    • -
    • Disparate hardware configurations
    • -
    - -
    - -
    -

    Gerrit Git Prep

    -
      -
    • Test the result of the change, not the change
    • -
    • https://github.com/openstack/openstack-ci-puppet/blob/master/modules/jenkins_slave/files/slave_scripts/gerrit-git-prep.sh
    • -
    • For each gerrit change: -
        -
      • grabs target branch
      • -
      • cleans tree
      • -
      • merges change to be tested
      • -
      -
    • -
    -
    - -
    -

    Interrelated Integration Testing

    -
      -
    • devstack-gate -
        -
      • spin up fresh node
      • -
      • run devstack
      • -
      • run integration tests
      • -
      -
    • Gate proposed change against current state of other projects
    • -
    -
    - -
    -

    Devstack-Gate Problems

    -
      -
    • Tests are slow
    • -
    • Clouds suck
    • -
    • github sucks
    • -
    • pypi sucks
    • -
    • Ubuntu sucks
    • -
    • ALL NETWORK ACCESS IS FAILURE
    • -
    -
    - -
    -

    Devstack-Gate Solutions

    -
      -
    • Create a new node
    • -
    • pre-fetch all needed packages, repos
    • -
    • snapshot to cloud image
    • -
    • maintain a pool of cloud nodes
    • -
    • slave can only be used for one test run
    • -
    • set of python and shell scripts triggered by jenkins
    • -
    -
    - -
    -

    Jclouds-Plugin

    -
      -
    • ec2 plugin useless to us (sorry)
    • -
    • Adrian Cole and Cloudsoft wrote jclouds-plugin
    • -
    • Provisions on any provider via jclouds
    • -
    • Image pre-creation and pooling features
    • -
    • single use slaves
    • -
    • Slave provisioning as build step
    • -
    -
    - -
    -

    Zuul

    -
      -
    • A general purpose trunk gating system
    • -
    • Interfaces with Gerrit and Jenkins
    • -
    • Flexible configuration allows for many kinds of project automation
    • -
    • Allows parallel testing of serialized changes
    • -
    -
    - -
    -

    Bottlenecking

    -
      -
    • Serialize changes across all projects
    • -
    • Speculative execution of tests
    • -
    • Run in parallel in order triggered
    • -
    • Assume success
    • -
    • Start over on failure
    • -
    -
    - -
    -

    Zuul Simulation

    - -
    - -
    -

    Zuul Check Queue

    -
    -queues:
    -  - name: check
    -    manager: IndependentQueueManager
    -    trigger:
    -      - event: patchset-created
    -    success:
    -      verified: 1
    -    failure:
    -      verified: -1
    -
    -
    - -
    -

    Zuul Gate Queue

    -
    -queues:
    -  - name: gate
    -    manager: DependentQueueManager
    -    trigger:
    -      - event: comment-added
    -        approval:
    -          - approved: 1
    -    start:
    -      verified: 0
    -    success:
    -      verified: 2
    -      submit: true
    -    failure:
    -      verified: -2
    -
    -
    - -
    -

    Zuul Post-Merge Queue

    -
    -queues:
    -  - name: post
    -    manager: IndependentQueueManager
    -    trigger:
    -      - event: ref-updated
    -        ref: ^(?!refs/).*$
    -
    -
    - -
    -

    Zuul Silent Queue

    -
    -queues:
    -  - name: silent
    -    manager: IndependentQueueManager
    -    trigger:
    -      - event: patchset-created
    -
    -
    - -
    -

    Zuul Project Configuration

    -
    -projects:
    -  - name: openstack/nova
    -    check:
    -      - gate-nova-merge:
    -        - gate-nova-pep8
    -        - gate-nova-python26
    -        - gate-nova-python27
    -        - gate-integration-tests-devstack-vm
    -    gate:
    -      - gate-nova-merge:
    -        - gate-nova-pep8
    -        - gate-nova-python26
    -        - gate-nova-python27
    -        - gate-integration-tests-devstack-vm
    -    post:
    -      - nova-tarball
    -    silent:
    -      - gate-tempest-devstack-vm
    -
    -
    - - -
    -

    Templated Jobs

    - -
    - -
    -

    Example Job

    -
    -main:
    -  name: gate-ceilometer-python26-essex
    -  review_site: review.stackforge.org
    -  github_org: stackforge
    -  project: ceilometer
    -  authenticatedBuild: true
    -  concurrent: true
    -  assigned_node: oneiric
    -
    -triggers:
    -  - zuul
    -
    -builders:
    -  - gerrit_git_prep
    -  - python26_essex
    -
    -
    - -
    -

    Example Template

    -
    -project:
    -  template: python_jobs
    -
    -values:
    -  name: python-novaclient
    -  disabled: false
    -  github_org: openstack
    -  review_site: review.openstack.org
    -  publisher_site: nova.openstack.org
    -  tarball_project: nova
    -  doc_publisher_site: docs.openstack.org
    -  node: precise
    -
    -
    - -
    -

    Scaling Hardware Needs

    - -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/overview/notes b/overview/notes deleted file mode 100644 index 671429f..0000000 --- a/overview/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/overview/scripts/.htaccess b/overview/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/overview/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/overview/scripts/jquery-1.7.2.min.js b/overview/scripts/jquery-1.7.2.min.js deleted file mode 100644 index 16ad06c..0000000 --- a/overview/scripts/jquery-1.7.2.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
    "+""+"
    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
    t
    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f -.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/overview/scripts/raphael-min.js b/overview/scripts/raphael-min.js deleted file mode 100644 index d30dbad..0000000 --- a/overview/scripts/raphael-min.js +++ /dev/null @@ -1,10 +0,0 @@ -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file diff --git a/overview/scripts/slidy.js b/overview/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/overview/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/overview/scripts/slidy.js.gz b/overview/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/overview/scripts/slidy.js.gz and /dev/null differ diff --git a/overview/styles/.htaccess b/overview/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/overview/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/overview/styles/openstack.css b/overview/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/overview/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/overview/styles/slidy.css b/overview/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/overview/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/overview/styles/w3c-blue.css b/overview/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/overview/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/puppetconf/Overview.html b/puppetconf/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/puppetconf/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/puppetconf/Overview.xhtml b/puppetconf/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/puppetconf/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/puppetconf/blank.html b/puppetconf/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/puppetconf/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/puppetconf/graphics/bullet-fold-dim.gif b/puppetconf/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/puppetconf/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-fold-dim.png b/puppetconf/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/puppetconf/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/puppetconf/graphics/bullet-fold.gif b/puppetconf/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/puppetconf/graphics/bullet-fold.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-fold.png b/puppetconf/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/puppetconf/graphics/bullet-fold.png and /dev/null differ diff --git a/puppetconf/graphics/bullet-nofold-dim.gif b/puppetconf/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/puppetconf/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-nofold-dim.png b/puppetconf/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/puppetconf/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/puppetconf/graphics/bullet-nofold.gif b/puppetconf/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/puppetconf/graphics/bullet-nofold.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-nofold.png b/puppetconf/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/puppetconf/graphics/bullet-nofold.png and /dev/null differ diff --git a/puppetconf/graphics/bullet-unfold-dim.gif b/puppetconf/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/puppetconf/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-unfold-dim.png b/puppetconf/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/puppetconf/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/puppetconf/graphics/bullet-unfold.gif b/puppetconf/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/puppetconf/graphics/bullet-unfold.gif and /dev/null differ diff --git a/puppetconf/graphics/bullet-unfold.png b/puppetconf/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/puppetconf/graphics/bullet-unfold.png and /dev/null differ diff --git a/puppetconf/graphics/bullet.png b/puppetconf/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/puppetconf/graphics/bullet.png and /dev/null differ diff --git a/puppetconf/graphics/example.png b/puppetconf/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/puppetconf/graphics/example.png and /dev/null differ diff --git a/puppetconf/graphics/example.svg b/puppetconf/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/puppetconf/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/puppetconf/graphics/face1.gif b/puppetconf/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/puppetconf/graphics/face1.gif and /dev/null differ diff --git a/puppetconf/graphics/face2.gif b/puppetconf/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/puppetconf/graphics/face2.gif and /dev/null differ diff --git a/puppetconf/graphics/face3.gif b/puppetconf/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/puppetconf/graphics/face3.gif and /dev/null differ diff --git a/puppetconf/graphics/face4.gif b/puppetconf/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/puppetconf/graphics/face4.gif and /dev/null differ diff --git a/puppetconf/graphics/fold-bright.gif b/puppetconf/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/puppetconf/graphics/fold-bright.gif and /dev/null differ diff --git a/puppetconf/graphics/fold-dim.bmp b/puppetconf/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/puppetconf/graphics/fold-dim.bmp and /dev/null differ diff --git a/puppetconf/graphics/fold-dim.gif b/puppetconf/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/puppetconf/graphics/fold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/fold.bmp b/puppetconf/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/puppetconf/graphics/fold.bmp and /dev/null differ diff --git a/puppetconf/graphics/fold.gif b/puppetconf/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/puppetconf/graphics/fold.gif and /dev/null differ diff --git a/puppetconf/graphics/icon-blue.png b/puppetconf/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/puppetconf/graphics/icon-blue.png and /dev/null differ diff --git a/puppetconf/graphics/keys2.jpg b/puppetconf/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/puppetconf/graphics/keys2.jpg and /dev/null differ diff --git a/puppetconf/graphics/nofold-dim.bmp b/puppetconf/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/puppetconf/graphics/nofold-dim.bmp and /dev/null differ diff --git a/puppetconf/graphics/nofold-dim.gif b/puppetconf/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/puppetconf/graphics/nofold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/nofold.bmp b/puppetconf/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/puppetconf/graphics/nofold.bmp and /dev/null differ diff --git a/puppetconf/graphics/open-stack-cloud-computing-logo-2.png b/puppetconf/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/puppetconf/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/puppetconf/graphics/openstack-cloud-software-vertical-large.png b/puppetconf/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/puppetconf/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/puppetconf/graphics/unfold-bright.gif b/puppetconf/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/puppetconf/graphics/unfold-bright.gif and /dev/null differ diff --git a/puppetconf/graphics/unfold-dim.bmp b/puppetconf/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/puppetconf/graphics/unfold-dim.bmp and /dev/null differ diff --git a/puppetconf/graphics/unfold-dim.gif b/puppetconf/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/puppetconf/graphics/unfold-dim.gif and /dev/null differ diff --git a/puppetconf/graphics/unfold.bmp b/puppetconf/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/puppetconf/graphics/unfold.bmp and /dev/null differ diff --git a/puppetconf/graphics/unfold.gif b/puppetconf/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/puppetconf/graphics/unfold.gif and /dev/null differ diff --git a/puppetconf/graphics/w3c-logo-blue.gif b/puppetconf/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/puppetconf/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/puppetconf/graphics/w3c-logo-blue.svg b/puppetconf/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/puppetconf/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/puppetconf/graphics/w3c-logo-slanted.jpg b/puppetconf/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/puppetconf/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/puppetconf/graphics/w3c-logo-white.gif b/puppetconf/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/puppetconf/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/puppetconf/graphics/w3c-logo-white.svg b/puppetconf/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/puppetconf/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/puppetconf/help/.htaccess b/puppetconf/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/puppetconf/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/puppetconf/help/help.html b/puppetconf/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/puppetconf/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/puppetconf/help/help.html.ca b/puppetconf/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/puppetconf/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.de b/puppetconf/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/puppetconf/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/puppetconf/help/help.html.en b/puppetconf/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/puppetconf/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.es b/puppetconf/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/puppetconf/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.fr b/puppetconf/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/puppetconf/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/puppetconf/help/help.html.hu b/puppetconf/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/puppetconf/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.nl b/puppetconf/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/puppetconf/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/puppetconf/help/help.html.pl b/puppetconf/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/puppetconf/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/puppetconf/help/help.html.pt-br b/puppetconf/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/puppetconf/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.pt_br b/puppetconf/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/puppetconf/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/puppetconf/help/help.html.sv b/puppetconf/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/puppetconf/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/puppetconf/help/help.pt-br.html b/puppetconf/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/puppetconf/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/puppetconf/images/489px-MySQL.svg.png b/puppetconf/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/puppetconf/images/489px-MySQL.svg.png and /dev/null differ diff --git a/puppetconf/images/Drizzle-med.png b/puppetconf/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/puppetconf/images/Drizzle-med.png and /dev/null differ diff --git a/puppetconf/images/OpenStackLogo_wTag.png b/puppetconf/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/puppetconf/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/puppetconf/images/gerrit-approved.png b/puppetconf/images/gerrit-approved.png deleted file mode 100644 index c8ee832..0000000 Binary files a/puppetconf/images/gerrit-approved.png and /dev/null differ diff --git a/puppetconf/images/gerrit-bp-topic.png b/puppetconf/images/gerrit-bp-topic.png deleted file mode 100644 index 51241ad..0000000 Binary files a/puppetconf/images/gerrit-bp-topic.png and /dev/null differ diff --git a/puppetconf/images/gerrit-bp.png b/puppetconf/images/gerrit-bp.png deleted file mode 100644 index cdef419..0000000 Binary files a/puppetconf/images/gerrit-bp.png and /dev/null differ diff --git a/puppetconf/images/gerrit-bug.png b/puppetconf/images/gerrit-bug.png deleted file mode 100644 index ab27fd9..0000000 Binary files a/puppetconf/images/gerrit-bug.png and /dev/null differ diff --git a/puppetconf/images/gerrit-jenkins.png b/puppetconf/images/gerrit-jenkins.png deleted file mode 100644 index f9a08e7..0000000 Binary files a/puppetconf/images/gerrit-jenkins.png and /dev/null differ diff --git a/puppetconf/images/gerrit-sso.png b/puppetconf/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/puppetconf/images/gerrit-sso.png and /dev/null differ diff --git a/puppetconf/images/gerrit-verify.png b/puppetconf/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/puppetconf/images/gerrit-verify.png and /dev/null differ diff --git a/puppetconf/images/jenkins-gate.png b/puppetconf/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/puppetconf/images/jenkins-gate.png and /dev/null differ diff --git a/puppetconf/images/lp-bp.png b/puppetconf/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/puppetconf/images/lp-bp.png and /dev/null differ diff --git a/puppetconf/images/lp-bug.png b/puppetconf/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/puppetconf/images/lp-bug.png and /dev/null differ diff --git a/puppetconf/images/lp-os-projects.png b/puppetconf/images/lp-os-projects.png deleted file mode 100644 index 2ca1aad..0000000 Binary files a/puppetconf/images/lp-os-projects.png and /dev/null differ diff --git a/puppetconf/images/openstack-software-diagram.png b/puppetconf/images/openstack-software-diagram.png deleted file mode 100644 index c5e196c..0000000 Binary files a/puppetconf/images/openstack-software-diagram.png and /dev/null differ diff --git a/puppetconf/images/stack-o-pancakes-150x150.png b/puppetconf/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/puppetconf/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/puppetconf/index.html b/puppetconf/index.html deleted file mode 100644 index 0cf876b..0000000 --- a/puppetconf/index.html +++ /dev/null @@ -1,534 +0,0 @@ - - - - - -Collaboratively managing the OpenStack project with Puppet - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Collaboratively managing the OpenStack project with Puppet

    -

    -Monty Taylor -<mordred@inaugust.com>
    - -

    - -
    -

    Whoami

    -
      -
    • One of the OpenStack Founders
    • -
    • Core team of OpenStack CI systems
    • -
    • OpenStack Foundation Board
    • -
    • OpenStack Technical Committee
    • -
    • Manager of OpenStack Automation at HP
    • -
    -
    - -
    -

    About this Presentation

    - -
      -
    • Running OpenStack's CI systems
    • -
    • NOT about installing OpenStack
    • -
    • Challenges we've faced doing things in the open
    • -
    • Probably some rants and swearing in violation of something
    • -
    -
    - -
    -

    Design Assumptions

    -
      -
    • Everything Open
    • -
    • Everything Reusable
    • -
    -
    - -
    -

    Shameless Plug

    -
      -
    • I'm hiring
    • -
    -
    - -
    -

    OpenStack

    - -

    Is open source software for building private and public clouds.

    - -
    - -
    - - -
    - -
    -

    Projects

    - -
      -
    • nova (compute)
    • -
    • swift (object storge)
    • -
    • glance (image service)
    • -
    • keystone (identity service)
    • -
    • quantum (network service)
    • -
    • horizon (dashboard)
    • -
    • cinder (volume service)
    • -
    • python-novaclient
    • -
    • python-swiftclient
    • -
    • python-glanceclient
    • -
    • python-keystoneclient
    • -
    • python-quantumclient
    • -
    • python-cinderclient
    • -
    • python-openstackclient
    • -
    -
    -
    - - -
    -

    Servers

    - -
    - -
    - -
    - - -
    -

    Back in the Day...

    - -
      -
    • nova (compute)
    • -
    • swift (object storge)
    • -
    • jenkins.openstack.org
    • -
    • wiki.openstack.org
    • -
    -
    -
    - -
    -

    Typical First Steps

    -
      -
    • jenkins.openstack.org had one admin - me
    • -
    • wiki was managed by someone else
    • -
    • Everything installed by hand
    • -
    -
    - -
    -

    Complexity Rises

    -
      -
    • Soren, Jay, Eric and Thierry get root
    • -
    • Added a couple of build slaves
    • -
    • I get annoyed
    • -
    -
    - -
    -

    Investigation

    -
      -
    • Chef
    • -
    • Puppet
    • -
    • Manage users and packages
    • -
    -
    - -
    -

    Small Infrastructure

    -
      -
    • puppet apply ftw
    • -
    • creating users not so much
    • -
    -
    - -
    -

    RANT

    -

    WHY IS CREATING USERS SO MUCH WORK???

    -
    -class user::virtual {
    -  define localuser ($realname,$sshkeys='',$shell="/bin/bash") {
    -    group { $title:
    -      ensure => 'present'
    -    }
    -
    -    user { $title:
    -      ensure  => "present",
    -      comment => $realname,
    -      home    => "/home/$title",
    -      shell   => $shell,
    -      gid     => $title,
    -      groups  => ['sudo','admin'],
    -      membership => 'minimum',
    -      managehome => true,  # creates the home directory (does not actually manage it)
    -      require => Group[$title],
    -    }
    -    
    -    file { "${title}_sshdir":
    -      name => "/home/$title/.ssh",
    -      owner => $title,
    -      group => $title,
    -      mode => 700,
    -      ensure => 'directory',
    -      require => User[$title],
    -    }
    -  
    -
    - - -
    -

    RANT

    -

    WHY IS CREATING USERS SO MUCH WORK???

    -
    -    file { "${title}_keys":
    -      name => "/home/$title/.ssh/authorized_keys",
    -      owner => $title,
    -      group => $title,
    -      mode => 400,
    -      content => $sshkeys,
    -      ensure => 'present',
    -      require => File["${title}_sshdir"],
    -    }
    -  }
    -}
    -  
    -
    - -
    -

    RANT

    -

    WHY IS CREATING USERS SO MUCH WORK???

    -
    -  @user::virtual::localuser { 'mordred':
    -    realname => 'Monty Taylor',
    -    sshkeys  => "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyxfIpVCvZyM8BIy7r7WOSIG6Scxq4afean1Pc/bej5ZWHXCu1QnhGbI7rW3sWciEhi375ILejfODl2TkBpfdJe/DL205lLkTxAa+FUqcZ5Ymwe+jBgCH5XayzyhRPFFLn07IfA/BDAjGPqFLvq6dCEHVNJIui6oEW7OUf6a3376YF55r9bw/8Ct00F9N7zrISeSSeZXbNR+dEqcsBEKBqvZGcLtM4jzDzNXw1ITPPMGaoEIIszLpkkJcy8u/13GIrbAwNrB2wjl6Mzj+N9nTsB4rFtxRXp31ZbytCH5G9CL/mFard7yi8NLVEJPZJvAifNVhooxGN06uAiTFE8EsuQ== mtaylor@qualinost\n",
    -  }
    -  
    -
    - -
    -

    RANT

    -

    WHY IS CREATING USERS SO MUCH WORK???

    -
    -    realize (
    -      User::Virtual::Localuser['mordred'],
    -      User::Virtual::Localuser['corvus'],
    -      User::Virtual::Localuser['soren'],
    -      User::Virtual::Localuser['linuxjedi'],
    -      User::Virtual::Localuser['devananda'],
    -      User::Virtual::Localuser['clarkb'],
    -    )
    -  
    -
    - -
    -

    Shameless Plug

    -
      -
    • I'm hiring
    • -
    -
    - -
    -

    First (weird) choice

    -
      -
    • I hate typing
    • -
    • Launchpad API script to generate a manifest
    • -
    • Launching nodes was so much easier!
    • -
    -
    - -
    -

    Usage Pattern 0

    -
      -
    • puppet apply by hand at machine create
    • -
    • problem: totally manual operation
    • -
    -
    - -
    -

    Once you have that ...

    -
      -
    • Jim Blair started ... told me I was crazy
    • -
    • We started making clases and modules
    • -
    -
    - -
    -

    Usage Pattern 1

    -
      -
    • manifest/modules in public git / gerrit
    • -
    • puppet apply in cron
    • -
    • problem: where does secret stuff go
    • -
    -
    - -
    -

    Secrets Solution 0

    -

    Copy secret files to machine by hand, then reference

    -
    -  file { '/usr/local/jenkins_jobs/jenkins_jobs.ini':
    -    owner => 'root',
    -    group => 'root',
    -    mode => 440,
    -    ensure => 'present',
    -    source => 'file:///root/secret-files/jenkins_jobs.ini',
    -    replace => 'true',
    -    require => File['/usr/local/jenkins_jobs']
    -  }
    -
    -
    - -
    -

    Copying Files

    -
      -
    • This sucks for all the reasons you'd expect
    • -
    • Defeats reusability
    • -
    • ENTIRE FILE becomes secret
    • -
    -
    - -
    -

    RANT

    -

    WHY IS INSTALLING PACKAGES FAIL???

    -
    -class jenkins_jobs {
    -    package { 'python-yaml':
    -        ensure => present;
    -    }
    -    ...
    -}
    -
    -class zuul {
    -    package { 'python-yaml':
    -        ensure => present;
    -    }
    -    ...
    -}
    -
    -node "jenkins.openstack.org" {
    -    include zuul
    -    include jenkins_jobs
    -}
    - 
    -
    - -
    -

    RANT

    -

    WHY IS INSTALLING PACKAGES FAIL???

    -
    - # A lot of things need yaml, be conservative requiring this package to avoid
    - # conflicts with other modules.
    - if ! defined(Package['python-yaml']) {
    -   package { 'python-yaml':
    -     ensure => "present",
    - }
    -
    - 
    -

    Perhaps package commands should be fundamental units, and should create an idempotent package installation set. You know, kinda like how apt and yum already work?

    -
    - -
    -

    Shameless Plug

    -
      -
    • I'm hiring
    • -
    -
    - -
    -

    And then there were more

    -

    Now we have ... -

      -
    • 5 or 6 servers
    • -
    • 10 static build slaves
    • -
    • Additional dynamic jenkins slaves for every build
    • -
    • So about 200 servers a day managed by puppet
    • -
    • Chatted with wikipedia about sharing work
    • -
    -
    - - -
    -

    Usage Pattern 2

    -
      -
    • classes with secrets parameterized
    • -
    • puppetmaster + heira
    • -
    • git pull on master in cron
    • -
    • start using forge modules
    • -
    • puppet dashboard for monitoring
    • -
    -
    - -
    -

    heira

    -
    -node 'wiki.openstack.org' {
    -  class { 'openstack_project::wiki':
    -    mysql_root_password => hiera('wiki_db_password'),
    -    sysadmins           => hiera('sysadmins'),
    -  }  
    -}
    -
    -
    - -
    -

    forge modules

    -
      -
    • Started splitting out our modules for upload
    • -
    • Started using modules from forge
    • -
    -
    - -
    -

    RANT

    -

    WHY IS INSTALLING PACKAGES FAIL???

    -
    -# Array of modules to be installed key:value is module:version.
    - declare -A MODULES
    - MODULES["openstackci-dashboard"]="0.0.4"
    - MODULES["openstackci-vcsrepo"]="0.0.6"
    - MODULES["puppetlabs-apache"]="0.0.4"
    - MODULES["puppetlabs-apt"]="0.0.4"
    - MODULES["puppetlabs-mysql"]="0.5.0"
    - MODULES["saz-memcached"]="2.0.2"
    -
    -for MOD in ${!MODULES[*]} ; do
    -  # If the module at the current version does not exist upgrade or install it.
    -  if ! echo $MODULE_LIST | grep "$MOD.*${MODULES[$MOD]}" >dev/null 2>&1
    -  then
    -    # Attempt module upgrade. If that fails try installing the module.
    -    if ! puppet module upgrade $MOD --version ${MODULES[$MOD]} >dev/null 2>&1
    -    then
    -      # This will get run in cron, so silence non-error output
    -      puppet module install $MOD --version ${MODULES[$MOD]} >dev/null
    -    fi
    -  fi
    -done
    - 
    -
    - -
    -

    RANT

    -

    WHY IS INSTALLING PACKAGES FAIL???

    -
      -
    • puppet module install should be idempotent
    • -
    • puppet module install should work in a git dir - OR
    • -
    • source-level clone of a module repo into modules tree should work
    • -
    -
    - -
    -

    Shameless Plug

    -
      -
    • I'm hiring
    • -
    -
    - -
    -

    dashboard

    -
    -node 'puppet-dashboard.openstack.org' {
    -  class { 'openstack_project::dashboard':
    -    password => hiera('dashboard_password'),
    -    mysql_password => hiera('dashboard_mysql_password'),
    -    sysadmins => hiera('sysadmins'),
    -  }
    -}
    -
    -
      -
    • http://puppet-dashboard.openstack.org:3000/
    • -
    • Why does this not support SSL submission by default?
    • -
    • Notice oneiric.slave.openstack.org and precise.slave.openstack.org
    • -
    -
    - -
    -

    build slaves

    -
      -
    • Hundreds of them, created and destroyed daily
    • -
    • Essentially the same
    • -
    • All share a cert
    • -
    • Dashboard finds this confusing - I don't care
    • -
    -
    - -
    -

    What next?/Usage Pattern 3

    -
      -
    • Add unittesting to our modules (oops)
    • -
    • More importantly - add real testing to our manifest
    • -
      • -
      • Make manifest that installs all of our modules single server
      • -
      • Per-commit pre-merge, spin up machine, run manifest, test
      • -
    • -
    -
    - -
    -

    Development / Contributing

    - - - -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/puppetconf/scripts/.htaccess b/puppetconf/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/puppetconf/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/puppetconf/scripts/slidy.js b/puppetconf/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/puppetconf/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/puppetconf/scripts/slidy.js.gz b/puppetconf/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/puppetconf/scripts/slidy.js.gz and /dev/null differ diff --git a/puppetconf/styles/.htaccess b/puppetconf/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/puppetconf/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/puppetconf/styles/openstack.css b/puppetconf/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/puppetconf/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/puppetconf/styles/slidy.css b/puppetconf/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/puppetconf/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/puppetconf/styles/w3c-blue.css b/puppetconf/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/puppetconf/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/ci-roadmap-folsom/scripts/slidy.js b/scripts/slidy.js similarity index 100% rename from ci-roadmap-folsom/scripts/slidy.js rename to scripts/slidy.js diff --git a/ci-roadmap-folsom/scripts/slidy.js.gz b/scripts/slidy.js.gz similarity index 100% rename from ci-roadmap-folsom/scripts/slidy.js.gz rename to scripts/slidy.js.gz diff --git a/ci-roadmap-folsom/styles/openstack.css b/styles/openstack.css similarity index 100% rename from ci-roadmap-folsom/styles/openstack.css rename to styles/openstack.css diff --git a/ci-roadmap-folsom/styles/slidy.css b/styles/slidy.css similarity index 100% rename from ci-roadmap-folsom/styles/slidy.css rename to styles/slidy.css diff --git a/ci-roadmap-folsom/styles/w3c-blue.css b/styles/w3c-blue.css similarity index 100% rename from ci-roadmap-folsom/styles/w3c-blue.css rename to styles/w3c-blue.css diff --git a/tutorial/Overview.html b/tutorial/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/tutorial/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/tutorial/Overview.xhtml b/tutorial/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/tutorial/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/tutorial/blank.html b/tutorial/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/tutorial/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/tutorial/graphics/bullet-fold-dim.gif b/tutorial/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/tutorial/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-fold-dim.png b/tutorial/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/tutorial/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/tutorial/graphics/bullet-fold.gif b/tutorial/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/tutorial/graphics/bullet-fold.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-fold.png b/tutorial/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/tutorial/graphics/bullet-fold.png and /dev/null differ diff --git a/tutorial/graphics/bullet-nofold-dim.gif b/tutorial/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/tutorial/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-nofold-dim.png b/tutorial/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/tutorial/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/tutorial/graphics/bullet-nofold.gif b/tutorial/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/tutorial/graphics/bullet-nofold.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-nofold.png b/tutorial/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/tutorial/graphics/bullet-nofold.png and /dev/null differ diff --git a/tutorial/graphics/bullet-unfold-dim.gif b/tutorial/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/tutorial/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-unfold-dim.png b/tutorial/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/tutorial/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/tutorial/graphics/bullet-unfold.gif b/tutorial/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/tutorial/graphics/bullet-unfold.gif and /dev/null differ diff --git a/tutorial/graphics/bullet-unfold.png b/tutorial/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/tutorial/graphics/bullet-unfold.png and /dev/null differ diff --git a/tutorial/graphics/bullet.png b/tutorial/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/tutorial/graphics/bullet.png and /dev/null differ diff --git a/tutorial/graphics/example.png b/tutorial/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/tutorial/graphics/example.png and /dev/null differ diff --git a/tutorial/graphics/example.svg b/tutorial/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/tutorial/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tutorial/graphics/face1.gif b/tutorial/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/tutorial/graphics/face1.gif and /dev/null differ diff --git a/tutorial/graphics/face2.gif b/tutorial/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/tutorial/graphics/face2.gif and /dev/null differ diff --git a/tutorial/graphics/face3.gif b/tutorial/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/tutorial/graphics/face3.gif and /dev/null differ diff --git a/tutorial/graphics/face4.gif b/tutorial/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/tutorial/graphics/face4.gif and /dev/null differ diff --git a/tutorial/graphics/fold-bright.gif b/tutorial/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/tutorial/graphics/fold-bright.gif and /dev/null differ diff --git a/tutorial/graphics/fold-dim.bmp b/tutorial/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/tutorial/graphics/fold-dim.bmp and /dev/null differ diff --git a/tutorial/graphics/fold-dim.gif b/tutorial/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/tutorial/graphics/fold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/fold.bmp b/tutorial/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/tutorial/graphics/fold.bmp and /dev/null differ diff --git a/tutorial/graphics/fold.gif b/tutorial/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/tutorial/graphics/fold.gif and /dev/null differ diff --git a/tutorial/graphics/icon-blue.png b/tutorial/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/tutorial/graphics/icon-blue.png and /dev/null differ diff --git a/tutorial/graphics/keys2.jpg b/tutorial/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/tutorial/graphics/keys2.jpg and /dev/null differ diff --git a/tutorial/graphics/nofold-dim.bmp b/tutorial/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/tutorial/graphics/nofold-dim.bmp and /dev/null differ diff --git a/tutorial/graphics/nofold-dim.gif b/tutorial/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/tutorial/graphics/nofold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/nofold.bmp b/tutorial/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/tutorial/graphics/nofold.bmp and /dev/null differ diff --git a/tutorial/graphics/open-stack-cloud-computing-logo-2.png b/tutorial/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/tutorial/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/tutorial/graphics/openstack-cloud-software-vertical-large.png b/tutorial/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/tutorial/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/tutorial/graphics/unfold-bright.gif b/tutorial/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/tutorial/graphics/unfold-bright.gif and /dev/null differ diff --git a/tutorial/graphics/unfold-dim.bmp b/tutorial/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/tutorial/graphics/unfold-dim.bmp and /dev/null differ diff --git a/tutorial/graphics/unfold-dim.gif b/tutorial/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/tutorial/graphics/unfold-dim.gif and /dev/null differ diff --git a/tutorial/graphics/unfold.bmp b/tutorial/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/tutorial/graphics/unfold.bmp and /dev/null differ diff --git a/tutorial/graphics/unfold.gif b/tutorial/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/tutorial/graphics/unfold.gif and /dev/null differ diff --git a/tutorial/graphics/w3c-logo-blue.gif b/tutorial/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/tutorial/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/tutorial/graphics/w3c-logo-blue.svg b/tutorial/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/tutorial/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/tutorial/graphics/w3c-logo-slanted.jpg b/tutorial/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/tutorial/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/tutorial/graphics/w3c-logo-white.gif b/tutorial/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/tutorial/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/tutorial/graphics/w3c-logo-white.svg b/tutorial/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/tutorial/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/tutorial/help/.htaccess b/tutorial/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/tutorial/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/tutorial/help/help.html b/tutorial/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/tutorial/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/tutorial/help/help.html.ca b/tutorial/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/tutorial/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/tutorial/help/help.html.de b/tutorial/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/tutorial/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/tutorial/help/help.html.en b/tutorial/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/tutorial/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/tutorial/help/help.html.es b/tutorial/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/tutorial/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/tutorial/help/help.html.fr b/tutorial/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/tutorial/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/tutorial/help/help.html.hu b/tutorial/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/tutorial/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/tutorial/help/help.html.nl b/tutorial/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/tutorial/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/tutorial/help/help.html.pl b/tutorial/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/tutorial/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/tutorial/help/help.html.pt-br b/tutorial/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/tutorial/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/tutorial/help/help.html.pt_br b/tutorial/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/tutorial/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/tutorial/help/help.html.sv b/tutorial/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/tutorial/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/tutorial/help/help.pt-br.html b/tutorial/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/tutorial/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/tutorial/images/489px-MySQL.svg.png b/tutorial/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/tutorial/images/489px-MySQL.svg.png and /dev/null differ diff --git a/tutorial/images/Drizzle-med.png b/tutorial/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/tutorial/images/Drizzle-med.png and /dev/null differ diff --git a/tutorial/images/OpenStackLogo_wTag.png b/tutorial/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/tutorial/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/tutorial/images/gerrit-approved.png b/tutorial/images/gerrit-approved.png deleted file mode 100644 index c8ee832..0000000 Binary files a/tutorial/images/gerrit-approved.png and /dev/null differ diff --git a/tutorial/images/gerrit-bp-topic.png b/tutorial/images/gerrit-bp-topic.png deleted file mode 100644 index 51241ad..0000000 Binary files a/tutorial/images/gerrit-bp-topic.png and /dev/null differ diff --git a/tutorial/images/gerrit-bp.png b/tutorial/images/gerrit-bp.png deleted file mode 100644 index cdef419..0000000 Binary files a/tutorial/images/gerrit-bp.png and /dev/null differ diff --git a/tutorial/images/gerrit-bug.png b/tutorial/images/gerrit-bug.png deleted file mode 100644 index ab27fd9..0000000 Binary files a/tutorial/images/gerrit-bug.png and /dev/null differ diff --git a/tutorial/images/gerrit-jenkins.png b/tutorial/images/gerrit-jenkins.png deleted file mode 100644 index f9a08e7..0000000 Binary files a/tutorial/images/gerrit-jenkins.png and /dev/null differ diff --git a/tutorial/images/gerrit-sso.png b/tutorial/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/tutorial/images/gerrit-sso.png and /dev/null differ diff --git a/tutorial/images/gerrit-verify.png b/tutorial/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/tutorial/images/gerrit-verify.png and /dev/null differ diff --git a/tutorial/images/jenkins-gate.png b/tutorial/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/tutorial/images/jenkins-gate.png and /dev/null differ diff --git a/tutorial/images/lp-bp.png b/tutorial/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/tutorial/images/lp-bp.png and /dev/null differ diff --git a/tutorial/images/lp-bug.png b/tutorial/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/tutorial/images/lp-bug.png and /dev/null differ diff --git a/tutorial/images/lp-os-projects.png b/tutorial/images/lp-os-projects.png deleted file mode 100644 index 2ca1aad..0000000 Binary files a/tutorial/images/lp-os-projects.png and /dev/null differ diff --git a/tutorial/images/stack-o-pancakes-150x150.png b/tutorial/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/tutorial/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/tutorial/index.html b/tutorial/index.html deleted file mode 100644 index 27d48ee..0000000 --- a/tutorial/index.html +++ /dev/null @@ -1,907 +0,0 @@ - - - - - -Developing OpenStack with devstack - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    OpenStack Overview

    -Monty Taylor -<mordred@inaugust.com>| -twitter:e_monty
    -James E. Blair -<corvus@inaugust.com>
    -https://openstack-ci.github.com/publications/tutorial -
    - -
    -

    Overview

    -
      -
    • OpenStack Overview
    • -
    • Dev Process Overview
    • -
    • Devstack Install
    • -
    - -
    -

    Anti-overview

    -
      -
    • In Depth OpenStack Tutorial
    • -
    • Tutorial on chef/puppet/juju/cfengine/salt
    • -
    • Endorsement of any of the above
    • -
    • End-user Cloud Tutorial
    • -
    - -
    -

    Getting Started With Devstack

    -
      -
    • devstack.org
    • -
    • Annotated shell script which installs devstack in a VM
    • -
    • NOT FOR PRODUCTION USE
    • -
    • For developers to test stuff
    • -
    -
    - -
    -

    Installing a Cloud using Devstack

      -
    • Get an Ubuntu Precise Server Image
    • - Don't do this yet -
      -sudo apt-get install git
      -git clone git://github.com/openstack-dev/devstack.git
      -cd devstack; ./stack.sh
      -
      -
    - -
    -

    Step One

    -
      -
    • Get an Ubuntu Precise Image
    • -
    • NOT YOUR LAPTOP

    • -
    • NOT YOUR LAPTOP

    • -
    • NOT YOUR LAPTOP

    • -
    - - -
    -

    Get devstack

      -
      -git clone git://github.com/openstack-dev/devstack.git
      -cd devstack
      -
      -# to run essex:
      -git checkout stable/essex
      -
      -
    - - -
    -

    Customizing Devstack

      -
    • localrc
    • -
      -FIXED_RANGE=10.1.0.0/24
      -FIXED_NETWORK_SIZE=256
      -
      -
    • Look in stackrc and stack.sh for other options
    • -
    - -
    -

    Fix Swap

      -
    • Notice the lack of swap!
    • -
      -sudo umount /mnt
      -sudo mkswap /dev/vdb
      -sudo swapon /dev/vdb
      -
      -
    - - - -
    -

    Run devstack

      -
      -./stack.sh
      -
      -
    - -
    -

    And now we wait

      -
    - - -
    -

    OpenStack Overview

    -
      -
    • Software to run a cloud
    • -
    • Made up of several (growing) projects
    • -
    • Open Source
    • -
    - -
    -

    Projects

    -
      -
    • keystone (identity service)
    • -
    • nova (compute)
    • -
    • glance (image service)
    • -
    • swift (object storge)
    • -
    • quantum (network service)
    • -
    • cinder (volume)
    • -
    • horizon (dashboard)
    • -
    - -
    -

    Libraries

    -
      -
    • python-keystoneclient
    • -
    • python-novaclient
    • -
    • python-glanceclient
    • -
    • python-swiftclient
    • -
    • python-quantumclient
    • -
    • python-cinderclient
    • -
    • python-openstackclient
    • -
    - -
    -

    Tools

    -
      -
    • tempest
    • -
    • git-review
    • -
    • devstack
    • -
    • devstack-gate
    • -
    • openstack.nose_plugin
    • -
    • openstack-ci-puppet
    • -
    • pbr
    • -
    • zuul
    • -
    - - -
    -

    Release Management

    -
      -
    • Time Based Releases
    • -
    • Six Month Cadence
        -
      • Tied to Ubuntu Releases
      • -
    • Design summits each cycle
    • -
    • Continuously Open Trunk
        -
      • Develop directly on master
      • -
    • One Month Milestone Releases
    • -
    • Post-release Stable Branches
    • -
    • Previous stable: diablo
    • -
    • Current stable: essex
    • -
    • Current devel: folsom
    • -
    • Next devel: grizzly
    • -
    -
    - -
    -

    Who is Running It?

    -
      -
    • Rackspace
        -
      • Cloud Files == swift
      • -
      • Cloud Servers (beta) == nova
      -
    • HP
      • -
      • hpcloud in Private Beta (diablo)
      -
    • trystack (diablo)
    • -
    • AT&T (diablo)
    • -
    • Cern
    • -
    • Mercado Libre
    • -
    -
    - -
    -

    ALSO

    -
      -
    • Cisco
    • -
    • Citrix
    • -
    • NTT
    • -
    • Piston
    • -
    • Nebula
    • -
    • Nicira
    • -
    • RedHat
    • -
    • Canonical
    • -
    -
    - -
    -

    Development Process Overview

    -
      -
    • Highly Automated
    • -
    • Developer Run
    • -
    • Democratic Structure
    • -
    • Virtual/Online
    • -
    -
    - -
    -

    Vision

    -
      -
    • Consistent Tooling
    • -
    • Consistent Process
    • -
    • Consistent Product
    • -
    • Multiplier Effect
    • -
    -
    - -
    -

    Consistent Tooling

    -
      -
    • Minimize meta-development
    • -
    • Process divergence == wasted developer time
    • -
    • Lowers onboarding time
    • -
    • Consolidate tool development
    • -
    • Minimize project-specific weird build crud
    • -
    -
    - -
    -

    Development Infrastructure Systems

    - -
    - -
    -

    Environment

    -
      -
    • Ubuntu
    • -
    • Python
        -
      • pep8 standards
      • -
      • openstack.common
      • -
    • virtualenv/pip/tox
    • -
    • IRC (#openstack-dev, #openstack-meeting)
    • -
    • devstack
    • -
    • gated trunk based on master
    • -
    -
    - - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Process Flow

    -
      -
    • Code is written and locally tested in a virtualenv
    • -
    • Code is submitted for code review to gerrit
    • -
    • Code is peer-reviewed
    • -
    • Code is accepted or rejected by core team
    • -
    • Code is run through pre-merge automated checks
    • -
    • Code is merged or rejected
    • -
    • Code is run through post-merge automated checks
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    -

    Pre-merge Check

    - -
    - -
    -

    Approved Reviews

    - -
    - -
    -

    Types of Jenkins Gerrit Triggers

    -
      -
    • Patchset uploaded
    • -
    • Change merged
    • -
    • Comment added (review state)
    • -
    -
    - -
    -

    OpenID SSO Integration

    - -
    - -
    -

    Bug Integration - Gerrit

    - -
    - -
    -

    Bug Integration - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit

    - -
    - -
    -

    Blueprints - Launchpad

    - -
    - -
    -

    Blueprints - Gerrit Topics

    - -
    - -
    -

    Git Review

    -
      -
    • External Git subcommand - pip/apt/yum
    • -
    • Developers can easily incorporate code review into git workflow
    • -
    • Zero-configuration
    • -
    • Can be used for any project, being adopted by other projects
    • -
    - -
    -corvus@shiprock:~/rs/github/quantum$ git commit -a
    -[new-versionpy ddf1dce] Base version.py on glance.
    - 3 files changed, 28 insertions(+), 107 deletions(-)
    - delete mode 100644 version.py
    -
    -corvus@shiprock:~/rs/github/quantum$ git review
    -remote: Resolving deltas:   0% (0/3)
    -remote: 
    -remote: New Changes:
    -remote:   https://review.openstack.org/3072
    -remote: 
    -To ssh://corvus@review.openstack.org:29418/openstack/quantum.git
    - * [new branch]      HEAD -> refs/for/master/bug/916018
    -
    - -
    - -
    -

    Types of Tests

    -
      -
    • Unit tests
    • -
      • Test the code of a single project
      -
    • Functional tests -
        -
      • Can be run on real or virtual servers
      • -
      • Test the service of a single project
      • -
      • Easy for developers to run
      • -
      -
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Usually harder for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Virtual Integration Tests

    -

    Devstack: https://github.com/openstack-dev/devstack

    -

    Easy for developers to recreate locally

    -

    On each commit:

    -
      -
    • Provision Cloud Server (surprisingly HARD!)
    • -
    • Run devstack to install code
    • -
    • On success - delete server
    • -
    • On failure:
    • -
        -
      • Keep Server
      • -
      • Install developer's ssh key
      • -
      • Give the server to the developer for 24H
      • -
      -
    -
    - -
    -

    Getting Started With Developing

    -http://www.linuxjedi.co.uk/2012/03/real-way-to-start-hacking-on-openstack.html -
      -
    • Get a launchpad account
    • -
    • Upload your SSH key to Launchpad
    • -
    • Sign the CLA: wiki/HowToContribute
    • -
    • Join the ~openstack-cla team on Launchpad
    • -
    • One time only:
      -  git config --global user.name "Firstname Lastname"
      -  git config --global user.email "your_email@youremail.com" 
      -  
    • -
    • Install git review
    • -
    -
    - -
    -

    Add your blog to OpenStack Planet

    -
    git clone git://github.com/openstack/openstack-planet.git
    -cd openstack-planet
    -# edit planet.ini
    -# add your image
    -git add images/yourusername.png
    -git add planet.ini
    -git commit
    -git review
    -
    - -
    -

    tox

    -
      -
    • Manages python virtualenvs
    • -
    • Runs multiple python versions
    • -
    -
    - -
    -

    Doing something more useful

    -
    git clone git://github.com/openstack/nova.git
    -# do things, now, to test it:
    -tox
    -# it's perfect - submit!
    -git commit
    -git review
    -
    -
    - -
    -

    Now We Have a Cloud!

      -
    • What are all of the different parts of it again?
    • -
    - -
    -

    Keystone

      -
    • Identity/Authentication Service
    • -
    • Service Catalog
    • -
    - -
    -

    Keystone: Authentication

      -
    • Authentication
    • -
    • Pluggable:
        -
      • ldap
      • -
      • pam
      • -
      • sql
      • -
    • -
    - -
    -

    Keystone: Service Catalog

      -
    • curl -https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
    • -
      -"serviceCatalog": [
      -    {
      -     "name": "Identity",
      -      "type": "identity",
      -      "endpoints": [{
      -        "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
      -     ....
      -    {
      -     "name": "Image Management",
      -     "type": "image",
      -     "endpoints": [{
      -        "tenantId": "74682717556353",
      -        "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
      -
      -
    - -
    -

    Nova

    -
      -
    • API
    • -
    • Scheduler
    • -
    • Compute
    • -
    • Network
    • -
    • Volume
    • -
    • messaging RabbitMQ, zeroMQ
    • -
    • database sqlalchemy: MySQL, PostGres, whatever
    • -
    - -
    -

    Nova API

    -
      -
    • OpenStack
    • -
    • ec2
    • -
    - -
    -

    Nova Compute

    -
      -
    • Compute Service
    • -
    • Pluggable
    • -
    • Virt Layer -
      • libvirt/kvm
      • -
      • xen
      • -
      • openvz
      • -
      • hyperv
      • -
      • baremetal
      • -
    • -
    - -
    -

    Nova Network

    -
      -
    • Hard bit :)
    • -
    • Provides/configures network to guests
    • -
      • -
      • flat
      • -
      • flatdhcp
      • -
      • vlan
      • -
    • -
    • Quantum
    • -
    • Floating IP Extension
    • -
    - -
    -

    Nova Volume

    -
      -
    • LVM to iscsi mapping
    • -
    • cinder
    • -
    - -
    -

    Glance

    -
      -
    • Image Registry
    • -
    • Image Store
    • -
    - -
    -

    Now What?

      -
    • sudo apt-get remove python-keyring
    • -
    • Services running in screen rejoin-stack.sh
    • -
    • Run tests exercise.sh
    • -
    • Horizon running on port 80 on localhost
    • -
    • devstack puts credentials in localrc, openrc does useful things. Get them with
      -source openrc
      -
    • -
    - -
    -

    screen refresher

    -
      -
    • C-a " windowlist
    • -
    • C-a 0 select window 0
    • -
    • C-a n next window
    • -
    • C-a p previous window
    • -
    -
    - -
    -

    Client Access

      -
    • pip install python-${PROJECT}client
    • -
    • Environment:
        -
      • OS_USERNAME
      • -
      • OS_PASSWORD
      • -
      • OS_AUTH_URL
      • -
      • OS_TENANT_NAME
      • -
      • OS_REGION_NAME
      • -
    • -
    - -
    -

    debug info

    -
    -export NOVACLIENT_DEBUG=1
    -
    -
    - -
    -

    Images in Glance

      -
      -glance image-list
      -
      -

      Save the UUID you want in a var called IMAGE_ID

      -
    - -
    -

    Security Groups (extension)

      -
    • Control what ports are open
    • -
      -SECGROUP=test_secgroup
      -nova secgroup-create $SECGROUP "$SECGROUP description"
      -nova secgroup-add-rule $SECGROUP icmp -1 -1 0.0.0.0/0
      -nova secgroup-add-rule $SECGROUP tcp 22 22 0.0.0.0/0
      -
      -
    - -
    -

    Keypairs (extension)

      -
    • ssh credentials for logging in
    • -
      -KEY_NAME=test2_key
      -KEY_FILE=key.pem
      -nova keypair-add $KEY_NAME > $KEY_FILE
      -
      -
    - -
    -

    Flavors

      -
      -nova flavor-list
      -
      -+----+-----------+-----------+------+-----------+------+-------+-------------+
      -| ID |    Name   | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor |
      -+----+-----------+-----------+------+-----------+------+-------+-------------+
      -| 1  | m1.tiny   | 512       | 0    | 0         |      | 1     | 1.0         |
      -| 2  | m1.small  | 2048      | 10   | 20        |      | 1     | 1.0         |
      -| 3  | m1.medium | 4096      | 10   | 40        |      | 2     | 1.0         |
      -| 4  | m1.large  | 8192      | 10   | 80        |      | 4     | 1.0         |
      -| 5  | m1.xlarge | 16384     | 10   | 160       |      | 8     | 1.0         |
      -+----+-----------+-----------+------+-----------+------+-------+-------------+
      -
      -
      -

      Save the flavor id as FLAVOR_ID

      -
    - -
    -

    Boot an Instance

      -
    • Returns the UUID of the server
    • -
    • Using the values saved previously: -
      -nova boot --flavor $FLAVOR_ID --image $IMAGE_ID --security_groups=$SECGROUP \
      -          --key_name $KEY_NAME $INSTANCE_NAME
      -nova list
      -
      -

      Save the UUID returned as VM_UUID

      -
    • -
    - -
    -

    Add an IP

      -
      -nova floating-ip-create
      -nova floating-ip-list
      -nova add-floating-ip $VM_UUID $FLOATING_IP
      -
      -
    - -
    -

    Volumes

      -
      -DEVICE=/dev/vdb
      -VOL_NAME=test_volume
      -nova volume-create --display_name=$VOL_NAME 1
      -nova volume-list
      -nova volume-attach $INSTANCE_NAME $VOLUME_ID $DEVICE
      -
      -
    - -
    -

    Hacking Code

    -
      -
    • Repos in /opt/stack
    • -
    • Installed via python setup.py develop
    • -
    - -
    -

    Simulated Production

    -

    Great! Now how about a real deployment

    -
    - -
    -

    Bare Metal Process

    - -

    Each test:

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack
    • -
    • Run test suite
    • -
    -
    - -
    -

    Test Process Improved

    - -

    One time (Orchestra driven):

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack dependencies
    • -
    • Snapshot LVM volume
    • -
    -

    Each test:

    -
      -
    • Kexec boot into LVM snapshot
    • -
    • Install OpenStack
    • -
    • Run test suite
    • -
    - -
    - -
    -

    Cobbler

    -
      -
    • Written by RedHat
    • -
    • PXE/net-install
    • -
    • Pluggable power management support (impi, drac, ilo ...)
    • -
    • Manage dns/dhcp/tftp - or use others
    • -
    • Templated kickstart or preseed files
    • -
    -
    - -
    -

    Ubuntu Orchestra

    -
      -
    • cobbler
    • -
    • squid
    • -
    • dnsmasq
    • -
    • nagios
    • -
    • rsyslog
    • -
    • cloud-init
    • -
    -
    - -
    -

    Walkthrough

    -
      -
    • https://github.com/openstack/openstack-ci-puppet
    • -
    • https://github.com/openstack/openstack-ci-puppet/tree/master/modules/orchestra
    • -
    -
    - -
    -

    Install Orchestra

    -
      -
    • apt-get install ubuntu-orchestra-server ipmitool
    • -
    • (install will download ubuntu install images and import them)
    • -
    -
    - -
    -

    Configure dnsmasq

    -
      -
    • Edit dhcp options in /etc/cobbler/dnsmasq.template
    • -
    • Add "dhcp-ignore=tag:!known"
    • -
    • Insert network range
    • -
    -
    - -
    -

    Cloud Init Script

    -
      -
    • Ubuntu Orchestra pre-seed files
    • -
    • In the preseed/late_command, use snippets
    • -
    • Run a cloud-init script to bootstrap puppet or chef
    • -
    -
    - -
    -

    Add Profile

    -
    -cobbler profile add \
    ---name=natty-x86_64-ostest \
    ---parent=natty-x86_64 \
    ---kickstart=/var/lib/cobbler/kickstarts/openstack.preseed \
    ---kopts="priority=critical locale=en_US"
    -
    -
    - -
    -

    Add machines manually

    -

    For each machine

    -
    -cobbler system add \
    ---name=baremetal1 \
    ---hostname=baremetal1 \
    ---profile=natty-x86_64-ostest \
    ---mac=00:11:22:33:44:55 \
    ---power-type=ipmitool \
    ---power-user=IPMI_USERNAME \
    ---power-pass=IPMI_PASS \
    ---power-address=IPMI_IP_ADDR \
    ---ip-address=SYSTEM_IP_ADDRESS \
    ---subnet=SYSTEM_SUBNET \
    ---kopts="netcfg/choose_interface=auto netcfg/dhcp_timeout=60 auto=true
    -priority=critical"
    -
    -
    - -
    -

    Adding systems automatically

    -

    cobbler-enlist

    -
    -d-i preseed/early_command string anna-install cobbler-enlist-udeb
    -d-i cobbler-enlist/cobbler-server-address http://IP/cobbler_api
    -d-i cobbler-enlist/cobbler-server-username cobbler
    -d-i cobbler-enlist/cobbler-server-password password
    -d-i cobbler-enlist/host-name some-host
    -d-i cobbler-enlist/host-profile 
    -d-i cobbler-enlist/warning-note note
    -
    -
    - -
    -

    Reinstall a machine

    -
    -cobbler sync
    -cobbler system edit --netboot-enabled=Y --name=baremetal1
    -cobbler system reboot --name=baremetal1
    -
    -
    - - -
    -

    Thanks!

    - -Slides are available at https://github.com/openstack-ci/publications in the -tutorial folder. - -
    - - - diff --git a/tutorial/notes b/tutorial/notes deleted file mode 100644 index 671429f..0000000 --- a/tutorial/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/tutorial/scripts/.htaccess b/tutorial/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/tutorial/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/tutorial/scripts/slidy.js b/tutorial/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/tutorial/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/tutorial/scripts/slidy.js.gz b/tutorial/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/tutorial/scripts/slidy.js.gz and /dev/null differ diff --git a/tutorial/styles/.htaccess b/tutorial/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/tutorial/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/tutorial/styles/openstack.css b/tutorial/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/tutorial/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/tutorial/styles/slidy.css b/tutorial/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/tutorial/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/tutorial/styles/w3c-blue.css b/tutorial/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/tutorial/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/uds-p-launchpad/Overview.html b/uds-p-launchpad/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/uds-p-launchpad/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/uds-p-launchpad/Overview.xhtml b/uds-p-launchpad/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/uds-p-launchpad/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/uds-p-launchpad/blank.html b/uds-p-launchpad/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/uds-p-launchpad/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/uds-p-launchpad/graphics/bullet-fold-dim.gif b/uds-p-launchpad/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/uds-p-launchpad/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-fold-dim.png b/uds-p-launchpad/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/uds-p-launchpad/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-fold.gif b/uds-p-launchpad/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/uds-p-launchpad/graphics/bullet-fold.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-fold.png b/uds-p-launchpad/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/uds-p-launchpad/graphics/bullet-fold.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-nofold-dim.gif b/uds-p-launchpad/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/uds-p-launchpad/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-nofold-dim.png b/uds-p-launchpad/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/uds-p-launchpad/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-nofold.gif b/uds-p-launchpad/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/uds-p-launchpad/graphics/bullet-nofold.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-nofold.png b/uds-p-launchpad/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/uds-p-launchpad/graphics/bullet-nofold.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-unfold-dim.gif b/uds-p-launchpad/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/uds-p-launchpad/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-unfold-dim.png b/uds-p-launchpad/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/uds-p-launchpad/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-unfold.gif b/uds-p-launchpad/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/uds-p-launchpad/graphics/bullet-unfold.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet-unfold.png b/uds-p-launchpad/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/uds-p-launchpad/graphics/bullet-unfold.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/bullet.png b/uds-p-launchpad/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/uds-p-launchpad/graphics/bullet.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/example.png b/uds-p-launchpad/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/uds-p-launchpad/graphics/example.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/example.svg b/uds-p-launchpad/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/uds-p-launchpad/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/uds-p-launchpad/graphics/face1.gif b/uds-p-launchpad/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/uds-p-launchpad/graphics/face1.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/face2.gif b/uds-p-launchpad/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/uds-p-launchpad/graphics/face2.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/face3.gif b/uds-p-launchpad/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/uds-p-launchpad/graphics/face3.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/face4.gif b/uds-p-launchpad/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/uds-p-launchpad/graphics/face4.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/fold-bright.gif b/uds-p-launchpad/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/uds-p-launchpad/graphics/fold-bright.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/fold-dim.bmp b/uds-p-launchpad/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/uds-p-launchpad/graphics/fold-dim.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/fold-dim.gif b/uds-p-launchpad/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/uds-p-launchpad/graphics/fold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/fold.bmp b/uds-p-launchpad/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/uds-p-launchpad/graphics/fold.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/fold.gif b/uds-p-launchpad/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/uds-p-launchpad/graphics/fold.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/icon-blue.png b/uds-p-launchpad/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/uds-p-launchpad/graphics/icon-blue.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/keys2.jpg b/uds-p-launchpad/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/uds-p-launchpad/graphics/keys2.jpg and /dev/null differ diff --git a/uds-p-launchpad/graphics/nofold-dim.bmp b/uds-p-launchpad/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/uds-p-launchpad/graphics/nofold-dim.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/nofold-dim.gif b/uds-p-launchpad/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/uds-p-launchpad/graphics/nofold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/nofold.bmp b/uds-p-launchpad/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/uds-p-launchpad/graphics/nofold.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/open-stack-cloud-computing-logo-2.png b/uds-p-launchpad/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/uds-p-launchpad/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/openstack-cloud-software-vertical-large.png b/uds-p-launchpad/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/uds-p-launchpad/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/uds-p-launchpad/graphics/unfold-bright.gif b/uds-p-launchpad/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/uds-p-launchpad/graphics/unfold-bright.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/unfold-dim.bmp b/uds-p-launchpad/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/uds-p-launchpad/graphics/unfold-dim.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/unfold-dim.gif b/uds-p-launchpad/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/uds-p-launchpad/graphics/unfold-dim.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/unfold.bmp b/uds-p-launchpad/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/uds-p-launchpad/graphics/unfold.bmp and /dev/null differ diff --git a/uds-p-launchpad/graphics/unfold.gif b/uds-p-launchpad/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/uds-p-launchpad/graphics/unfold.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/w3c-logo-blue.gif b/uds-p-launchpad/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/uds-p-launchpad/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/w3c-logo-blue.svg b/uds-p-launchpad/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/uds-p-launchpad/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/uds-p-launchpad/graphics/w3c-logo-slanted.jpg b/uds-p-launchpad/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/uds-p-launchpad/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/uds-p-launchpad/graphics/w3c-logo-white.gif b/uds-p-launchpad/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/uds-p-launchpad/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/uds-p-launchpad/graphics/w3c-logo-white.svg b/uds-p-launchpad/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/uds-p-launchpad/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/uds-p-launchpad/help/.htaccess b/uds-p-launchpad/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-launchpad/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-launchpad/help/help.html b/uds-p-launchpad/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/uds-p-launchpad/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/uds-p-launchpad/help/help.html.ca b/uds-p-launchpad/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/uds-p-launchpad/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.de b/uds-p-launchpad/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/uds-p-launchpad/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/uds-p-launchpad/help/help.html.en b/uds-p-launchpad/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/uds-p-launchpad/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.es b/uds-p-launchpad/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/uds-p-launchpad/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.fr b/uds-p-launchpad/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/uds-p-launchpad/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/uds-p-launchpad/help/help.html.hu b/uds-p-launchpad/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/uds-p-launchpad/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.nl b/uds-p-launchpad/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/uds-p-launchpad/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.pl b/uds-p-launchpad/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/uds-p-launchpad/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/uds-p-launchpad/help/help.html.pt-br b/uds-p-launchpad/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/uds-p-launchpad/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.pt_br b/uds-p-launchpad/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/uds-p-launchpad/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-launchpad/help/help.html.sv b/uds-p-launchpad/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/uds-p-launchpad/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/uds-p-launchpad/help/help.pt-br.html b/uds-p-launchpad/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/uds-p-launchpad/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-launchpad/images/489px-MySQL.svg.png b/uds-p-launchpad/images/489px-MySQL.svg.png deleted file mode 100644 index bfd37da..0000000 Binary files a/uds-p-launchpad/images/489px-MySQL.svg.png and /dev/null differ diff --git a/uds-p-launchpad/images/Drizzle-med.png b/uds-p-launchpad/images/Drizzle-med.png deleted file mode 100644 index 8cbbbc8..0000000 Binary files a/uds-p-launchpad/images/Drizzle-med.png and /dev/null differ diff --git a/uds-p-launchpad/images/OpenStackLogo_wTag.png b/uds-p-launchpad/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/uds-p-launchpad/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-bp-topic.png b/uds-p-launchpad/images/gerrit-bp-topic.png deleted file mode 100644 index 51241ad..0000000 Binary files a/uds-p-launchpad/images/gerrit-bp-topic.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-bp.png b/uds-p-launchpad/images/gerrit-bp.png deleted file mode 100644 index cdef419..0000000 Binary files a/uds-p-launchpad/images/gerrit-bp.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-bug.png b/uds-p-launchpad/images/gerrit-bug.png deleted file mode 100644 index ab27fd9..0000000 Binary files a/uds-p-launchpad/images/gerrit-bug.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-jenkins.png b/uds-p-launchpad/images/gerrit-jenkins.png deleted file mode 100644 index f9a08e7..0000000 Binary files a/uds-p-launchpad/images/gerrit-jenkins.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-sso.png b/uds-p-launchpad/images/gerrit-sso.png deleted file mode 100644 index 8006241..0000000 Binary files a/uds-p-launchpad/images/gerrit-sso.png and /dev/null differ diff --git a/uds-p-launchpad/images/gerrit-verify.png b/uds-p-launchpad/images/gerrit-verify.png deleted file mode 100644 index e92c833..0000000 Binary files a/uds-p-launchpad/images/gerrit-verify.png and /dev/null differ diff --git a/uds-p-launchpad/images/jenkins-gate.png b/uds-p-launchpad/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/uds-p-launchpad/images/jenkins-gate.png and /dev/null differ diff --git a/uds-p-launchpad/images/lp-bp.png b/uds-p-launchpad/images/lp-bp.png deleted file mode 100644 index 69b4a69..0000000 Binary files a/uds-p-launchpad/images/lp-bp.png and /dev/null differ diff --git a/uds-p-launchpad/images/lp-bug.png b/uds-p-launchpad/images/lp-bug.png deleted file mode 100644 index 41fe14d..0000000 Binary files a/uds-p-launchpad/images/lp-bug.png and /dev/null differ diff --git a/uds-p-launchpad/images/stack-o-pancakes-150x150.png b/uds-p-launchpad/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/uds-p-launchpad/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/uds-p-launchpad/index.html b/uds-p-launchpad/index.html deleted file mode 100644 index 7ae9a01..0000000 --- a/uds-p-launchpad/index.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - -OpenStack Project Continuous Integration and Launchpad - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    How OpenStack Integrates Launchpad and Continuous Integration

    -

    How OpenStack Moved from BZR to Git and Still Uses Launchpad

    -

    -Monty Taylor -<mordred@inaugust.com>
    -James E. Blair -<corvus@inaugust.com>
    - -

    - - -
    -

    Infrastructure Lineage

    -
      -
    • -
    • -
    • - -
    - -
    -

    OpenStack Gated Trunk

    - - - -
    - -
    -

    Git Revolt

    - -
      -
    • Developers wanted to use git
    • -
    • Launchpad had no git support
    • -
    • Github has no approval state
    • -
    -
    - - - - -
    -

    Bug Integration - Gerrit

    - - - -
    - -
    -

    Bug Integration - Launchpad

    - - - -
    - -
    -

    Blueprints - Gerrit

    - - - -
    - -
    -

    Blueprints - Launchpad

    - - - -
    - -
    -

    Blueprints - Gerrit Topics

    - - - -
    - -
    -

    Launchpad SSO Integration

    - - - -
    - - -
    -

    Gerrit Jenkins Integration

    - - - -
    - -
    -

    Gerrit Verification State

    - - - -
    - -
    -

    To Build This Using Launchpad

    -
      -
    • Subscribable event triggers
    • -
    • Verification status in merge requests
    • -
    • Launchpad API language bindings
    • -
    -
    - -
    -

    While We're at It

    -
      -
    • Foreign merge props
    • -
    • Mirrored branches
    • -
    • Branch/merge proposal integration with blueprints
    • -
    • Globally unique blueprint IDs
    • -
    • Structured Information in blueprints
    • -
    • Branch link fields supporting arbitrary urls
    • -
    • First class git support
    • -
    -
    - -
    -

    Thanks!

    - -

    - -

    - - - - diff --git a/uds-p-launchpad/notes b/uds-p-launchpad/notes deleted file mode 100644 index 671429f..0000000 --- a/uds-p-launchpad/notes +++ /dev/null @@ -1,69 +0,0 @@ -[title] -Hi. I'm Monty This is Jim. - -[Lineage] -Our build infrasturcture and many of its philosophies come from: -MySQL - Launchpad/bzr -Drizzle - gated trunk, using all of the launchpad features -OpenStack - automated gated trunk via tarmac - -[gated trunk] -So with openStack, we did automated checks of every proposed commit through -jenkins and everything was happy - -[Git Revolt] -Then we had a revolt, because the developers wanted to use git. -Launchpad has no git support (or in-line code reviews) -Github's pull-request have no approval state - -[Enter Gerrit] -Gerrit, from google used by android, has all of the things we needed -Except for Launchpad integration -So we added it - -[Bug Integration] -Gerrit review launchpad links on bug metions -Gerrit topics set from bugs - -[Launchpad side] -Gerrit sends bug control emails with links to the review and the commit -State changes- in progress when review is submitted. Fix committed when -patch is accepted - -[Blueprint Integration] -Blueprint links in commit messages -Topics set from blueprint mentions - -[Launchpad side] -Inject information on commits to blueprints just like bugs -Have to use the whiteboard -Link to review - but also to the general gerrit topic, since a blueprint -might have more than one branch - -[SSO] -Gerrit and Jenkins both use Launchpad OpenID for auth - -[Jenkins Integration] -Gerrit has deep jenkins integration. Listens on an ssh stream and takes -active action. Posts back to the review with jenkins links on success or -failure - -[Gerrit Verification] -Jenkins fills the gerrit role of verifier. -In addition to being approved or denied, a given change can be verified as -working or not. - -[Feature REquest time] -Subscribably event triggers -Verification status -launchpadlib api bindings in non-python - -[While we're at it] -Foreign merge props - bugs were cool, lots of people do code review -elsewhere -mirrored branches -Branch/merge prop integration with blueprints -Structured info in blueprints - - - diff --git a/uds-p-launchpad/scripts/.htaccess b/uds-p-launchpad/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-launchpad/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-launchpad/scripts/slidy.js b/uds-p-launchpad/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/uds-p-launchpad/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/uds-p-launchpad/scripts/slidy.js.gz b/uds-p-launchpad/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/uds-p-launchpad/scripts/slidy.js.gz and /dev/null differ diff --git a/uds-p-launchpad/styles/.htaccess b/uds-p-launchpad/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-launchpad/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-launchpad/styles/openstack.css b/uds-p-launchpad/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/uds-p-launchpad/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/uds-p-launchpad/styles/slidy.css b/uds-p-launchpad/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/uds-p-launchpad/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/uds-p-launchpad/styles/w3c-blue.css b/uds-p-launchpad/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/uds-p-launchpad/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/uds-p-qa/Overview.html b/uds-p-qa/Overview.html deleted file mode 100644 index e0cf306..0000000 --- a/uds-p-qa/Overview.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/uds-p-qa/Overview.xhtml b/uds-p-qa/Overview.xhtml deleted file mode 100644 index e0cf306..0000000 --- a/uds-p-qa/Overview.xhtml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - -HTML Slidy - - - - - - - - - -
    - -
    -slanted W3C logo -
    -
    - - - - - - - - - - - - - -Cover page images (keys)
    -

    HTML Slidy: Slide Shows in HTML and XHTML

    - -

    Dave Raggett, -<dsr@w3.org>
    -
    -
    -
    -
    Hit the space bar or swipe right for next slide

    -
    - -
    -

    Slide Shows in HTML and XHTML

    - -
      -
    • You can now create accessible slide shows with ease
    • - -
    • Works across browsers and is operated like PowerPoint - -
        -
      • Advance to next slide with mouse click, space bar or swipe right
      • - -
      • Move forward/backward between slides with Cursor Left, -Cursor Right, Pg Up and Pg Dn -keys, or swipe right or left
      • - -
      • Home key for first slide, End - key for last slide
      • - -
      • The "C" key for an automatically generated -table of contents, or click on "contents" on the toolbar or -swipe up or down
      • - -
      • Function F11 to go full screen and back
      • - -
      • The "F" key toggles the display of the footer
      • - -
      • The "A" key toggles display of current vs all -slides - -
          -
        • Try it now to see how to include notes for handouts (this is -explained in the notes following this slide)
        • -
        -
      • - -
      • Font sizes automatically adapt to browser window size - -
          -
        • use S and B keys for -manual control (or < and >, or the - and -+ keys on the number pad
        • -
        • Use CSS to set a relative font size on a given slide to make -the content bigger or smaller than on other slides
        • -
        -
      • - -
      • Switching off JavaScript reveals all slides
      • -
      -
    • - -
    • Now move to next slide to see how it works
    • -
    - - -
    - -
    -

    For handouts, its often useful to include extra notes using a -div element with class="handout" following each slide, as in:

    - -
    -<div class="slide"> 
    - ... your slide content ...
    -</div>
    -
    -<div class="handout">
    - ... stuff that only appears in the handouts ...
    -</div>
    -
    -
    - -
    -

    What you need to do

    - - - -
    -<?xml version="1.0" encoding="utf-8"?>
    -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    -<head> 
    -  <title>Slide Shows in XHTML</title> 
    -  <meta name="copyright" 
    -   content="Copyright &#169; 2005 your copyright notice" /> 
    -  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
    -   href="http://www.w3.org/Talks/Tools/Slidy2/styles/slidy.css" /> 
    -  <script src="http://www.w3.org/Talks/Tools/Slidy2/scripts/slidy.js" 
    -   charset="utf-8" type="text/javascript"></script> 
    -  <style type="text/css"> 
    -    <!-- your custom style rules --> 
    -  </style> 
    -</head>
    -<body>
    -   ... your slides marked up in XHTML ...
    -</body>
    -</html>
    -
    -
    - -
    -

    To get the W3C Blue Style

    - -

    The head element should include the following link to the style -sheet:

    - -
    -<link rel="stylesheet" type="text/css" media="screen, projection, print"
    - href="http://www.w3.org/Talks/Tools/Slidy2/styles/w3c-blue.css" /> 
    -
    - -

    The body element's content should start with the following -markup:

    - -
    -<div class="background"> 
    -  <img id="head-icon" alt="graphic with four colored squares"
    -    src="http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png" /> 
    -  <object id="head-logo" title="W3C logo" type="image/svg+xml"
    -    data="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.svg"><img
    -   src="http://www.w3.org/Talks/Tools/Slidy2/graphics/w3c-logo-white.gif" 
    -   alt="W3C logo" id="head-logo-fallback" /></object>
    -</div> 
    -
    - -

    This adds the logos on the top left and right corners of the -slide.

    - -

    You are of course welcome to create your own slide designs. -You can provide different styles and backgrounds for -different slides (more details later).

    - -

    Use the meta element with name="copyright" -for use in the slide show footer:

    - -
    -<meta name="copyright" 
    -content="Copyright &#169; 2005-2009 W3C (MIT, ERCIM, Keio)" /> 
    -
    -
    - -
    -

    Upgrading from previous versions of Slidy

    - -
      -
    • This uses a new version of the HTML Slidy script
    • -
    • It is designed to work better with other scripts, -e.g. for UI controls within your slides -
        -
      • Only adds one global name "w3c_slidy"
      • -
      • Doesn't interfere with other scripts that set event handers -such as onload on body element
      • -
      -
    • -
    • Works for slides delivered as text/html and application/xhtml+xml
    • -
    • New presentation timer feature
    • -
    • Initial prompt on first slide to help newcomers to Slidy
    • -
    • Better support for styling slides and printing them
    • -
    • Requires additional style rules, so new script won't work -with old presentations without changes to their style sheets - -
    • -
    • But old presentations will work unchanged as they refer to -the old script!
    • -
    -
    - -
    -

    To use it off-line

    - -
      -
    • You can download slidy.zip and unzip -it to create a Slidy directory on your machine
    • - -
    • If you have cvs access to the W3C site you can check out the Slidy -directory
    • - -
    • Remember to periodically check for updates
    • - -
    • You then have two choices: - -
        -
      1. Use relative URIs depending on your local setup to access the -appropriate files. Use the same directory structure as on the W3C -server, ie, ".../2005/Talks/...".
      2. - -
      3. Run a Web server on your machine so that the directory above -can be accessed via http://localhost/Talks/Tools/Slidy2 -and use the URIs of the form "/Talks/Tools/Slidy2/styles/slidy.css", -"/Talks/Tools/Slidy2/scripts/slidy.js".
      4. -
    • - -
    • In both cases you can then publish your files on the W3C server -unchanged.
    • - -
    • NOTE Internet Explorer on Windows XP now disables -scripting for web pages loaded directly from the local file system, -a work around is to use another browser, e.g. Firefox or Opera
    • - -
    • Please feel free to create your own designs, and help us to build -a gallery of Slidy styles.
    • - -
    • My Google TechTalk (1st Feb 2006) -uses a notebook themed style
    • -
    -
    - -
    -

    Timing Your Presentation

    - -
      -
    • Sometimes it is handy to know just how much time you have to -left to finish your presentation
    • -
    • To get this feature, add the following markup to the -content of the head element, replacing 5 by the duration -of your presentation in minutes -
      <meta name="duration" content="5" />
      -
    • -
    • The time left in minutes and seconds is shown in the footer -next to the slide number
    • -
    • The clock starts to run when you move away from the first slide
    • -
    • Moving back to the first slide pauses the clock
    • -
    - - -
    - -
    -

    Generate a Title Page

    - -

    If you want a separate title page with the W3C blue style, the -first slide should be as follows:

    - -
    -<div class="slide cover"> 
    - <img src="http://www.w3.org/Talks/Tools/Slidy2/graphics/keys.jpg" 
    -  alt="Cover page images (keys)" class="cover" /> 
    - <br clear="all" />            
    - <h1>HTML Slidy: Slide Shows in XHTML</h1> 
    - <p><a href="http://www.w3.org/People/Raggett/">Dave Raggett,</a> 
    - <a href="mailto:dsr@w3.org">dsr@w3.org</a></p> 
    -</div> 
    -
    - -

    The w3c-blue.css -style sheet looks for the classes "slide" and "cover" on div -and img elements using the CSS selector div.slide.cover

    - -

    This technique can be used to assign your slides to different -classes with a different appearence for each such class.

    - -

    Slidy also allows you to use different background markup for -different slides, based upon shared class names, as in "foo" below. -Backgrounds without additional class names are always shown except -when the slide isn't transparent. You may need to tweak your -custom style sheet.

    - -
    -<div class="background foo">
    -   ... background content ...
    -<div>
    -
    -...
    -
    -<div class="slide foo">
    -   ... slide content ...
    -<div>
    -
    -
    - -
    -

    Incremental display of slide contents

    - -

    For incremental display, use class="incremental", for -instance:

    - -
      -
    • First bullet point
    • - -
    • Second bullet point
    • - -
    • Third bullet point
    • -
    - -

    which is marked up as follows:

    - -
    -<ul class="incremental"> 
    -  <li>First bullet point</li> 
    -  <li>Second bullet point</li> 
    -  <li>Third bullet point</li> 
    -</ul> 
    - 
    -<p class="incremental">which is marked up as follows:</p> 
    - 
    -<pre class="incremental"> 
    - ... 
    -</pre> 
    -
    - -
    -

    An element is incrementally revealed if its parent element has -class="incremental" or if itself has that attribute. Text nodes are -not elements and are revealed when their parent element is revealed. -You can use class="incremental" on any element except for <br />. -Use class="non-incremental" to override the effect of setting the -parent element's class to incremental.

    - -

    Note: you will see a red asterisk on the left of the toolbar -when there is still something more to reveal.

    -
    -
    - -
    -

    Create outline lists with hidden content

    - -

    You can make your bullet points or numbered list items -into outlines that you can expand or collapse

    - -
      -
    • Just add class="outline" to the ul or ol -element. Click on this list item for more details. - -
        -
      • The Slidy script will then treat the list -as an outline list.
      • -
      • Clicking on outline list items will expand/collapse -block-level elements within that list item.
      • -
      • Click on the above to make this list item -collapse again.
      • -
      -
    • -
    • Users will then see expand/collapse icons as appropriate -and may click anywhere on the list item to change its state. -This particular list item can't be expanded or collapsed.
    • -
    • Add class="expand" to any li elements that -you want to start in an expanded state. - -
        -
      • By default Slidy hides all the block level elements within the -outline list items unless you have specified class="expand".
      • -
      • Such pre-expanded items can be collapsed by clicking on them.
      • -
      -
    • -
    • Note expand/collapse icon highlighting requires browser -support for :hover which isn't supported by IE6. - -
        -
      • Microsoft says it will be supported by IE7 along with -many fixes for other CSS woes in IE6.
      • -
      -
    • -
    - -
    -<ol class='outline'>
    -  <!-- topic 1 starts collapsed -->
    -  <li>Topic 1
    -    <ol>
    -        <li>subtopic a</li>
    -        <li>subtopic b</li>
    -    </ol>
    -  </li>
    -  <!-- topic 2 starts expanded -->
    -  <li class="expand">Topic 2
    -    <ol>
    -        <li>subtopic c</li>
    -        <li>subtopic d</li>
    -    </ol>
    -  </li>
    -</ol>
    -
    -
    - - -
    -

    Make your images scale with the browser window size

    - -

    For adaptive layout, use percentage widths on images, together -with CSS positioning:

    - -
      -
    • CSS positioning is simpler and more reliable than using -tables
    • -
    - -
    -<div class="slide"> 
    -  <h1>Analysts - "Open standards programming will become 
    -  mainstream, focused around VoiceXML"</h1> 
    -  <!-- use CSS positioning and scaling for adaptive layout --> 
    -  <img src="trends.png" width="50%" style="float:left" 
    -   alt="projected growth of VoiceXML" /> 
    -
    -  <blockquote style="float:right;width: 35%"> 
    -    VoiceXML will dominate the voice environment, due to its 
    -    flexibility and eventual multimodal capabilities 
    -  </blockquote><br clear="all" /> 
    - 
    -  <p style="text-align:center">Source Data Monitor, March 
    -  2004</p> 
    -</div> 
    -
    - -

    To work around a CSS rendering bug in IE relating -to margins, you can set display:inline on floated elements.

    -
    - -
    -

    Incremental display of layered images

    - -

    These can be marked up using CSS relative positioning, e.g.

    - -
    -<div class="incremental" 
    - style="margin-left: 4em; position: relative"> 
    -  <img src="graphics/face1.gif" alt="face" 
    -   style="position: static; vertical-align: bottom"/> 
    -  <img src="graphics/face2.gif" alt="eyes" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face3.gif" alt="nose" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -  <img src="graphics/face4.gif" alt="mouth" 
    -    style="position: absolute; left: 0; top: 0" /> 
    -</div> 
    -
    - -

    You should also use transparent GIF -images to avoid the IE/Win bug for alpha channel in PNG. A fix is -expected in IE 7. A work around is -available on skyzyx.com. My thanks to ACID2 for the -graphics.

    - -
    -"face" -eyes -mouth
    -
    - -
    -

    How to center content vertically and horizontally

    -
    -
    -

    Within the div element for your slide:

    -
    -<div class="vbox"></div>
    -<div class="hbox">
    -Place the content here
    -</div>
    -
    -

    and style it with the following:

    -
    -div.vbox {
    -  float: left;
    -  height: 40%; width: 50%;
    -  margin-top: -220px;
    -}
    -div.hbox {
    -  width:60%;  margin-top: 0;
    -  margin-left:auto; margin-right:auto;
    -  height: 60%;
    -  border:1px solid silver;
    -  background:#F0F0F0;
    -  overflow:auto;
    -  text-align:left;
    -  clear:both;
    -}
    -
    - -

    The above styling is included in w3c-blue.css, -which is designed to be used with slidy.css, but you -are encouraged to develop your own style sheet with your own look and feel.

    -
    -
    - -
    -

    Include SVG Content

    - -

    Inclusion of SVG content can be done using the object element, -for example:

    - -
    Indian Office logo
    - -

    has been achieved by:

    - -
    -<object data="graphics/example.svg" type="image/svg+xml" 
    -  width="50%" height="10%" title="Indian Office logo"> 
    -    <img src="graphics/example.png" width="50%" 
    -          alt="Indian Office logo" /> 
    -</object> 
    -
    - -

    This ensures that the enclosed png is displayed when the browser -has no plugin installed or can't display SVG directly. Providing -such a fall back is very important! Don't forget the alt text for -people who can't see the image.

    - -

    However, there are caveats, see the next slide!

    -
    - -
    -

    Caveats with SVG+object

    - -

    Adobe has recently withdrawn support for its SVG Viewer, so you are -recommended to consider alternatives. -If you still using the Adobe SVG viewer you should be aware of bugs -when using the it with IE, Namely:

    - -
      -
    • Most modern browsers generally support SVG SVG Tiny 1.1 or better -natively without the need for a plugin
    • - -
    • If you need to use Internet Explorer you are advised to upgrade -to IE9 which includes native support for SVG.
    • - -
    • Patches to Internet Explorer mean that the Adobe SVG Viewer -version 3.03 no longer works with IE6. You are therefore recommended -to uninstall version 3.03 and instead install Adobe SVG Viewer -6.0 preview if this is available to to you.
    • - -
    • IE6 makes a copy of the SVG file on the local disc -when displaying it; but doesn't pass the original URI to the plugin
    • - -
    • As a result relative references from within the SVG to external -resources (scripts, CSS, images, other SVG) will break.
    • - -
    • The work around is to use absolute references within your SVG.
    • - -
    • On Windows, the Adobe SVG plugin doesn't respect the CSS z-index -property, and if used on backgrounds will always show through other -content
    • -
    -
    - -
    -

    Additional Remarks

    - -
      -
    • Slides are auto-numbered on the slide show footer
    • - -
    • You can link into the middle of a slide -show: - -
        -
      • It works out which slide you want and hides the rest
      • - -
      • You can even link between slides in the same slide show
      • - -
      • Individual sides can be addressed with the syntax #(slide -number),
        -e.g. slide 3 of this presentation is: http://www.w3.org/Talks/Tools/Slidy#(3) -
          -
        • Previous versions of Slidy used square brackets, which will -also work.
        • -
      • -
      • Note that the browser's back/forward buttons may not work as -you might expect due to browser problems.
      • -
      -
    • - -
    • Adding "title" to the list of classes for div elements that serve -as title pages will render the corresponding entry in the table of -contents in bold italic text (press "C" now for an example)
    • - -
    • If your slides have more content than normal, use a meta -element to request a smaller font - -
        -
      • the following requests fonts to be one step smaller than -the Slidy default for the current window width, and positive -integers will make the fonts correspondingly larger
      • -
      - -
      -<meta name="font-size-adjustment" content="-1" /> 
      -
      - -
        -
      • Slidy uses JavaScript to dynamically set the font size on the -body element, but it is okay to specify relative font changes on -other elements within your own style sheet, e.g.
      • -
      -
      div.slide.large { font-size: 200% }
      -
    • - -
    • You are encouraged to ensure your markup is valid. HTML Tidy can be used -to find and correct common markup problems
    • - -
    • The slide show script and style sheet can be used freely under -W3C's software -licensing and document -use policies
    • -
    • At XTech2006 -I gave this presentation -on Slidy -(Paper).
    • -
    -
    - -
    -

    Localization and automatic translation

    - -

    Slidy now includes support for localization

    - - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - -
      -
    • The tool bar is localized according to the language of the presentation
    • -
    • This is taken from the xml:lang or lang attributes on the html element
    • -
    • The help file is -selected based upon your browser's language preferences
    • -
    • As of 29th July 2010, the languages supported are: English, -Spanish, Catalonian, Czech, Dutch, German, Polish, French, -Hungarian, Italian, Greek, Japanese, Chinese, Russian and -Swedish
    • -
    • If you would like to contribute localizations for other languages, -please get in touch with Dave Raggett <dsr@w3.org>
    • -
    • The following illustrates what was used for Spanish
    • -
    -
    -// for each language there is an associative array
    -  strings_es: {
    -    "slide":"pág.",
    -    "help?":"Ayuda",
    -    "contents?":"Índice",
    -    "table of contents":"tabla de contenidos",
    -    "Table of Contents":"Tabla de Contenidos",
    -    "restart presentation":"Reiniciar presentación",
    -    "restart?":"Inicio"
    -  },
    -  help_es:
    -    "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
    -    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
    -
    - -

    Note: Slidy now works with current slides translated into French. Use -right mouse button to open frame without Google header. To disable -automatic translation of the content of particular elements add -class="notranslate", see breaking the language barrier.

    -
    - -
    -

    Future Plans

    - -

    Recent additions have included a table of contents, and a way to -hide and reveal content in the spirit of outline lists. The -script has been rewritten to make it easier to combine with other -scripts, e.g. for UI controls, and support swipes for navigation on -touch screen devices. Further work is anticipated on the -following:

    - -
      -
    • Collecting a gallery of good looking slide themes -
        -
      • Opportunities for graphics designers!
      • -
      -
    • -
    • Bob Ferris has worked on a -number of UI extensions which could be incorporated into the -W3C slidy script.
    • -
    • Getting SVG Tiny to work on IE without need for SVG plugin -
        -
      • Using scripts to dynamically convert SVG Tiny to VML
      • -
      • Note that IE9 introduces native SVG support, so it may -no longer be worth working on SVG to VML for rendering of SVG
      • -
      -
    • -
    • Pre-alpha version of wysiwyg slide editor (see screenshot) -
        -
      • Using contentEditable when available, otherwise -falling back to textarea and plain text conventions
      • -
      • Using XMLHttpRequest to dynamically reflect changes to server
      • -
      -
    • -
    • Mechanism for remotely driving Slidy as part of distributed meetings -
        -
      • Using XMLHttpRequest to listen for navigation commands
      • -
      • Using VoIP for accompanying audio and teleconferencing
      • -
      • Synchronizing recorded spoken presentation with currently viewed slide
      • -
      -
    • -
    • Filters from PowerPoint and Open Office - -
    • -
    - -

    If you have comments, suggestions for improvements, or would -like to volunteer your help with further work on Slidy, -please contact Dave Raggett <dsr@w3.org>

    -
    - -
    -

    Acknowledgements

    - -
      -
    • My thanks to everyone who sent in bug reports and feature -requests
    • -
    • Opera Software for implementing CSS @media projection and -promoting the idea of using the Web for presentations with -Opera -Show
    • -
    • Tantek Çelik for his -pioneering work on applying JavaScript for slide presentations on -other browsers
    • -
    • Eric Meyer for taking this further with the excellent S5
    • -
    • W3C's slidemaker -tool, which uses a perl script to split an html file up into -one file per slide with navigation buttons
    • -
    • Early versions of HTML -Tidy which supported a means to create presentations via splitting -html files on h2 elements
    • -
    • Many sites with advice on JavaScript work arounds for browser -variations
    • -
    • Microsoft for pioneering contentEditable and XMLHTTP which -both provide tremendous opportunities for Web applications
    • -
    • Microsoft Office which provided the impetus for creating -Slidy as a Web-based alternative to the ubiquitous use of PowerPoint
    • -
    - -

    Note that while Slidy and -S5 were developed independently, both support the use of the -class values "slide" and "handout" for div elements. Slidy doesn't -support the "layout" class featured in S5 and Opera Show, but -instead provides a more flexible alternative with the "background" -class, which enables different backgrounds on different slides.

    -
    - -
    -

    Acknowledgements

    - -

    The following people have contributed localizations:

    - -
      -
    • Emmanuelle Gutiérrez y Restrepo, Spanish
    • -
    • Joan V. Baz, Catalan
    • -
    • Jakub Vrána, Czech
    • -
    • Ruud Steltenpool, Dutch
    • -
    • Beat Vontobel, German
    • -
    • Krzysztof Kotowicz, Polish
    • -
    • Tamas Horvath, Hungarian
    • -
    • Creso Moraes, Brazilian Portuguese
    • -
    • Giuseppe Scollo, Italian
    • -
    • Konstantinos Koukopoulos, Greek
    • -
    • Yoshikazu Sawa (澤 義和), Japanese
    • -
    • Shelley Shyan, Chinese
    • -
    • Andrew Pantyukhin, Russian
    • -
    • Saasha Metsärantala, Swedish
    • -
    - -

    The following people have contributed bug reports:

    - -
      -
    • Ivan Herman
    • -
    • Steve Bratt
    • -
    • Peter Patel-Schneider
    • -
    • Matthew Coller
    • -
    • Rune Heggtveit
    • -
    • Gopal Venkatesan
    • -
    • Cay Horstmann
    • -
    • Schuyler Duveen
    • -
    • Matteo Nannini
    • -
    • Ralph Swick
    • -
    • Jakub Vrána
    • -
    • Philip Bolt
    • -
    • Jon Frost
    • -
    - -

    Douglas Crockford for jsmin -which was used to minify the script before compressing it with gzip.

    -
    - - diff --git a/uds-p-qa/blank.html b/uds-p-qa/blank.html deleted file mode 100644 index c9081eb..0000000 --- a/uds-p-qa/blank.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -HTML Slidy - template for basic presentations - - - - - - - -
    -

    Sample heading

    - -

    This is a template file you can copy and edit on your own server.

    - -
      -
    • point 1
    • -
    • point 2
    • -
    • . . .
    • -
    -
    - - diff --git a/uds-p-qa/graphics/bullet-fold-dim.gif b/uds-p-qa/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/uds-p-qa/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-fold-dim.png b/uds-p-qa/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/uds-p-qa/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-fold.gif b/uds-p-qa/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/uds-p-qa/graphics/bullet-fold.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-fold.png b/uds-p-qa/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/uds-p-qa/graphics/bullet-fold.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-nofold-dim.gif b/uds-p-qa/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/uds-p-qa/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-nofold-dim.png b/uds-p-qa/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/uds-p-qa/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-nofold.gif b/uds-p-qa/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/uds-p-qa/graphics/bullet-nofold.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-nofold.png b/uds-p-qa/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/uds-p-qa/graphics/bullet-nofold.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-unfold-dim.gif b/uds-p-qa/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/uds-p-qa/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-unfold-dim.png b/uds-p-qa/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/uds-p-qa/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-unfold.gif b/uds-p-qa/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/uds-p-qa/graphics/bullet-unfold.gif and /dev/null differ diff --git a/uds-p-qa/graphics/bullet-unfold.png b/uds-p-qa/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/uds-p-qa/graphics/bullet-unfold.png and /dev/null differ diff --git a/uds-p-qa/graphics/bullet.png b/uds-p-qa/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/uds-p-qa/graphics/bullet.png and /dev/null differ diff --git a/uds-p-qa/graphics/example.png b/uds-p-qa/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/uds-p-qa/graphics/example.png and /dev/null differ diff --git a/uds-p-qa/graphics/example.svg b/uds-p-qa/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/uds-p-qa/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/uds-p-qa/graphics/face1.gif b/uds-p-qa/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/uds-p-qa/graphics/face1.gif and /dev/null differ diff --git a/uds-p-qa/graphics/face2.gif b/uds-p-qa/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/uds-p-qa/graphics/face2.gif and /dev/null differ diff --git a/uds-p-qa/graphics/face3.gif b/uds-p-qa/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/uds-p-qa/graphics/face3.gif and /dev/null differ diff --git a/uds-p-qa/graphics/face4.gif b/uds-p-qa/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/uds-p-qa/graphics/face4.gif and /dev/null differ diff --git a/uds-p-qa/graphics/fold-bright.gif b/uds-p-qa/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/uds-p-qa/graphics/fold-bright.gif and /dev/null differ diff --git a/uds-p-qa/graphics/fold-dim.bmp b/uds-p-qa/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/uds-p-qa/graphics/fold-dim.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/fold-dim.gif b/uds-p-qa/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/uds-p-qa/graphics/fold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/fold.bmp b/uds-p-qa/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/uds-p-qa/graphics/fold.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/fold.gif b/uds-p-qa/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/uds-p-qa/graphics/fold.gif and /dev/null differ diff --git a/uds-p-qa/graphics/icon-blue.png b/uds-p-qa/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/uds-p-qa/graphics/icon-blue.png and /dev/null differ diff --git a/uds-p-qa/graphics/keys2.jpg b/uds-p-qa/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/uds-p-qa/graphics/keys2.jpg and /dev/null differ diff --git a/uds-p-qa/graphics/nofold-dim.bmp b/uds-p-qa/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/uds-p-qa/graphics/nofold-dim.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/nofold-dim.gif b/uds-p-qa/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/uds-p-qa/graphics/nofold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/nofold.bmp b/uds-p-qa/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/uds-p-qa/graphics/nofold.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/open-stack-cloud-computing-logo-2.png b/uds-p-qa/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/uds-p-qa/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/uds-p-qa/graphics/openstack-cloud-software-vertical-large.png b/uds-p-qa/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/uds-p-qa/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/uds-p-qa/graphics/unfold-bright.gif b/uds-p-qa/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/uds-p-qa/graphics/unfold-bright.gif and /dev/null differ diff --git a/uds-p-qa/graphics/unfold-dim.bmp b/uds-p-qa/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/uds-p-qa/graphics/unfold-dim.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/unfold-dim.gif b/uds-p-qa/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/uds-p-qa/graphics/unfold-dim.gif and /dev/null differ diff --git a/uds-p-qa/graphics/unfold.bmp b/uds-p-qa/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/uds-p-qa/graphics/unfold.bmp and /dev/null differ diff --git a/uds-p-qa/graphics/unfold.gif b/uds-p-qa/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/uds-p-qa/graphics/unfold.gif and /dev/null differ diff --git a/uds-p-qa/graphics/w3c-logo-blue.gif b/uds-p-qa/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/uds-p-qa/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/uds-p-qa/graphics/w3c-logo-blue.svg b/uds-p-qa/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/uds-p-qa/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/uds-p-qa/graphics/w3c-logo-slanted.jpg b/uds-p-qa/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/uds-p-qa/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/uds-p-qa/graphics/w3c-logo-white.gif b/uds-p-qa/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/uds-p-qa/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/uds-p-qa/graphics/w3c-logo-white.svg b/uds-p-qa/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/uds-p-qa/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/uds-p-qa/help/.htaccess b/uds-p-qa/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-qa/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-qa/help/help.html b/uds-p-qa/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/uds-p-qa/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/uds-p-qa/help/help.html.ca b/uds-p-qa/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/uds-p-qa/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.de b/uds-p-qa/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/uds-p-qa/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/uds-p-qa/help/help.html.en b/uds-p-qa/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/uds-p-qa/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.es b/uds-p-qa/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/uds-p-qa/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.fr b/uds-p-qa/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/uds-p-qa/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/uds-p-qa/help/help.html.hu b/uds-p-qa/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/uds-p-qa/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.nl b/uds-p-qa/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/uds-p-qa/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.pl b/uds-p-qa/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/uds-p-qa/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/uds-p-qa/help/help.html.pt-br b/uds-p-qa/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/uds-p-qa/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.pt_br b/uds-p-qa/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/uds-p-qa/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-qa/help/help.html.sv b/uds-p-qa/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/uds-p-qa/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/uds-p-qa/help/help.pt-br.html b/uds-p-qa/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/uds-p-qa/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/uds-p-qa/images/jenkins-deploy.png b/uds-p-qa/images/jenkins-deploy.png deleted file mode 100644 index 4f18d3e..0000000 Binary files a/uds-p-qa/images/jenkins-deploy.png and /dev/null differ diff --git a/uds-p-qa/images/jenkins-gate.png b/uds-p-qa/images/jenkins-gate.png deleted file mode 100644 index e98e44b..0000000 Binary files a/uds-p-qa/images/jenkins-gate.png and /dev/null differ diff --git a/uds-p-qa/images/lp-os-projects.png b/uds-p-qa/images/lp-os-projects.png deleted file mode 100644 index 2ca1aad..0000000 Binary files a/uds-p-qa/images/lp-os-projects.png and /dev/null differ diff --git a/uds-p-qa/index.html b/uds-p-qa/index.html deleted file mode 100644 index 5d13f59..0000000 --- a/uds-p-qa/index.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - -OpenStack Distributed QA - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    OpenStack Distributed QA

    - -

    James E. Blair -<corvus@inaugust.com>
    -Monty Taylor -<mordred@inaugust.com>
    -
    -

    - -
    -

    OpenStack's Gated Trunk

    - - - -
    - -
    -

    Types of Tests

    - - -
      -
    • Unit tests
    • -
    • Functional tests -
        -
      • Can be run on real or virtual servers
      • -
      • Easy for developers to run
      • -
      -
    • -
    • Integration tests -
        -
      • May be able to run on virtual servers, should run on real servers
      • -
      • Difficult or impossible for a developer to run
      • -
      -
    • -
    - -
    - -
    -

    Test Process

    - -

    Each test:

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack
    • -
    • Run test suite
    • -
    - -
    - -
    -

    Test Process Improved

    - -

    One time (Orchestra driven):

    -
      -
    • PXE boot
    • -
    • Install Ubuntu
    • -
    • Install OpenStack dependencies
    • -
    • Snapshot LVM volume
    • -
    -

    Each test:

    -
      -
    • Kexec boot into LVM snapshot -
    • Install OpenStack
    • -
    • Run test suite
    • -
    - -
    - -
    -

    OpenStack Projects

    - -
    - -
    - -
    - - -
    -

    Testing as a Service [TaaS]

    - -
      -
    • Common Interface: Jenkins
    • -
    • Inputs: commits to openstack projects
    • -
    • Outputs: test results
    • -
    - -
    - -
    -

    Troubleshooting Test Jobs

    - - - -
    - -
    -

    Focus for Next Cycle

    - -
      -
    • Add more trunk gating jobs
    • -
    • Collaborate with vendors on distributed testing
    • -
    - - - - diff --git a/uds-p-qa/scripts/.htaccess b/uds-p-qa/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-qa/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-qa/scripts/slidy.js b/uds-p-qa/scripts/slidy.js deleted file mode 100644 index e5235e6..0000000 --- a/uds-p-qa/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/uds-p-qa/scripts/slidy.js.gz b/uds-p-qa/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/uds-p-qa/scripts/slidy.js.gz and /dev/null differ diff --git a/uds-p-qa/styles/.htaccess b/uds-p-qa/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/uds-p-qa/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/uds-p-qa/styles/openstack.css b/uds-p-qa/styles/openstack.css deleted file mode 100644 index ac5a7fe..0000000 --- a/uds-p-qa/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/uds-p-qa/styles/slidy.css b/uds-p-qa/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/uds-p-qa/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/uds-p-qa/styles/w3c-blue.css b/uds-p-qa/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/uds-p-qa/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/zuul/graphics/bullet-fold-dim.gif b/zuul/graphics/bullet-fold-dim.gif deleted file mode 100644 index bce1a2a..0000000 Binary files a/zuul/graphics/bullet-fold-dim.gif and /dev/null differ diff --git a/zuul/graphics/bullet-fold-dim.png b/zuul/graphics/bullet-fold-dim.png deleted file mode 100644 index 4e28cfa..0000000 Binary files a/zuul/graphics/bullet-fold-dim.png and /dev/null differ diff --git a/zuul/graphics/bullet-fold.gif b/zuul/graphics/bullet-fold.gif deleted file mode 100644 index d4b063c..0000000 Binary files a/zuul/graphics/bullet-fold.gif and /dev/null differ diff --git a/zuul/graphics/bullet-fold.png b/zuul/graphics/bullet-fold.png deleted file mode 100644 index b5334f3..0000000 Binary files a/zuul/graphics/bullet-fold.png and /dev/null differ diff --git a/zuul/graphics/bullet-nofold-dim.gif b/zuul/graphics/bullet-nofold-dim.gif deleted file mode 100644 index 98a4c39..0000000 Binary files a/zuul/graphics/bullet-nofold-dim.gif and /dev/null differ diff --git a/zuul/graphics/bullet-nofold-dim.png b/zuul/graphics/bullet-nofold-dim.png deleted file mode 100644 index 27bccb2..0000000 Binary files a/zuul/graphics/bullet-nofold-dim.png and /dev/null differ diff --git a/zuul/graphics/bullet-nofold.gif b/zuul/graphics/bullet-nofold.gif deleted file mode 100644 index 76102a3..0000000 Binary files a/zuul/graphics/bullet-nofold.gif and /dev/null differ diff --git a/zuul/graphics/bullet-nofold.png b/zuul/graphics/bullet-nofold.png deleted file mode 100644 index 28215ec..0000000 Binary files a/zuul/graphics/bullet-nofold.png and /dev/null differ diff --git a/zuul/graphics/bullet-unfold-dim.gif b/zuul/graphics/bullet-unfold-dim.gif deleted file mode 100644 index b758cbe..0000000 Binary files a/zuul/graphics/bullet-unfold-dim.gif and /dev/null differ diff --git a/zuul/graphics/bullet-unfold-dim.png b/zuul/graphics/bullet-unfold-dim.png deleted file mode 100644 index 1dec59d..0000000 Binary files a/zuul/graphics/bullet-unfold-dim.png and /dev/null differ diff --git a/zuul/graphics/bullet-unfold.gif b/zuul/graphics/bullet-unfold.gif deleted file mode 100644 index e5ecd5b..0000000 Binary files a/zuul/graphics/bullet-unfold.gif and /dev/null differ diff --git a/zuul/graphics/bullet-unfold.png b/zuul/graphics/bullet-unfold.png deleted file mode 100644 index ce9de96..0000000 Binary files a/zuul/graphics/bullet-unfold.png and /dev/null differ diff --git a/zuul/graphics/bullet.png b/zuul/graphics/bullet.png deleted file mode 100644 index 14ebd95..0000000 Binary files a/zuul/graphics/bullet.png and /dev/null differ diff --git a/zuul/graphics/example.png b/zuul/graphics/example.png deleted file mode 100644 index 7ce9b3f..0000000 Binary files a/zuul/graphics/example.png and /dev/null differ diff --git a/zuul/graphics/example.svg b/zuul/graphics/example.svg deleted file mode 100644 index 581358e..0000000 --- a/zuul/graphics/example.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - W3C Indian Office logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/zuul/graphics/face1.gif b/zuul/graphics/face1.gif deleted file mode 100644 index 04e50cd..0000000 Binary files a/zuul/graphics/face1.gif and /dev/null differ diff --git a/zuul/graphics/face2.gif b/zuul/graphics/face2.gif deleted file mode 100644 index 12d8240..0000000 Binary files a/zuul/graphics/face2.gif and /dev/null differ diff --git a/zuul/graphics/face3.gif b/zuul/graphics/face3.gif deleted file mode 100644 index ac6e5e4..0000000 Binary files a/zuul/graphics/face3.gif and /dev/null differ diff --git a/zuul/graphics/face4.gif b/zuul/graphics/face4.gif deleted file mode 100644 index 3f68740..0000000 Binary files a/zuul/graphics/face4.gif and /dev/null differ diff --git a/zuul/graphics/fold-bright.gif b/zuul/graphics/fold-bright.gif deleted file mode 100644 index 7e38faa..0000000 Binary files a/zuul/graphics/fold-bright.gif and /dev/null differ diff --git a/zuul/graphics/fold-dim.bmp b/zuul/graphics/fold-dim.bmp deleted file mode 100644 index 117f91a..0000000 Binary files a/zuul/graphics/fold-dim.bmp and /dev/null differ diff --git a/zuul/graphics/fold-dim.gif b/zuul/graphics/fold-dim.gif deleted file mode 100644 index 346fcbf..0000000 Binary files a/zuul/graphics/fold-dim.gif and /dev/null differ diff --git a/zuul/graphics/fold.bmp b/zuul/graphics/fold.bmp deleted file mode 100644 index 6ba9e56..0000000 Binary files a/zuul/graphics/fold.bmp and /dev/null differ diff --git a/zuul/graphics/fold.gif b/zuul/graphics/fold.gif deleted file mode 100644 index 133e594..0000000 Binary files a/zuul/graphics/fold.gif and /dev/null differ diff --git a/zuul/graphics/icon-blue.png b/zuul/graphics/icon-blue.png deleted file mode 100644 index 58bf969..0000000 Binary files a/zuul/graphics/icon-blue.png and /dev/null differ diff --git a/zuul/graphics/keys2.jpg b/zuul/graphics/keys2.jpg deleted file mode 100644 index 4739be0..0000000 Binary files a/zuul/graphics/keys2.jpg and /dev/null differ diff --git a/zuul/graphics/nofold-dim.bmp b/zuul/graphics/nofold-dim.bmp deleted file mode 100644 index 8a12826..0000000 Binary files a/zuul/graphics/nofold-dim.bmp and /dev/null differ diff --git a/zuul/graphics/nofold-dim.gif b/zuul/graphics/nofold-dim.gif deleted file mode 100644 index 996fb5e..0000000 Binary files a/zuul/graphics/nofold-dim.gif and /dev/null differ diff --git a/zuul/graphics/nofold.bmp b/zuul/graphics/nofold.bmp deleted file mode 100644 index 0937d32..0000000 Binary files a/zuul/graphics/nofold.bmp and /dev/null differ diff --git a/zuul/graphics/open-stack-cloud-computing-logo-2.png b/zuul/graphics/open-stack-cloud-computing-logo-2.png deleted file mode 100644 index 146faec..0000000 Binary files a/zuul/graphics/open-stack-cloud-computing-logo-2.png and /dev/null differ diff --git a/zuul/graphics/openstack-cloud-software-vertical-large.png b/zuul/graphics/openstack-cloud-software-vertical-large.png deleted file mode 100644 index 8d157aa..0000000 Binary files a/zuul/graphics/openstack-cloud-software-vertical-large.png and /dev/null differ diff --git a/zuul/graphics/unfold-bright.gif b/zuul/graphics/unfold-bright.gif deleted file mode 100644 index 2748131..0000000 Binary files a/zuul/graphics/unfold-bright.gif and /dev/null differ diff --git a/zuul/graphics/unfold-dim.bmp b/zuul/graphics/unfold-dim.bmp deleted file mode 100644 index c2a6baf..0000000 Binary files a/zuul/graphics/unfold-dim.bmp and /dev/null differ diff --git a/zuul/graphics/unfold-dim.gif b/zuul/graphics/unfold-dim.gif deleted file mode 100644 index bee5671..0000000 Binary files a/zuul/graphics/unfold-dim.gif and /dev/null differ diff --git a/zuul/graphics/unfold.bmp b/zuul/graphics/unfold.bmp deleted file mode 100644 index 30af625..0000000 Binary files a/zuul/graphics/unfold.bmp and /dev/null differ diff --git a/zuul/graphics/unfold.gif b/zuul/graphics/unfold.gif deleted file mode 100644 index 0753ae4..0000000 Binary files a/zuul/graphics/unfold.gif and /dev/null differ diff --git a/zuul/graphics/w3c-logo-blue.gif b/zuul/graphics/w3c-logo-blue.gif deleted file mode 100644 index 890bc97..0000000 Binary files a/zuul/graphics/w3c-logo-blue.gif and /dev/null differ diff --git a/zuul/graphics/w3c-logo-blue.svg b/zuul/graphics/w3c-logo-blue.svg deleted file mode 100644 index 6595d01..0000000 --- a/zuul/graphics/w3c-logo-blue.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/zuul/graphics/w3c-logo-slanted.jpg b/zuul/graphics/w3c-logo-slanted.jpg deleted file mode 100644 index 54e0ac3..0000000 Binary files a/zuul/graphics/w3c-logo-slanted.jpg and /dev/null differ diff --git a/zuul/graphics/w3c-logo-white.gif b/zuul/graphics/w3c-logo-white.gif deleted file mode 100644 index 3b3c6fd..0000000 Binary files a/zuul/graphics/w3c-logo-white.gif and /dev/null differ diff --git a/zuul/graphics/w3c-logo-white.svg b/zuul/graphics/w3c-logo-white.svg deleted file mode 100644 index d63907f..0000000 --- a/zuul/graphics/w3c-logo-white.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - W3C logo - - - - - - - ® - - - - diff --git a/zuul/help/.htaccess b/zuul/help/.htaccess deleted file mode 100644 index d395348..0000000 --- a/zuul/help/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/zuul/help/help.html b/zuul/help/help.html deleted file mode 100644 index dfc0baa..0000000 --- a/zuul/help/help.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Slide Show Help - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Use the "F11" key to toggle the browser's full screen -mode. Note that not all keys are supported in all browsers, as -browsers may reserve some keys for browser control and this varies -from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11. -Newer versions of Firefox have built-in support for SVG, but on older -versions for Microsoft Widows, you should consider installing the Adobe SVG Viewer -6.0.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - diff --git a/zuul/help/help.html.ca b/zuul/help/help.html.ca deleted file mode 100644 index fef10cf..0000000 --- a/zuul/help/help.html.ca +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Ajuda del presentador de diapositives - - - -

    Ajuda del presentador de diapositives

    - -

    Per avançar a la pròxima diapositiva només cal fer clic amb el ratolí en qualsevol lloc de la pàgina o bé prémer la barra d’espaidora. -Es pot anar endavant i endarrere per les diapositives amb les tecles "cursor esquerra" i "cursor dreta", "RePàg" i "AvPàg". El tamany de font de les lletres s’ajusta automàticament a l’amplada de la pantalla, però també es pot ajustar manualment fent servir la “S” per fer-la mes petita (Smaller) i la “B” per fer-la mes gran (“Bigger”),també es poden fer servir les tecles "<" i ">". -La tecla “F” fa aparèixer/desaparèixer el menú de la línia de estat a la part de sota. -Amb la tecla “K” s’habilita/deshabilita l’ús del ratolí per avançar a la pròxima diapositiva. La tecla “C” mostra la taula de continguts, amb qualsevol altra tecla la podem amagar. -La tecla “F11” serveix per entrar/sortir en el mode pantalla completa del navegador, la tecla “H” dona accés a aquesta pàgina. -Cal notar que no totes les tecles estan suportades en tots els navegadors donat que els navegadors poden reservar algunes tecles per el control de navegació i aquestes varien d’un navegador a un altre.

    -

    Es recomana als usuaris de Firefox que instal•lin la extensió d’autoamagar per amagar les barres d’eines en entrar al mode pantalla completa.

    -

    Si vol saber com funciona Slidy, feu servir “Veure el codi font” per veure el codi XHTML o vegi aquesta explicació més llarga., que també explica característiques addicionals. Cada diapositiva està marcada com element div amb classe “slide”. Es fa servir posicionament CSS i amplades per percentatge a les imatges per assegurar-se de que les vostres diapositives riques en imatges s’ajustin perfectament a la grandària de la finestra. El contingut que s’ha de revelar incrementalment es pot marcar amb la classe “incremental”. La fulla d’estils adjunta i els scripts es van desenvolupar com una alternativa basada en Web a les eines de presentació propietàries i s’han provat en una gran varietat de navegadors actuals. S’està desenvolupant un sistema d’edició integrada. Si us plau envieu els vostres comentaris a : Dave -Raggett <dsr@w3.org>. -Si trobeu Slidy útil podeu considerar ajudar al W3C.

    -

    Sou benvingut a fer servir el presentador de diapositives, les fulles d’estil , scripts i el fitxer d’ajuda sota les condicions d’ ùs de document del W3C I les normes -llicència de software.

    - - - -
    - - - - diff --git a/zuul/help/help.html.de b/zuul/help/help.html.de deleted file mode 100644 index 55a8e48..0000000 --- a/zuul/help/help.html.de +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - Slide Show Help - - - - -

    Hilfe für die HTML-Slidy-Präsentation

    - -

    Diese Präsentation wird wie Power Point kontrolliert: Klicken -Sie mit der Maus irgendwo ins Bild, um zur nächsten Seite zu -schalten, oder drücken Sie die Leertaste. Sie können ebenfalls -mit den Cursor-Tasten (links/rechts) oder den Tasten für Seite -auf und ab vorwärts und rückwärts durch die Präsentation -navigieren. Die Schriftgrösse wird automatisch so angepasst, dass -Sie zur Fensterbreite des Browsers passt, sie kann aber auch -manuell mit den Tasten "s" (kleiner) und "b" (grösser) -kontrolliert werden (oder mit der Taste "<" bzw. ">"). Die -Statuszeile am unteren Rand des Fensters wird mit "f" ein- und -ausgeschaltet. Die Taste "k" schaltet die Funktion des Mausklicks -zum Kontrollieren der Präsentation ein und aus. Sie können mit -"c" ein Inhaltsverzeichnis ein- und mit einer beliebigen anderen -Taste wieder ausblenden. Mit "F11" können Sie (je nach Browser) -den Vollbildmodus aktivieren. Die Taste "h" zeigt diesen Hilfetext -an. Es ist zu bemerken, dass nicht alle diese Tasten in jedem -Browser funktionieren, da sie zum Teil mit anderen Funktionen -belegt sind.

    - -

    Firefox-Benutzer können die autohide-Erweiterung -installieren, um die Werkzeugleiste im Vollbildmodus auszublenden.

    - -

    Wenn Sie wissen möchten, wie Slidy funktioniert, schauen Sie sich -den XHTML-Quellcode der Seite an oder lesen diese etwas längere Erklärung -(in Englisch), die auch weitere Funktionen erläutert. Jede einzelne -Folie ist als ein div-Element mit class="slide" -markiert. CSS-Positionierung und prozentuale Breitenangaben für Bilder -können benutzt werden, um sicherzustellen, dass die Folien bei -verschiedenen Fenstergrössen optimal dargestellt werden. Der Inhalt -auf Folien kann schrittweise angezeigt werden, indem den Elementen -class="incremental" zugewiesen wird. Das eingebundene -Style Sheet und die Skripten wurden als web-basierte Alternative zu -proprietären Programmen entwickelt. Sie wurden auf verschiedensten -aktuellen Browsern getestet. Ein eingebauter Editor für die Folien -ist in Entwicklung. Bitte senden Sie Kommentare an Dave Raggett <dsr@w3.org>. Wenn Sie Slidy -nützlich finden, möchten Sie vielleicht ein W3C Supporter werden.

    - -

    Die Style Sheets, die Skripten der Präsentation und die -zugehörigen Texte sind frei zur Benutzung unter den Bedingungen -der W3C-Lizenzen document -use und software -licensing.

    - - - -
    - - - - - diff --git a/zuul/help/help.html.en b/zuul/help/help.html.en deleted file mode 100644 index f7e9e5c..0000000 --- a/zuul/help/help.html.en +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Slide Show Help - - - - -

    Slide Show Help

    - -

    This slide show can be driven in the same way as Power Point. -To advance to the next slide click pretty much anywhere on the -page with the mouse, or press the space bar. You can move forwards -or backwards through the slides with the Cursor left, Cursor -right, Pg Up and Pg Dn keys. The font size is automatically -adjusted to match the browser's window width, but you can also -adjust it manually using the "S" key for smaller and the "B" key -for bigger. You can also use the "<" and ">" keys. Use the -"F" key to switch off/on the bottom status line. The "K" key -toggles the use of mouse click to advance to the next slide. You -can use "C" to show the table of contents and any other key to -hide it. Press the "H" key to view this page. Use the "F11" key to -toggle the browser's full screen mode. Note that not all keys are -supported in all browsers, as browsers may reserve some keys for -browser control and this varies from one browser to the next.

    - -

    Firefox users may want the autohide -extension to hide the toolbars when entering full screen with F11.

    - -

    If you would like to see how Slidy works, use View Source to view -the XHTML markup, or see this longer explanation, -which also explains additional features. Each slide is marked up as -a div element with class="slide". CSS positioning and percentage -widths on images can be used to ensure your image rich slides scale -to match the window size. Content to be revealed incrementally can -be marked up with class="incremental". The linked style sheet and -scripts were developed as a Web-based alternative to proprietary -presentation tools and have been tested on a variety of recent -browsers. Integrated editing support is under development. Please -send your comments to Dave -Raggett <dsr@w3.org>. -If you find Slidy useful, you may want to consider becoming a -W3C Supporter.

    - -

    You are welcome to make use of the slide show style sheets, -scripts and help file under W3C's document use -and software -licensing rules.

    - - - -
    - - - - diff --git a/zuul/help/help.html.es b/zuul/help/help.html.es deleted file mode 100644 index a3059aa..0000000 --- a/zuul/help/help.html.es +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Ayuda de Slidy - - - - -

    Ayuda de "Slidy"

    - -

    Esta presentación puede manejarse igual que una presentación hecha con Power Point. -Para avanzar a la siguiente página o diapositiva haga clic con el ratón en cualquier parte de la página, o pulse la barra espaciadora. Puede moverse adelante y atrás entre las diapositivas con las teclas de flecha izquierda, derecha, retroceso de página (Re Pag) o avance de página (Av Pag). El tamaño de fuente se ajusta automáticamente para encajar en el ancho de la ventana del navegador, pero puede ajustarlo manualmente utilizando la tecla "S" para reducirlo y la tecla "B" para aumentarlo. También puede usar las teclas "<" y ">". Use la tecla "F" para presentar u ocultar la línea de estado en la parte inferior. La tecla "K" habilita o deshabilita el uso del ratón para avanzar a la siguiente diapositiva. Puede usar la tecla "C" para mostrar la tabla de contenidos o índice, y cualquier otra tecla para esconderla. Use la tecla de función "F11" para conmutar la vista a toda pantalla del navegador. Tenga en cuenta que no todas las teclas están igualmente soportadas en todos los navegadores, ya que los navegadores pueden tener reservado el uso de algunas teclas para controles del navegador, y esto puede variar de un navegador a otro.

    - -

    Los usuarios de Firefox pueden desear instalar la extensión "autohide" -para ocultar las barras de herramientas cuando utilizan la función F11 para el modo a toda pantalla.

    - -

    Si desea saber cómo funciona Slidy, utilice la Vista de Código para ver el marcado XHML, o vea esta explicación extensa, -que expone otras características adicionales. Cada diapositiva está marcada con un elemento div con la clase class="slide". Puede usarse posicionamiento y anchos en porcentajes para las imágenes, mediante CSS, para garantizar que la imagen alcance el tamaño de la diapositiva de acuerdo con el tamaño de la ventana. El contenido que se desee presentar paulatinamente puede marcarse con la clase class="incremental". La hoja de estilos y el script enlazado fueron desarrollados como una alternativa, basada en la Web, a las herramientas propietarias de presentación, y han sido probados en una variedad de navegadores recientes. Se está desarrollando un editor integrado. Envie sus comentarios, por favor, a Dave Raggett <dsr@w3.org>.

    - -

    Usted puede utilizar las hojas de estilo, scripts, y el fichero de ayuda; siempre que siga las normas de uso de documentos y licencia de software del W3C.

    - - - -
    - - - - diff --git a/zuul/help/help.html.fr b/zuul/help/help.html.fr deleted file mode 100644 index daa7605..0000000 --- a/zuul/help/help.html.fr +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Aide de Slide Show - - - - - -

    Aide de Slide Show

    - - - -

    Cet exposé Slide Show peut être utilisé de la même manière que Powerpoint. - -Pour avancer au prochain transparent, cliquez n'importe où sur la page avec la -souris ou appuyez sur la barre d'espace. Vous pouvez naviguer entre -les transparents avec les flèches gauche/droite ainsi que les touches Pg Up et -Pg Dn. - -La taille de la police s'adapte automatiquement à la largeur de la fenêtre -du navigateur, mais vous pouvez aussi l'ajuster manuellement en utilisant les -touches "S" (small) pour la diminuer et "B" (big) pour l'augmenter. Vous -pouvez aussi utiliser les touches "<" et ">". - -Utilisez la touche "F" pour afficher ou non le statut en pied-de-page. - -La touche "K" active l'utilisation du clic de souris pour avancer au prochain transparent. -Vous pouvez utiliser "T" pour afficher la table des matières et n'importe quelle autre touche -pour la cacher. - -Les utilisateurs de Windows peuvent utiliser la touche "F11" pour activer le mode plein écran -du navigateur. Appuyez sur la touche "H" pour obtenir cette page. À noter que certaines touches -peuvent ne pas fonctionner avec certains navigateurs car elles sont réservées pour son contrôle. -De plus, cela peut varier d'un navigateur à l'autre.

    - -

    Les utilisateurs de Firefox peuvent installer l'extension autohide -pour cacher les barres d'outils lorsque le mode plein écran est activé -avec la touche F11.

    - -

    Si vous voulez voir comment Slidy fonctionne, affichez le code source de la page -pour voir le balisage XHTML, ou lisez cette explication plus complète (en anglais), -qui explique aussi des fonctionnalités additionnelles. - -Chaque transparent est balisé par un élément div avec l'attribut class="slide". -Il est aussi possible d'utiliser le positionnement CSS ainsi que la largeur en pourcentage -pour s'assurer que vos images soient à l'échelle du transparent et correspondent ainsi à la taille -de la fenêtre. Le contenu devant s'afficher progressivement doit être marqué par l'attribut - class="incremental". - -La feuille de style reliée ainsi que les scripts ont été développés comme alternative Web -aux outils de présentation propriétaires et ont été testés sur un large panel de navigateurs récents. -Le support intégré pour l'édition est en cours de développement. Envoyez vos commentaires -(en anglais) à Dave -Raggett <dsr@w3.org>. -Si vous trouvez Slidy utile, vous pouvez également devenir -Supporter du W3C.

    - - - -

    Veuillez utilisez les feuilles de style, scripts et fichiers d'aide - -en suivant le copyright - -et la licence du W3C.

    - - - - - - - -
    - - - - - - - diff --git a/zuul/help/help.html.hu b/zuul/help/help.html.hu deleted file mode 100644 index 64eb205..0000000 --- a/zuul/help/help.html.hu +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Segítség a bemutatóhoz - - - - - - - -

    Segítség a bemutatóhoz

    - -

    Ezt a bemutatót a Power Point-hoz hasonlóan lehet vezérelni. - A következő oldalra való lépéshez kattintson bárhova az aktuális - oldalon belül, vagy nyomja le a szóköz billentyűt. Az oldalak között - a bal és jobb nyíl, illetve a Page Up és Page Down billentyűkkel mozoghat. - A szöveg mérete automatikusan kerül beállításra úgy, hogy igazodjon - a böngésző ablakának szélességéhez, viszont az "S" billentyűvel - csökkentheti, a "B"-vel növelheti azt. Ugyanerre használhatja a "<" - és a ">" billentyűket is. - Az "F" billentyűvel be- és - kikapcsolhatja az alsó állapotsor megjelenítését. A "K" billentyűvel - letilthatja, illetve engedélyezheti, hogy egérkattintással a következő - oldalra lehessen lépni. A "C" billentyűvel megjelenítheti, bármely másikkal - pedig eltűntetheti a tartalomjegyzéket. Az "F11" billenytűvel válthat át - a böngésző teljes képernyős üzemmódjára, vagy jöhet onnan vissza. - Megjegyezzük, hogy nem minden billentyű támogatott minden böngészőben, - mivel a böngészők lefoglalhatnak néhány (böngészőnként eltérő) billentyűt - a saját vezérlésükre. -

    - -

    A Firefox felhasználóknak hasznos lehet az - autohide - bővítmény, amivel elrejthetők az eszköztárak teljes képernyős üzemmódban. -

    - -

    Ha szeretné látni, hogyan működik a Slidy, nézze meg az oldal - forrásában az XHTML jelölésmódot, vagy nézze meg ezt a - hosszabb magyarázatot, - ami további funkciókat is bemutat. Minden oldalt egy olyan div elem jelöl, - amiben be van állítva, hogy class="slide". A képek CSS-sel történő - pozicionálása és szélességüknek százalékban való megadása biztosítja, - hogy a sok képet tartalmazó oldalak az ablak méretének megfelelően - skálázódjanak. Az oldalon belül egymás után megjelenítendő tartalom a - class="incremental" megadásával jelölhető. A becsatolt stíluslapok és - scriptek a védjegyzett/szabadalmaztatott/más módon védett - bemutató-megjelenítő eszközök web-alapú alternatívájaként lettek - fejlesztve, és sok, manapság használatos böngészővel tesztelve. - Az integrált szerkesztési lehetőség jelenleg fejlesztés alatt áll. - Észrevételeit a következő helyre küldje: - Dave Raggett - <dsr@w3.org>. -

    - -

    - Ön jogosult az e bemutatóhoz tartozó stíluslapok, scriptek és - segítség fájl használatára, amennyiben betartja a W3C - - dokumentum használati és - - szoftver licencelési szabályait. - -

    - - - -
    - - - - diff --git a/zuul/help/help.html.nl b/zuul/help/help.html.nl deleted file mode 100644 index b2e9043..0000000 --- a/zuul/help/help.html.nl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Slidy Help - - - - -

    Slidy Help

    - - - -

    Deze sheetpresentatie kan op dezelfde manier worden aangestuurd als -Powerpoint. Klik op een willekeurige plaats op de pagina met de muis, of -druk op de spatiebalk om naar de volgende sheet te gaan. Je kan voor- of -achterwaarts door de sheets bewegen mbv de links/rechts cursor- en de Page -Up en Page Down toetsen. De lettergrootte wordt automatisch aangepast aan -de breedte van het venster, maar je kunt 'm ook handmatig aanpassen met -"S" en "<" voor kleiner en "B" en ">" voor groter. Gebruik de -"F" om de status aan de onderkant aan/uit te schakelen. De "K" zorgt -ervoor dat een muisklik je niet meer, of wel weer naar de volgende sheet -brengt. Je kan de "C" gebruiken om het inhoudsoverzicht op te roepen, en -een willekeurige andere toets om 'm weer te verbergen. Gebruik "F11" om de -"volledig scherm" modus aan /uit te schakelen. Merk op dat niet alle -toetsen in iedere browser worden ondersteund, omdat sommige browsers -toetsen gebruiken voor besturing van de browser zelf. Dit varieert zelfs -tussen versies van dezelfde browser.

    - -

    Firefox gebruikers willen wellicht de "autohide" extension gebruiken om -werkbalken te verbergen wanneer "volledig scherm" wordt aangeroepen met -"F11".

    - -

    Als u wilt zien hoe Slidy werkt, gebruik Bron Bekijken om de XHTML opmaak -te bekijken, of bekijk deze langere uitleg, die ook extra functionaliteit -uitlegt. Elke sheet is in de opmaak genoteerd als een div element met -class="slide". CSS positionering and procentuele breedtes op afbeeldingen -kunnen worden gebruikt om te verzekeren dat uw afbeeldingrijke sheets -schalen naar de vensterbreedte. Inhoud kan stapsgewijs zichtbaar worden -gemaakt met behulp van class="incremental". Het gelinkte stijlblad en de -gelinkte scripts zijn ontwikkeld als een Web-gebaseerd alternatief voor -gesloten presentatie programma's en zijn getest op een variëteit van -recente browsers. Geintegreerde ondersteuning voor (inhoud)aanpassing -wordt ontwikkeld. Zend uw opmerkingen aub naar Dave Raggett <dsr@w3.org> -Als u Slidy bruikbaar vindt, wilt u wellicht overwegen W3C donateur te -worden.

    - -

    U bent welkom om gebruik te maken van de stijlbladen, scripts en dit -helpbestand onder de regels van W3C's document use (document gebruik) en -software licensing (software licenties)

    - - - - -
    - - - - diff --git a/zuul/help/help.html.pl b/zuul/help/help.html.pl deleted file mode 100644 index 2eb6ca4..0000000 --- a/zuul/help/help.html.pl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Slidy - pomoc - - - - -

    Slidy - pomoc

    - -

    Prezentacją steruje się tak samo, jak w Powerpoincie. -Aby przejść do następnego slajdu, kliknij w dowolnym miejscu prezentacji myszą -lub naciśnij spację. Możesz też poruszać się w przód / tył używając klawiszy -kursora (lewo / prawo) lub klawiszy Pg Up / Pg Dn. Rozmiar czcionki jest -dobierany automatycznie tak, żeby mieścił się w obszarze przeglądarki, -ale możesz także dostosować go ręcznie naciskając klawisze "S", aby pomniejszyć -tekst i "B", aby go powiększyć. Możesz do tego celu także użyć klawiszy "<" - i ">". Użyj klawisza "F" aby - ukryć / pokazać dolny pasek statusu. Klawisz "K" włącza / wyłącza tryb przechodzenia - do następnego slajdu po kliknięciu myszką. Możesz użyć klawisza "C", żeby pokazać - spis treści i dowolnego innego, żeby go ukryć. Klawisz -"F11" włącza tryb pełnoekranowy przeglądarki. Pamiętaj, że nie wszystkie klawisze -są obsługiwane we wszystkich przeglądarkach, gdyż niektóre z nich rezerwują -konkretne klawisze do własnych celów, wszystko to zależy od używanej przeglądarki.

    - -

    Jeśli używasz Firefoxa, zwróć uwagę na rozszerzenie autohide, dzięki któremu -możesz ukryć paski narzędziowe w trybie pełnoekranowym (F11).

    - -

    Jeśli chcesz dowiedzieć się, w jaki sposób działa Slidy, obejrzyj źródło strony prezentacji, żeby -zobaczyć użyty XHTML lub zapoznaj się z prezentacją działania, która omawia -wszystkie dodatkowe funkcje. Każdy slajd jest reprezentowany przez element div o klasie "slide". -Pozycjonowanie CSS i użycie procentowych szerokości obrazków zapewni, że -Twoje slajdy będą poprawnie wyświetlane w każdej skali. -Zawartości slajdu, które mają być stopniowo odsłaniane oznacz klasą "incremental". -Powiązany arkusz stylów CSS i skrypt zostały stworzone jako sieciowa -alternatywa dla komercyjnych narzędzi prezentacyjnych. Całość została -przetestowana na różnorodnych współczesnych przeglądarkach. -Na etapie tworzenia jest aplikacja do zintegrowanego tworzenia i edycji prezentacji. -Wszystkie komentarze prosimy kierować do Dave'a -Raggetta <dsr@w3.org>.

    - -

    Zachęcamy do używania arkuszy stylów, skryptów i pliku pomocy na warunkach licencyjnych dotyczących dokumentów -i oprogramowania W3C

    - - - -
    - - - diff --git a/zuul/help/help.html.pt-br b/zuul/help/help.html.pt-br deleted file mode 100644 index c2aee81..0000000 --- a/zuul/help/help.html.pt-br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/zuul/help/help.html.pt_br b/zuul/help/help.html.pt_br deleted file mode 100644 index c2aee81..0000000 --- a/zuul/help/help.html.pt_br +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/zuul/help/help.html.sv b/zuul/help/help.html.sv deleted file mode 100644 index 3d019a7..0000000 --- a/zuul/help/help.html.sv +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Hjälpsida för presentationer - - -

    Hjälpsida för presentationer

    - -

    Denna presentation kan användas på liknande sätt som Power Point. -För att bläddra till nästa sida går det att trycka på mellanslagstangenten eller klicka med musens -västra knapp så gott som var som helst på sidan. Bläddra framåt och -bakåt med höger- respektive vänsterpiltangenterna eller tangenterna »Pg Dn» respektive -»Pg Up». Textens storlek anpassas automatiskt efter webbläsarens -fönsterbredd, men den går även att justera manuellt med -tangenterna »S» och »B» för att förminska respektive förstora texten. Alternativt kan -tangenterna »<» respektive »>» användas. Tangenten -»F» används för att visa / dölja statusraden längst ner i fönstret. Tangenten »K» -kopplar på / av möjligheten att klicka med musen för att bläddra till nästa sida. Tangenten -»C» används för att visa innehållsförteckningen och en tryckning på vilken annan tangent som -helst döljer den. En tryckning på tangenten »H» visar denna hjälpsida. Tangenten »F11» -växlar mellan fullskärmsvisning och visning i webbläsarens fönster. Observera att vissa webbläsare kan -ha reserverat några av dessa tangenttryckningar för andra funktioner; detta varierar mellan olika webbläsare.

    - -

    Firefoxanvändare kan vid behov installera autohide -för att verktygsfälten skall döljas vid övergång till fullskärmsvisning med F11.

    - -

    För att se hur Slidy fungerar, titta på XHTML-koden genom att välja »Visa -källa» (eller liknande) i webbläsarens meny eller läs följande längre -beskrivning, där även ytterligare finesser beskrivs. Varje sida är markerad som -div-element med attributet class="slide". CSS-positionering och procentuell bredd -kan användas för att placera bilderna i rätt skala i förhållande till -webbläsarens fönsterstorlek. Det som skall visas inkrementiellt -markeras med class="incremental". Länkar hänvisar till några skript och stilmallar -som har testats med en mängd nutida webbläsare och bildar ett webbaserat alternativ till proprietära -presentationsprogram. Stöd för integrerad editering håller på att utvecklas. Skicka gärna -kommentarer till Dave -Raggett <dsr@w3.org>. -Om du finner Slidy användbar kan du överväga att bli -W3C Supporter.

    - -

    Välkommen att använda presentationens stilmallar, skript och hjälpfiler enligt reglerna -för W3C:s document use -och software -licensing!

    - - - -
    - - - diff --git a/zuul/help/help.pt-br.html b/zuul/help/help.pt-br.html deleted file mode 100644 index 72d9891..0000000 --- a/zuul/help/help.pt-br.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Slide Show Help - - - -

    Ajuda do Slide Show

    - -

    Este slide show pode ser tocado do jeito do Power Point. -Para avançar ao próximo eslaide, clique em qualquer ponto -da página com o botão direito do mouse. Ou então use a -barra de espaços. Também se pode movimentar para frente ou -para trás com as teclas do cursor -- setinhas para a -direita, para a esquerda, para cima e para baixo. E ainda -com as teclas Page Up e Page Down. O tamanho da fonte é -automaticamente ajustado à largura da janela do navegador, -mas esse ajuste pode ser manual, usando as teclas "S" -(de "smaller") para diminuir o tamanho, e "B" (de "bigger") -para aumentar. Igualmente se pode usar as teclas "<" e -">". Use -a tecla "F" para alternar entre desativada e ativada a -linha de status no rodapé. A tecla "K" alterna o uso do -clique do mouse para avançar ao próximo eslaide. A tecla -"C" mostra a tabela de conteúdos, que será novamente -ocultada apertando-se qualquer tecla. Use a tecla "F11" -para alternar o modo de tela cheia do navegador. Aperte -"H" (de "Help") para abrir esta página de Ajuda. Note que -alguns navegadores reservam algumas dessas teclas para -outras funções. Assim, experimente no seu navegador para -ver se esse é o seu caso.

    - -

    Usuários do Firefox podem querer a extensão autoocultar -para esconder as barras de ferramentas quando entrarem em tela cheia -com a tecla F11.

    - -

    Se quiser ver como funciona o Slidy, use o View Source para -visualizar a marcação XHTML, ou leia esta explanação mais longa, -que também contém funcionalidades adicionais. Cada eslaide é -marcado como um div element com -classe="slide". Posicionamentos e larguras em porcentual de CSS -podem ser usados para assegurar que os eslaides com rica -ilustração tenham escalabilidade de acordo com o tamanho da janela. -Já o conteúdo a ser revelado incrementalmente pode receber a -marcação com a classe="incremental". -A folha de estilos vinculados e os scripts foram desenvolvidos -como uma alternativa baseada em web às ferramentas proprietárias -de apresentação, e testados em diversos navegadores recentes. -Suporte à edição integrada ainda está em desenvolvimento. Mande -seus comentários para Dave -Raggett <dsr@w3.org>. -Achando que o Slidy é útil, V. talvez possa considerar a -possibilidade de se tornar um -Apoiador do W3C.

    - -

    Fique à vontade para usar as folhas de estilo, os scripts -e o arquivo de ajuda do show de eslaides que se encontram sob as -regras de - -uso de documentação -e -licenciamento de softwaredo W3C -- Consórcio da World Wide -Web.

    - - - -
    - - - - diff --git a/zuul/images/OpenStackLogo_wTag.png b/zuul/images/OpenStackLogo_wTag.png deleted file mode 100644 index d410964..0000000 Binary files a/zuul/images/OpenStackLogo_wTag.png and /dev/null differ diff --git a/zuul/images/gerrit-jenkins.png b/zuul/images/gerrit-jenkins.png deleted file mode 100644 index b8c6e5f..0000000 Binary files a/zuul/images/gerrit-jenkins.png and /dev/null differ diff --git a/zuul/images/jenkins-gate.png b/zuul/images/jenkins-gate.png deleted file mode 100644 index 18b4254..0000000 Binary files a/zuul/images/jenkins-gate.png and /dev/null differ diff --git a/zuul/images/openstack-software-diagram.png b/zuul/images/openstack-software-diagram.png deleted file mode 100644 index c5e196c..0000000 Binary files a/zuul/images/openstack-software-diagram.png and /dev/null differ diff --git a/zuul/images/stack-o-pancakes-150x150.png b/zuul/images/stack-o-pancakes-150x150.png deleted file mode 100644 index 1a9397e..0000000 Binary files a/zuul/images/stack-o-pancakes-150x150.png and /dev/null differ diff --git a/zuul/images/status.png b/zuul/images/status.png deleted file mode 100644 index 0d8375b..0000000 Binary files a/zuul/images/status.png and /dev/null differ diff --git a/zuul/index.html b/zuul/index.html deleted file mode 100644 index a756ba1..0000000 --- a/zuul/index.html +++ /dev/null @@ -1,796 +0,0 @@ - - - - - -Trunk Gating with Jenkins, Gerrit, and Zuul - - - - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - -OpenStack logo
    -

    Trunk Gating with Jenkins, Gerrit, and Zuul

    -

    -James E. Blair -<jeblair@openstack.org>
    - -

    - -
    -

    About this Presentation

    - -
      -
    • The OpenStack development process
    • -
    • Project Gating: Preemptive CI
    • -
    • Zuul: a system to implement gating with Jenkins
    • -
    • Using the Jenkins API to integrate Jenkins into any system
    • -
    -
    - -
    -

    OpenStack

    - -

    Is open source software for building private and public clouds.

    - -
    - -
    - -
    - -
    -

    Projects

    - -
      -
    • nova (compute)
    • -
    • swift (object storge)
    • -
    • glance (image service)
    • -
    • keystone (identity service)
    • -
    • quantum (network service)
    • -
    • horizon (dashboard)
    • -
    • cinder (volume service)
    • -
    • python-novaclient
    • -
    • python-swiftclient
    • -
    • python-glanceclient
    • -
    • python-keystoneclient
    • -
    • python-quantumclient
    • -
    • python-cinderclient
    • -
    • python-openstackclient
    • -
    -
    -
    - - -
    -

    Contributors

    -
      -
    • Individual Contributors
    • -
    • Commercial Entities
    • -
    • Number, quality, and area of contributions can change daily
    • -
    -
    - -
    -

    Vision

    -
      -
    • Consistent Tooling
    • -
    • Consistent Process
    • -
    • Consistent Product
    • -
    • Multiplier Effect
    • -
    -
    - -
    -

    Consistent Tooling

    -
      -
    • Minimize meta-development
    • -
    • Process divergence == wasted developer time
    • -
    • Lowers onboarding time
    • -
    • Consolidate tool development
    • -
    • Minimize project-specific weird build crud
    • -
    -
    - -
    -

    Gated Trunk

    -
      -
    • Ensures Code Quality
    • -
    • Protects developers
        -
      • Devs always start from working code
      • -
    • Protects tree
        -
      • Bad code doesn't land
      • -
    • Egalitarian
        -
      • Process is the same for everyone
      • -
      • Process is transparent
      • -
      • Process is automated
      • -
    - -
    - -
    -

    Everything Is Automated

    - - - -
    - -
    -

    Process Flow

    -
      -
    • Code is written and locally tested in a virtualenv
    • -
    • Code is submitted for code review to gerrit
    • -
    • Code is run through patch-uploaded automated checks
    • -
    • Code is peer-reviewed
    • -
    • Code is accepted or rejected by core team
    • -
    • Code is run through pre-merge automated checks
    • -
    • Code is merged or rejected
    • -
    • Code is run through post-merge analysis
    • -
    -
    - -
    -

    Gerrit

    -
      -
    • Developed by Google for Android
    • -
    • Stand-alone patch review system
    • -
    • Integration points: hooks, JSON queries, event-stream
    • -
    • Extensible review categories, default: Verified, Code-Review
    • -
    -
    - -
    -

    States of a Patch

    -
      -
    • Code Submitted
    • -
    • Code Verified
    • -
    • Code Reviewed
    • -
    • Code Accepted
    • -
    • Code Merged
    • -
    -
    - -
    -

    Types of Gerrit Triggers

    -
      -
    • Patchset uploaded
    • -
    • Change merged
    • -
    • Comment added (review state)
    • -
    -
    - -
    -

    Jenkins Feedback

    - -
    - - -
    -

    Jenkins

    - -

    Types of jobs:

    -

      -
    • Check / Gate -
      • unit tests
      -
      • integraton tests
      -
      • code style
      -
    • -
    • Post -
      • docs
      -
      • tarballs
      -
      • pypi
      -
    • -
    - -
    - -
    -

    Zuul

    -
      -
    • A general purpose trunk gating system
    • -
    • Interfaces with Gerrit and Jenkins
    • -
    • Flexible configuration allows for many kinds of project automation
    • -
    • Allows parallel testing of serialized changes
    • -
    -
    - -
    -

    Speculative Execution

    -
      -
    • Serialize changes across all projects
    • -
    • Speculative execution of tests
    • -
    • Run in parallel in order triggered
    • -
    • Assume success
    • -
    • Start over on failure
    • -
    -
    - -
    -

    Zuul Simulation

    - -
    - -
    -

    Zuul Check Pipeline

    -
    -pipelines:
    -  - name: check
    -    manager: IndependentPipelineManager
    -    trigger:
    -      - event: patchset-created
    -    success:
    -      verified: 1
    -    failure:
    -      verified: -1
    -
    -
    - -
    -

    Zuul Gate Pipeline

    -
    -pipelines:
    -  - name: gate
    -    manager: DependentPipelineManager
    -    trigger:
    -      - event: comment-added
    -        approval:
    -          - approved: 1
    -    start:
    -      verified: 0
    -    success:
    -      verified: 2
    -      submit: true
    -    failure:
    -      verified: -2
    -
    -
    - -
    -

    Zuul Post-Merge Pipeline

    -
    -pipelines:
    -  - name: post
    -    manager: IndependentPipelineManager
    -    trigger:
    -      - event: ref-updated
    -        ref: ^(?!refs/).*$
    -
    -
    - -
    -

    Other Pipelines We've Created

    -
    -pipelines:
    -  - name: silent
    -    manager: IndependentPipelineManager
    -    trigger:
    -      - event: patchset-created
    -
    -  - name: publish
    -    manager: IndependentPipelineManager
    -    trigger:
    -      - event: ref-updated
    -        ref: ^refs/tags/.*$
    -
    -
    - -
    -

    Zuul Project Configuration

    -
    -projects:
    -  - name: openstack/nova
    -    check:
    -      - gate-nova-merge:
    -        - gate-nova-pep8
    -        - gate-nova-python26
    -        - gate-nova-python27
    -        - gate-tempest-devstack-vm
    -    gate:
    -      - gate-nova-merge:
    -        - gate-nova-pep8
    -        - gate-nova-python26
    -        - gate-nova-python27
    -        - gate-tempest-devstack-vm
    -    post:
    -      - nova-tarball
    -      - nova-docs
    -
    -
    - -
    -

    Zuul Change Queues

    - -

    Projects with shared jobs automatically get a shared queue:

    -
    -projects:
    -  - name: openstack/nova
    -    gate:
    -      - gate-nova-merge:
    -        - gate-nova-python27
    -        - gate-tempest-devstack-vm
    -
    -  - name: openstack/glance
    -    gate:
    -      - gate-glance-merge:
    -        - gate-glance-python27
    -        - gate-tempest-devstack-vm
    -
    -
    - -
    -

    Status View

    - -
    - -
    - -
    - -
    -

    Jenkins API

    - -
      -
    • Job and view lists
    • -
    • Job configuration
    • -
    • Build jobs
    • -
    • Build descriptions
    • -
    • Cancel builds
    • -
    • Inspect and cancel queue
    • -
    • Node configuration
    • -
    -
    - -
    -

    Jenkins API: Launching

    - -

    -The python library jenkins allows for easy interaction: -

    - -
    -from jenkins import Jenkins
    -jenkins = Jenkins('servername', 'username', 'apikey')
    -jenkins.build_job(job.name, parameters=params)
    -
    - -

    -Abstracts simple GET/POST transactions. -

    - -
    - -
    -

    Jenkins API: Notifications

    - -

    -Notification plugin provides for HTTP endpoints. -

    - -
    -class JenkinsCallback(threading.Thread):
    -    def run(self):
    -        httpserver.serve(self.app, host='0.0.0.0', port='8001')
    -
    -    def app(self, environ, start_response):
    -        request = Request(environ)
    -        start_response('200 OK', [('content-type', 'text/html')])
    -        if request.path == '/jenkins_endpoint':
    -            data = json.loads(request.body)
    -            build = data.get('build')
    -            phase = build.get('phase')
    -            status = build.get('status')
    -            url = build.get('full_url')
    -            number = build.get('number')
    -            params = build.get('parameters')
    -        return ['OK']
    -
    -
    - -
    -

    Development / Contributing

    - - - -
    - -
    -

    Thanks!

    - -

    - -

    -These slides available at: https://github.com/openstack-ci/publications -

    - -
    - - - diff --git a/zuul/scripts/.htaccess b/zuul/scripts/.htaccess deleted file mode 100644 index d395348..0000000 --- a/zuul/scripts/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/zuul/scripts/jquery-1.7.2.min.js b/zuul/scripts/jquery-1.7.2.min.js deleted file mode 100644 index 16ad06c..0000000 --- a/zuul/scripts/jquery-1.7.2.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
    "+""+"
    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
    t
    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f -.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/zuul/scripts/raphael-min.js b/zuul/scripts/raphael-min.js deleted file mode 100644 index d30dbad..0000000 --- a/zuul/scripts/raphael-min.js +++ /dev/null @@ -1,10 +0,0 @@ -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file diff --git a/zuul/scripts/slidy.js b/zuul/scripts/slidy.js deleted file mode 100644 index 217a421..0000000 --- a/zuul/scripts/slidy.js +++ /dev/null @@ -1,2952 +0,0 @@ -/* slidy.js - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software - - Defines single name "w3c_slidy" in global namespace - Adds event handlers without trampling on any others -*/ - -// the slidy object implementation -var w3c_slidy = { - // classify which kind of browser we're running under - ns_pos: (typeof window.pageYOffset!='undefined'), - khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false), - opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false), - ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false), - iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false), - android: ((navigator.userAgent).indexOf("Android") >= 0 ? true : false), - ie: (typeof document.all != "undefined" && !this.opera), - ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1), - ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1), - ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1), - ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1), - - // data for swipe and double tap detection on touch screens - last_tap: 0, - prev_tap: 0, - start_x: 0, - start_y: 0, - delta_x: 0, - delta_y: 0, - - // are we running as XHTML? (doesn't work on Opera) - is_xhtml: /xml/.test(document.contentType), - - slide_number: 0, // integer slide count: 0, 1, 2, ... - slide_number_element: null, // element containing slide number - slides: [], // set to array of slide div's - notes: [], // set to array of handout div's - backgrounds: [], // set to array of background div's - toolbar: null, // element containing toolbar - title: null, // document title - last_shown: null, // last incrementally shown item - eos: null, // span element for end of slide indicator - toc: null, // table of contents - outline: null, // outline element with the focus - selected_text_len: 0, // length of drag selection on document - view_all: 0, // 1 to view all slides + handouts - want_toolbar: true, // user preference to show/hide toolbar - mouse_click_enabled: true, // enables left click for next slide - scroll_hack: 0, // IE work around for position: fixed - disable_slide_click: false, // used by clicked anchors - - lang: "en", // updated to language specified by html file - - help_anchor: null, // used for keyboard focus hack in showToolbar() - help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html", - help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " + - "or Pg Up and Pg Dn. Use S and B to change font size.", - - size_index: 0, - size_adjustment: 0, - sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt", - "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"), - - // needed for efficient resizing - last_width: 0, - last_height: 0, - - - // Needed for cross browser support for relative width/height on - // object elements. The work around is to save width/height attributes - // and then to recompute absolute width/height dimensions on resizing - objects: [], - - // attach initialiation event handlers - set_up: function () { - var init = function() { w3c_slidy.init(); }; - if (typeof window.addEventListener != "undefined") - window.addEventListener("load", init, false); - else - window.attachEvent("onload", init); - }, - - hide_slides: function () { - if (document.body && !w3c_slidy.initialized) - document.body.style.visibility = "hidden"; - else - setTimeout(w3c_slidy.hide_slides, 50); - }, - - // hack to persuade IE to compute correct document height - // as needed for simulating fixed positioning of toolbar - ie_hack: function () { - window.resizeBy(0,-1); - window.resizeBy(0, 1); - }, - - init: function () { - //alert("slidy starting test 10"); - document.body.style.visibility = "visible"; - this.init_localization(); - this.add_toolbar(); - this.wrap_implicit_slides(); - this.collect_slides(); - this.collect_notes(); - this.collect_backgrounds(); - this.objects = document.body.getElementsByTagName("object"); - this.patch_anchors(); - this.slide_number = this.find_slide_number(location.href); - window.offscreenbuffering = true; - this.size_adjustment = this.find_size_adjust(); - this.time_left = this.find_duration(); - this.hide_image_toolbar(); // suppress IE image toolbar popup - this.init_outliner(); // activate fold/unfold support - this.title = document.title; - this.keyboardless = (this.ipad||this.iphone||this.android); - - if (this.keyboardless) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - this.want_toolbar = 0; - } - - // work around for opera bug - this.is_xhtml = (document.body.tagName == "BODY" ? false : true); - - if (this.slides.length > 0) - { - var slide = this.slides[this.slide_number]; - - if (this.slide_number > 0) - { - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - this.set_eos_status(true); - } - else - { - this.last_shown = null; - this.set_visibility_all_incremental("hidden"); - this.set_eos_status(!this.next_incremental_item(this.last_shown)); - } - - this.set_location(); - this.add_class(this.slides[0], "first-slide"); - w3c_slidy.show_slide(slide); - } - - this.toc = this.table_of_contents(); - - this.add_initial_prompt(); - - // bind event handlers without interfering with custom page scripts - // Tap events behave too weirdly to support clicks reliably on - // iPhone and iPad, so exclude these from click handler - - if (!this.keyboardless) - this.add_listener(document.body, "click", this.mouse_button_click); - - this.add_listener(document, "keydown", this.key_down); - this.add_listener(document, "keypress", this.key_press); - this.add_listener(window, "resize", this.resized); - this.add_listener(window, "scroll", this.scrolled); - this.add_listener(window, "unload", this.unloaded); - - this.add_listener(document, "touchstart", this.touchstart); - this.add_listener(document, "touchmove", this.touchmove); - this.add_listener(document, "touchend", this.touchend); - - // this seems to be a debugging hack - //if (!document.body.onclick) - // document.body.onclick = function () { }; - - this.single_slide_view(); - - //this.set_location(); - - this.resized(); - - if (this.ie7) - setTimeout(w3c_slidy.ie_hack, 100); - - this.show_toolbar(); - - // for back button detection - setInterval(function () { w3c_slidy.check_location(); }, 200); - w3c_slidy.initialized = true; - }, - - // create div element with links to each slide - table_of_contents: function () { - var toc = this.create_element("div"); - this.add_class(toc, "slidy_toc hidden"); - //toc.setAttribute("tabindex", "0"); - - var heading = this.create_element("div"); - this.add_class(heading, "toc-heading"); - heading.innerHTML = this.localize("Table of Contents"); - - toc.appendChild(heading); - var previous = null; - - for (var i = 0; i < this.slides.length; ++i) - { - var title = this.has_class(this.slides[i], "title"); - var num = document.createTextNode((i + 1) + ". "); - - toc.appendChild(num); - - var a = this.create_element("a"); - a.setAttribute("href", "#(" + (i+1) + ")"); - - if (title) - this.add_class(a, "titleslide"); - - var name = document.createTextNode(this.slide_name(i)); - a.appendChild(name); - a.onclick = w3c_slidy.toc_click; - a.onkeydown = w3c_slidy.toc_key_down; - a.previous = previous; - - if (previous) - previous.next = a; - - toc.appendChild(a); - - if (i == 0) - toc.first = a; - - if (i < this.slides.length - 1) - { - var br = this.create_element("br"); - toc.appendChild(br); - } - - previous = a; - } - - toc.focus = function () { - if (this.first) - this.first.focus(); - } - - toc.onmouseup = w3c_slidy.mouse_button_up; - - toc.onclick = function (e) { - e||(e=window.event); - - if (w3c_slidy.selected_text_len <= 0) - w3c_slidy.hide_table_of_contents(true); - - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }; - - document.body.insertBefore(toc, document.body.firstChild); - return toc; - }, - - is_shown_toc: function () { - return !w3c_slidy.has_class(w3c_slidy.toc, "hidden"); - }, - - show_table_of_contents: function () { - w3c_slidy.remove_class(w3c_slidy.toc, "hidden"); - var toc = w3c_slidy.toc; - toc.focus(); - - if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0) - setTimeout(w3c_slidy.ie_hack, 100); - }, - - hide_table_of_contents: function (focus) { - w3c_slidy.add_class(w3c_slidy.toc, "hidden"); - - if (focus && !w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - }, - - toggle_table_of_contents: function () { - if (w3c_slidy.is_shown_toc()) - w3c_slidy.hide_table_of_contents(true); - else - w3c_slidy.show_table_of_contents(); - }, - - // called on clicking toc entry - toc_click: function (e) { - if (!e) - e = window.event; - - var target = w3c_slidy.get_target(e); - - if (target && target.nodeType == 1) - { - var uri = target.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - } - - w3c_slidy.hide_table_of_contents(true); - if (w3c_slidy.ie7) w3c_slidy.ie_hack(); - w3c_slidy.stop_propagation(e); - return w3c_slidy.cancel(e); - }, - - // called onkeydown for toc entry - toc_key_down: function (event) { - var key; - - if (!event) - var event = window.event; - - // kludge around NS/IE differences - if (window.event) - key = window.event.keyCode; - else if (event.which) - key = event.which; - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey) - return true; - - if (key == 13) - { - var uri = this.getAttribute("href"); - - if (uri) - { - //alert("going to " + uri); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri); - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_location(); - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.show_slide(slide); - //target.focus(); - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - } - - w3c_slidy.hide_table_of_contents(true); - - if (self.ie7) - w3c_slidy.ie_hack(); - - return w3c_slidy.cancel(event); - } - - if (key == 40 && this.next) - { - this.next.focus(); - return w3c_slidy.cancel(event); - } - - if (key == 38 && this.previous) - { - this.previous.focus(); - return w3c_slidy.cancel(event); - } - - return true; - }, - - touchstart: function (e) - { - //e.preventDefault(); - this.prev_tap = this.last_tap; - this.last_tap = (new Date).getTime(); - - var tap_delay = this.last_tap - this.prev_tap; - - if (tap_delay <= 200) - { - // double tap - } - - var touch = e.touches[0]; - - this.start_x = touch.pageX; - this.start_y = touch.pageY; - this.delta_x = this.delta_y = 0; - }, - - touchmove: function (e) - { - //e.preventDefault(); - var touch = e.touches[0]; - this.delta_x = touch.pageX - this.start_x; - this.delta_y = touch.pageY - this.start_y; - }, - - touchend: function (e) - { - //e.preventDefault(); - var delay = (new Date).getTime() - this.last_tap; - var dx = this.delta_x; - var dy = this.delta_y; - var abs_dx = Math.abs(dx); - var abs_dy = Math.abs(dy); - - if (delay < 500 && (abs_dx > 100 || abs_dy > 100)) - { - if (abs_dx > 0.5 * abs_dy) - { - if (dx > 0) - w3c_slidy.next_slide(true); - else - w3c_slidy.previous_slide(true); - } - else if (abs_dy > 2 * abs_dx) - { - w3c_slidy.toggle_table_of_contents(); - } - } - }, - - // ### OBSOLETE ### - before_print: function () { - this.show_all_slides(); - this.hide_toolbar(); - alert("before print"); - }, - - // ### OBSOLETE ### - after_print: function () { - if (!this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - } - alert("after print"); - }, - - // ### OBSOLETE ### - print_slides: function () { - this.before_print(); - window.print(); - this.after_print(); - }, - - // ### OBSOLETE ?? ### - toggle_view: function () { - if (this.view_all) - { - this.single_slide_view(); - this.show_toolbar(); - this.view_all = 0; - } - else - { - this.show_all_slides(); - this.hide_toolbar(); - this.view_all = 1; - } - }, - - // prepare for printing ### OBSOLETE ### - show_all_slides: function () { - this.remove_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - }, - - // restore after printing ### OBSOLETE ### - single_slide_view: function () { - this.add_class(document.body, "single_slide"); - this.set_visibility_all_incremental("visible"); - this.last_shown = this.previous_incremental_item(null); - }, - - // suppress IE's image toolbar pop up - hide_image_toolbar: function () { - if (!this.ns_pos) - { - var images = document.getElementsByTagName("IMG"); - - for (var i = 0; i < images.length; ++i) - images[i].setAttribute("galleryimg", "no"); - } - }, - - unloaded: function (e) { - //alert("unloaded"); - }, - - // Safari and Konqueror don't yet support getComputedStyle() - // and they always reload page when location.href is updated - is_KHTML: function () { - var agent = navigator.userAgent; - return (agent.indexOf("KHTML") >= 0 ? true : false); - }, - - // find slide name from first h1 element - // default to document title + slide number - slide_name: function (index) { - var name = null; - var slide = this.slides[index]; - - var heading = this.find_heading(slide); - - if (heading) - name = this.extract_text(heading); - - if (!name) - name = this.title + "(" + (index + 1) + ")"; - - name.replace(/\&/g, "&"); - name.replace(/\/g, ">"); - - return name; - }, - - // find first h1 element in DOM tree - find_heading: function (node) { - if (!node || node.nodeType != 1) - return null; - - if (node.nodeName == "H1" || node.nodeName == "h1") - return node; - - var child = node.firstChild; - - while (child) - { - node = this.find_heading(child); - - if (node) - return node; - - child = child.nextSibling; - } - - return null; - }, - - // recursively extract text from DOM tree - extract_text: function (node) { - if (!node) - return ""; - - // text nodes - if (node.nodeType == 3) - return node.nodeValue; - - // elements - if (node.nodeType == 1) - { - node = node.firstChild; - var text = ""; - - while (node) - { - text = text + this.extract_text(node); - node = node.nextSibling; - } - - return text; - } - - return ""; - }, - - // find copyright text from meta element - find_copyright: function () { - var name, content; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "copyright") - return content; - } - - return null; - }, - - find_size_adjust: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "font-size-adjustment") - return 1 * content; - } - - return 1; - }, - - // for 20 minutes - find_duration: function () { - var name, content, offset; - var meta = document.getElementsByTagName("meta"); - - for (var i = 0; i < meta.length; ++i) - { - name = meta[i].getAttribute("name"); - content = meta[i].getAttribute("content"); - - if (name == "duration") - return 60000 * content; - } - - return null; - }, - - replace_by_non_breaking_space: function (str) { - for (var i = 0; i < str.length; ++i) - str[i] = 160; - }, - - // ### CHECK ME ### is use of "li" okay for text/html? - // for XHTML do we also need to specify namespace? - init_outliner: function () { - var items = document.getElementsByTagName("li"); - - for (var i = 0; i < items.length; ++i) - { - var target = items[i]; - - if (!this.has_class(target.parentNode, "outline")) - continue; - - target.onclick = this.outline_click; -/* ### more work needed for IE6 - if (!this.ns_pos) - { - target.onmouseover = this.hover_outline; - target.onmouseout = this.unhover_outline; - } -*/ - if (this.foldable(target)) - { - target.foldable = true; - target.onfocus = function () {w3c_slidy.outline = this;}; - target.onblur = function () {w3c_slidy.outline = null;}; - - if (!target.getAttribute("tabindex")) - target.setAttribute("tabindex", "0"); - - if (this.has_class(target, "expand")) - this.unfold(target); - else - this.fold(target); - } - else - { - this.add_class(target, "nofold"); - target.visible = true; - target.foldable = false; - } - } - }, - - foldable: function (item) { - if (!item || item.nodeType != 1) - return false; - - var node = item.firstChild; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) - return true; - - node = node.nextSibling; - } - - return false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - fold: function (item) { - if (item) - { - this.remove_class(item, "unfolded"); - this.add_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.add_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = false; - }, - - // ### CHECK ME ### switch to add/remove "hidden" class - unfold: function (item) { - if (item) - { - this.add_class(item, "unfolded"); - this.remove_class(item, "folded"); - } - - var node = item ? item.firstChild : null; - - while (node) - { - if (node.nodeType == 1 && this.is_block(node)) // element - { - w3c_slidy.remove_class(node, "hidden"); - } - - node = node.nextSibling; - } - - item.visible = true; - }, - - outline_click: function (e) { - if (!e) - e = window.event; - - var rightclick = false; - var target = w3c_slidy.get_target(e); - - while (target && target.visible == undefined) - target = target.parentNode; - - if (!target) - return true; - - if (e.which) - rightclick = (e.which == 3); - else if (e.button) - rightclick = (e.button == 2); - - if (!rightclick && target.visible != undefined) - { - if (target.foldable) - { - if (target.visible) - w3c_slidy.fold(target); - else - w3c_slidy.unfold(target); - } - - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - } - - return false; - }, - - add_initial_prompt: function () { - var prompt = this.create_element("div"); - prompt.setAttribute("class", "initial_prompt"); - - var p1 = this.create_element("p"); - prompt.appendChild(p1); - p1.setAttribute("class", "help"); - - if (this.keyboardless) - p1.innerHTML = "swipe right to move to next slide"; - else - p1.innerHTML = "Space, Right Arrow or swipe right to move to " + - "next slide, click help below for more details"; - - this.add_listener(prompt, "click", function (e) { - document.body.removeChild(prompt); - w3c_slidy.stop_propagation(e); - - if (e.cancel != undefined) - e.cancel = true; - - if (e.returnValue != undefined) - e.returnValue = false; - - return false; - }); - - document.body.appendChild(prompt); - this.initial_prompt = prompt; - setTimeout(function() {document.body.removeChild(prompt);}, 5000); - }, - - add_toolbar: function () { - var counter, page; - - this.toolbar = this.create_element("div"); - this.toolbar.setAttribute("class", "toolbar"); - - // a reasonably behaved browser - if (this.ns_pos || !this.ie6) - { - var right = this.create_element("div"); - right.setAttribute("style", "float: right; text-align: right"); - - counter = this.create_element("span") - counter.innerHTML = this.localize("slide") + " n/m"; - right.appendChild(counter); - this.toolbar.appendChild(right); - - var left = this.create_element("div"); - left.setAttribute("style", "text-align: left"); - - // global end of slide indicator - this.eos = this.create_element("span"); - this.eos.innerHTML = "* "; - left.appendChild(this.eos); - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - left.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - left.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()"); - contents.setAttribute("title", this.localize("table of contents")); - contents.innerHTML = this.localize("contents?"); - left.appendChild(contents); - - var gap2 = document.createTextNode(" "); - left.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.className = "copyright"; - span.innerHTML = copyright; - left.appendChild(span); - } - - this.toolbar.setAttribute("tabindex", "0"); - this.toolbar.appendChild(left); - } - else // IE6 so need to work around its poor CSS support - { - this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute"); - this.toolbar.style.zIndex = "200"; - this.toolbar.style.width = "99.9%"; - this.toolbar.style.height = "1.2em"; - this.toolbar.style.top = "auto"; - this.toolbar.style.bottom = "0"; - this.toolbar.style.left = "0"; - this.toolbar.style.right = "0"; - this.toolbar.style.textAlign = "left"; - this.toolbar.style.fontSize = "60%"; - this.toolbar.style.color = "red"; - this.toolbar.borderWidth = 0; - this.toolbar.className = "toolbar"; - this.toolbar.style.background = "rgb(240,240,240)"; - - // would like to have help text left aligned - // and page counter right aligned, floating - // div's don't work, so instead use nested - // absolutely positioned div's. - - var sp = this.create_element("span"); - sp.innerHTML = "  * "; - this.toolbar.appendChild(sp); - this.eos = sp; // end of slide indicator - - var help = this.create_element("a"); - help.setAttribute("href", this.help_page); - help.setAttribute("title", this.localize(this.help_text)); - help.innerHTML = this.localize("help?"); - this.toolbar.appendChild(help); - this.help_anchor = help; // save for focus hack - - var gap1 = document.createTextNode(" "); - this.toolbar.appendChild(gap1); - - var contents = this.create_element("a"); - contents.setAttribute("href", "javascript:toggleTableOfContents()"); - contents.setAttribute("title", this.localize("table of contents".localize)); - contents.innerHTML = this.localize("contents?"); - this.toolbar.appendChild(contents); - - var gap2 = document.createTextNode(" "); - this.toolbar.appendChild(gap2); - - var copyright = this.find_copyright(); - - if (copyright) - { - var span = this.create_element("span"); - span.innerHTML = copyright; - span.style.color = "black"; - span.style.marginLeft = "0.5em"; - this.toolbar.appendChild(span); - } - - counter = this.create_element("div") - counter.style.position = "absolute"; - counter.style.width = "auto"; //"20%"; - counter.style.height = "1.2em"; - counter.style.top = "auto"; - counter.style.bottom = 0; - counter.style.right = "0"; - counter.style.textAlign = "right"; - counter.style.color = "red"; - counter.style.background = "rgb(240,240,240)"; - - counter.innerHTML = this.localize("slide") + " n/m"; - this.toolbar.appendChild(counter); - } - - // ensure that click isn't passed through to the page - this.toolbar.onclick = - function (e) { - if (!e) - e = window.event; - - var target = e.target; - - if (!target && e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target && target.nodeType == 3) - target = target.parentNode; - - w3c_slidy.stop_propagation(e); - - if (target && target.nodeName.toLowerCase() != "a") - w3c_slidy.mouse_button_click(e); - }; - - this.slide_number_element = counter; - this.set_eos_status(false); - document.body.appendChild(this.toolbar); - }, - - // wysiwyg editors make it hard to use div elements - // e.g. amaya loses the div when you copy and paste - // this function wraps div elements around implicit - // slides which start with an h1 element and continue - // up to the next heading or div element - wrap_implicit_slides: function () { - var i, heading, node, next, div; - var headings = document.getElementsByTagName("h1"); - - if (!headings) - return; - - for (i = 0; i < headings.length; ++i) - { - heading = headings[i]; - - if (heading.parentNode != document.body) - continue; - - node = heading.nextSibling; - - div = document.createElement("div"); - this.add_class(div, "slide"); - document.body.replaceChild(div, heading); - div.appendChild(heading); - - while (node) - { - if (node.nodeType == 1 && // an element - (node.nodeName == "H1" || - node.nodeName == "h1" || - node.nodeName == "DIV" || - node.nodeName == "div")) - break; - - next = node.nextSibling; - node = document.body.removeChild(node); - div.appendChild(node); - node = next; - } - } - }, - -// return new array of all slides - collect_slides: function () { - var slides = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "slide")) - { - // add slide to collection - slides[slides.length] = div; - - // hide each slide as it is found - this.add_class(div, "hidden"); - - // add dummy
    at end for scrolling hack - var node1 = document.createElement("br"); - div.appendChild(node1); - var node2 = document.createElement("br"); - div.appendChild(node2); - } - else if (this.has_class(div, "background")) - { // work around for Firefox SVG reload bug - // which otherwise replaces 1st SVG graphic with 2nd - div.style.display = "block"; - } - } - - this.slides = slides; - }, - - // return new array of all
    - collect_notes: function () { - var notes = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "handout")) - { - // add note to collection - notes[notes.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.notes = notes; - }, - - // return new array of all
    - // including named backgrounds e.g. class="background titlepage" - collect_backgrounds: function () { - var backgrounds = new Array(); - var divs = document.body.getElementsByTagName("div"); - - for (var i = 0; i < divs.length; ++i) - { - div = divs.item(i); - - if (this.has_class(div, "background")) - { - // add background to collection - backgrounds[backgrounds.length] = div; - - // and hide it - this.add_class(div, "hidden"); - } - } - - this.backgrounds = backgrounds; - }, - - // set click handlers on all anchors - patch_anchors: function () { - var self = w3c_slidy; - var handler = function (event) { - // compare this.href with location.href - // for link to another slide in this doc - - if (self.page_address(this.href) == self.page_address(location.href)) - { - // yes, so find new slide number - var newslidenum = self.find_slide_number(this.href); - - if (newslidenum != self.slide_number) - { - var slide = self.slides[self.slide_number]; - self.hide_slide(slide); - self.slide_number = newslidenum; - slide = self.slides[self.slide_number]; - self.show_slide(slide); - self.set_location(); - } - } - else - w3c_slidy.stop_propagation(event); - -// else if (this.target == null) -// location.href = this.href; - - this.blur(); - self.disable_slide_click = true; - }; - - var anchors = document.body.getElementsByTagName("a"); - - for (var i = 0; i < anchors.length; ++i) - { - if (window.addEventListener) - anchors[i].addEventListener("click", handler, false); - else - anchors[i].attachEvent("onclick", handler); - } - }, - - // ### CHECK ME ### see which functions are invoked via setTimeout - // either directly or indirectly for use of w3c_slidy vs this - show_slide_number: function () { - var timer = w3c_slidy.get_timer(); - w3c_slidy.slide_number_element.innerHTML = timer + w3c_slidy.localize("slide") + " " + - (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length; - }, - - // every 200mS check if the location has been changed as a - // result of the user activating the Back button/menu item - // doesn't work for Opera < 9.5 - check_location: function () { - var hash = location.hash; - - if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#")) - w3c_slidy.goto_slide(0); - else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")") - { - var num = parseInt(location.hash.substr(2)); - - if (!isNaN(num)) - w3c_slidy.goto_slide(num-1); - } - - if (w3c_slidy.time_left && w3c_slidy.slide_number > 0) - { - w3c_slidy.show_slide_number(); - - if (w3c_slidy.time_left > 0) - w3c_slidy.time_left -= 200; - } - }, - - get_timer: function () { - var timer = ""; - if (w3c_slidy.time_left) - { - var mins, secs; - secs = Math.floor(w3c_slidy.time_left/1000); - mins = Math.floor(secs / 60); - secs = secs % 60; - timer = (mins ? mins+"m" : "") + secs + "s "; - } - - return timer; - }, - - // this doesn't push location onto history stack for IE - // for which a hidden iframe hack is needed: load page into - // the iframe with script that set's parent's location.hash - // but that won't work for standalone use unless we can - // create the page dynamically via a javascript: URL - set_location: function () { - var uri = w3c_slidy.page_address(location.href); - var hash = "#(" + (w3c_slidy.slide_number+1) + ")"; - - if (w3c_slidy.slide_number >= 0) - uri = uri + hash; - - if (w3c_slidy.ie && (w3c_slidy.ie6 || w3c_slidy.ie7)) - w3c_slidy.push_hash(hash); - - if (uri != location.href) // && !khtml - location.href = uri; - - if (this.khtml) - hash = "(" + (w3c_slidy.slide_number+1) + ")"; - - if (!this.ie && location.hash != hash && location.hash != "") - location.hash = hash; - - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide_number(); - }, - - page_address: function (uri) { - var i = uri.indexOf("#"); - - if (i < 0) - i = uri.indexOf("%23"); - - // check if anchor is entire page - - if (i < 0) - return uri; // yes - - return uri.substr(0, i); - }, - - // only used for IE6 and IE7 - on_frame_loaded: function (hash) { - location.hash = hash; - var uri = w3c_slidy.page_address(location.href); - location.href = uri + hash; - }, - - // history hack with thanks to Bertrand Le Roy - push_hash: function (hash) { - if (hash == "") hash = "#(1)"; - window.location.hash = hash; - - var doc = document.getElementById("historyFrame").contentWindow.document; - doc.open("javascript:''"); - doc.write("hello mum"); - doc.close(); - }, - - // find current slide based upon location - // first find target anchor and then look - // for associated div element enclosing it - // finally map that to slide number - find_slide_number: function (uri) { - // first get anchor from page location - - var i = uri.indexOf("#"); - - // check if anchor is entire page - if (i < 0) - return 0; // yes - - var anchor = unescape(uri.substr(i+1)); - - // now use anchor as XML ID to find target - var target = document.getElementById(anchor); - - if (!target) - { - // does anchor look like "(2)" for slide 2 ?? - // where first slide is (1) - var re = /\((\d)+\)/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // accept [2] for backwards compatibility - re = /\[(\d)+\]/; - - if (anchor.match(re)) - { - var num = parseInt(anchor.substring(1, anchor.length-1)); - - if (num > this.slides.length) - num = 1; - - if (--num < 0) - num = 0; - - return num; - } - - // oh dear unknown anchor - return 0; - } - - // search for enclosing slide - - while (true) - { - // browser coerces html elements to uppercase! - if (target.nodeName.toLowerCase() == "div" && - this.has_class(target, "slide")) - { - // found the slide element - break; - } - - // otherwise try parent element if any - - target = target.parentNode; - - if (!target) - { - return 0; // no luck! - } - }; - - for (i = 0; i < slides.length; ++i) - { - if (slides[i] == target) - return i; // success - } - - // oh dear still no luck - return 0; - }, - - previous_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide; - - if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null) - { - w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown); - w3c_slidy.set_eos_status(false); - } - else if (w3c_slidy.slide_number > 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - w3c_slidy.set_eos_status(true); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_location(); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - next_slide: function (incremental) { - if (!w3c_slidy.view_all) - { - var slide, last = w3c_slidy.last_shown; - - if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1) - w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown); - - if ((!incremental || w3c_slidy.last_shown == null) && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = w3c_slidy.slide_number + 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - else if (!w3c_slidy.last_shown) - { - if (last && incremental) - w3c_slidy.last_shown = last; - } - - w3c_slidy.set_location(); - - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - - if (!w3c_slidy.ns_pos) - w3c_slidy.refresh_toolbar(200); - } - }, - - // to first slide with nothing revealed - // i.e. state at start of presentation - first_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - if (w3c_slidy.slide_number != 0) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - - w3c_slidy.slide_number = 0; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.show_slide(slide); - } - - w3c_slidy.set_eos_status( - !w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - w3c_slidy.set_location(); - } - }, - - // goto last slide with everything revealed - // i.e. state at end of presentation - last_slide: function () { - if (!w3c_slidy.view_all) - { - var slide; - - w3c_slidy.last_shown = null; //revealNextItem(lastShown); - - if (w3c_slidy.last_shown == null && - w3c_slidy.slide_number < w3c_slidy.slides.length - 1) - { - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = w3c_slidy.slides.length - 1; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - - w3c_slidy.show_slide(slide); - } - else - { - w3c_slidy.set_visibility_all_incremental("visible"); - w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null); - } - - w3c_slidy.set_eos_status(true); - w3c_slidy.set_location(); - } - }, - - - // ### check this and consider add/remove class - set_eos_status: function (state) { - if (this.eos) - this.eos.style.color = (state ? "rgb(240,240,240)" : "red"); - }, - - // first slide is 0 - goto_slide: function (num) { - //alert("going to slide " + (num+1)); - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.slide_number = num; - slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.last_shown = null; - w3c_slidy.set_visibility_all_incremental("hidden"); - w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown)); - document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")"; - w3c_slidy.show_slide(slide); - w3c_slidy.show_slide_number(); - }, - - - show_slide: function (slide) { - this.sync_background(slide); - window.scrollTo(0,0); - this.remove_class(slide, "hidden"); - }, - - hide_slide: function (slide) { - this.add_class(slide, "hidden"); - }, - - // show just the backgrounds pertinent to this slide - // when slide background-color is transparent - // this should now work with rgba color values - sync_background: function (slide) { - var background; - var bgColor; - - if (slide.currentStyle) - bgColor = slide.currentStyle["backgroundColor"]; - else if (document.defaultView) - { - var styles = document.defaultView.getComputedStyle(slide,null); - - if (styles) - bgColor = styles.getPropertyValue("background-color"); - else // broken implementation probably due Safari or Konqueror - { - //alert("defective implementation of getComputedStyle()"); - bgColor = "transparent"; - } - } - else - bgColor == "transparent"; - - if (bgColor == "transparent" || - bgColor.indexOf("rgba") >= 0 || - bgColor.indexOf("opacity") >= 0) - { - var slideClass = this.get_class_list(slide); - - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - - var bgClass = this.get_class_list(background); - - if (this.matching_background(slideClass, bgClass)) - this.remove_class(background, "hidden"); - else - this.add_class(background, "hidden"); - } - } - else // forcibly hide all backgrounds - this.hide_backgrounds(); - }, - - hide_backgrounds: function () { - for (var i = 0; i < this.backgrounds.length; i++) - { - background = this.backgrounds[i]; - this.add_class(background, "hidden"); - } - }, - - // compare classes for slide and background - matching_background: function (slideClass, bgClass) { - var i, count, pattern, result; - - // define pattern as regular expression - pattern = /\w+/g; - - // check background class names - result = bgClass.match(pattern); - - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (result[i] == "background") - continue; - - ++count; - } - - if (count == 0) // default match - return true; - - // check for matches and place result in array - result = slideClass.match(pattern); - - // now check if desired name is present for background - for (i = count = 0; i < result.length; i++) - { - if (result[i] == "hidden") - continue; - - if (this.has_token(bgClass, result[i])) - return true; - } - - return false; - }, - - resized: function () { - var width = 0; - - if ( typeof( window.innerWidth ) == 'number' ) - width = window.innerWidth; // Non IE browser - else if (document.documentElement && document.documentElement.clientWidth) - width = document.documentElement.clientWidth; // IE6 - else if (document.body && document.body.clientWidth) - width = document.body.clientWidth; // IE4 - - var height = 0; - - if ( typeof( window.innerHeight ) == 'number' ) - height = window.innerHeight; // Non IE browser - else if (document.documentElement && document.documentElement.clientHeight) - height = document.documentElement.clientHeight; // IE6 - else if (document.body && document.body.clientHeight) - height = document.body.clientHeight; // IE4 - - if (height && (width/height > 1.05*1024/768)) - { - width = height * 1024.0/768; - } - - // IE fires onresize even when only font size is changed! - // so we do a check to avoid blocking < and > actions - if (width != w3c_slidy.last_width || height != w3c_slidy.last_height) - { - if (width >= 1100) - w3c_slidy.size_index = 5; // 4 - else if (width >= 1000) - w3c_slidy.size_index = 4; // 3 - else if (width >= 800) - w3c_slidy.size_index = 3; // 2 - else if (width >= 600) - w3c_slidy.size_index = 2; // 1 - else if (width) - w3c_slidy.size_index = 0; - - // add in font size adjustment from meta element e.g. - // - // useful when slides have too much content ;-) - - if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment && - w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length) - w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment; - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - w3c_slidy.adjust_object_dimensions(width, height); - - if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index]) - { - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - } - - w3c_slidy.last_width = width; - w3c_slidy.last_height = height; - - // force reflow to work around Mozilla bug - if (w3c_slidy.ns_pos) - { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - } - - // force correct positioning of toolbar - w3c_slidy.refresh_toolbar(200); - } - }, - - scrolled: function () { - if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset(); - // hide toolbar - w3c_slidy.toolbar.style.display = "none"; - - // make it reappear later - if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all) - { - setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000); - w3c_slidy.scrollhack = 1; - } - } - }, - - hide_toolbar: function () { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden"); - window.focus(); - }, - - // used to ensure IE refreshes toolbar in correct position - refresh_toolbar: function (interval) { - if (!w3c_slidy.ns_pos && !w3c_slidy.ie7) - { - w3c_slidy.hide_toolbar(); - setTimeout(function () {w3c_slidy.show_toolbar(); }, interval); - } - }, - - // restores toolbar after short delay - show_toolbar: function () { - if (w3c_slidy.want_toolbar) - { - w3c_slidy.toolbar.style.display = "block"; - - if (!w3c_slidy.ns_pos) - { - // adjust position to allow for scrolling - var xoffset = w3c_slidy.scroll_x_offset(); - w3c_slidy.toolbar.style.left = xoffset; - w3c_slidy.toolbar.style.right = xoffset; - - // determine vertical scroll offset - //var yoffset = scrollYOffset(); - - // bottom is doc height - window height - scroll offset - //var bottom = documentHeight() - lastHeight - yoffset - - //if (yoffset > 0 || documentHeight() > lastHeight) - // bottom += 16; // allow for height of scrollbar - - w3c_slidy.toolbar.style.bottom = 0; //bottom; - } - - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden"); - } - - w3c_slidy.scrollhack = 0; - - - // set the keyboard focus to the help link on the - // toolbar to ensure that document has the focus - // IE doesn't always work with window.focus() - // and this hack has benefit of Enter for help - - try - { - if (!w3c_slidy.opera) - w3c_slidy.help_anchor.focus(); - } - catch (e) - { - } - }, - -// invoked via F key - toggle_toolbar: function () { - if (!w3c_slidy.view_all) - { - if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden")) - { - w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 1; - } - else - { - w3c_slidy.add_class(w3c_slidy.toolbar, "hidden") - w3c_slidy.want_toolbar = 0; - } - } - }, - - scroll_x_offset: function () { - if (window.pageXOffset) - return self.pageXOffset; - - if (document.documentElement && - document.documentElement.scrollLeft) - return document.documentElement.scrollLeft; - - if (document.body) - return document.body.scrollLeft; - - return 0; - }, - - scroll_y_offset: function () { - if (window.pageYOffset) - return self.pageYOffset; - - if (document.documentElement && - document.documentElement.scrollTop) - return document.documentElement.scrollTop; - - if (document.body) - return document.body.scrollTop; - - return 0; - }, - - // looking for a way to determine height of slide content - // the slide itself is set to the height of the window - optimize_font_size: function () { - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - //var dh = documentHeight(); //getDocHeight(document); - var dh = slide.scrollHeight; - var wh = getWindowHeight(); - var u = 100 * dh / wh; - - alert("window utilization = " + u + "% (doc " - + dh + " win " + wh + ")"); - }, - - // from document object - get_doc_height: function (doc) { - if (!doc) - doc = document; - - if (doc && doc.body && doc.body.offsetHeight) - return doc.body.offsetHeight; // ns/gecko syntax - - if (doc && doc.body && doc.body.scrollHeight) - return doc.body.scrollHeight; - - alert("couldn't determine document height"); - }, - - get_window_height: function () { - if ( typeof( window.innerHeight ) == 'number' ) - return window.innerHeight; // Non IE browser - - if (document.documentElement && document.documentElement.clientHeight) - return document.documentElement.clientHeight; // IE6 - - if (document.body && document.body.clientHeight) - return document.body.clientHeight; // IE4 - }, - - document_height: function () { - var sh, oh; - - sh = document.body.scrollHeight; - oh = document.body.offsetHeight; - - if (sh && oh) - { - return (sh > oh ? sh : oh); - } - - // no idea! - return 0; - }, - - smaller: function () { - if (w3c_slidy.size_index > 0) - { - --w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - bigger: function () { - if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1) - { - ++w3c_slidy.size_index; - } - - w3c_slidy.toolbar.style.display = "none"; - document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index]; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - w3c_slidy.hide_slide(slide); - w3c_slidy.show_slide(slide); - setTimeout(function () {w3c_slidy.show_toolbar(); }, 50); - }, - - // enables cross browser use of relative width/height - // on object elements for use with SVG and Flash media - // with thanks to Ivan Herman for the suggestion - adjust_object_dimensions: function (width, height) { - for( var i = 0; i < w3c_slidy.objects.length; i++ ) - { - var obj = this.objects[i]; - var mimeType = obj.getAttribute("type"); - - if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash") - { - if ( !obj.initialWidth ) - obj.initialWidth = obj.getAttribute("width"); - - if ( !obj.initialHeight ) - obj.initialHeight = obj.getAttribute("height"); - - if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" ) - { - var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1)); - var newW = width * (w/100.0); - obj.setAttribute("width",newW); - } - - if ( obj.initialHeight && - obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" ) - { - var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1)); - var newH = height * (h/100.0); - obj.setAttribute("height", newH); - } - } - } - }, - - // needed for Opera to inhibit default behavior - // since Opera delivers keyPress even if keyDown - // was cancelled - key_press: function (event) { - if (!event) - event = window.event; - - if (!w3c_slidy.key_wanted) - return w3c_slidy.cancel(event); - - return true; - }, - - // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes - key_down: function (event) { - var key, target, tag; - - w3c_slidy.key_wanted = true; - - if (!event) - event = window.event; - - // kludge around NS/IE differences - if (window.event) - { - key = window.event.keyCode; - target = window.event.srcElement; - } - else if (event.which) - { - key = event.which; - target = event.target; - } - else - return true; // Yikes! unknown browser - - // ignore event if key value is zero - // as for alt on Opera and Konqueror - if (!key) - return true; - - // avoid interfering with keystroke - // behavior for non-slidy chrome elements - if (!w3c_slidy.slidy_chrome(target) && - w3c_slidy.special_element(target)) - return true; - - // check for concurrent control/command/alt key - // but are these only present on mouse events? - - if (event.ctrlKey || event.altKey || event.metaKey) - return true; - - // dismiss table of contents if visible - if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40) - { - w3c_slidy.hide_table_of_contents(true); - - if (key == 27 || key == 84 || key == 67) - return w3c_slidy.cancel(event); - } - - if (key == 34) // Page Down - { - w3c_slidy.next_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 33) // Page Up - { - w3c_slidy.previous_slide(!event.shiftKey); - return w3c_slidy.cancel(event); - } - else if (key == 32) // space bar - { - w3c_slidy.next_slide(true); - return w3c_slidy.cancel(event); - } - else if (key == 37) // Left arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.previous_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 36) // Home - { - w3c_slidy.first_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 35) // End - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 39) // Right arrow - { - if (w3c_slidy.view_all) - return true; - - w3c_slidy.next_slide(false); - return w3c_slidy.cancel(event); - } - else if (key == 13) // Enter - { - if (w3c_slidy.outline) - { - if (w3c_slidy.outline.visible) - w3c_slidy.fold(w3c_slidy.outline); - else - w3c_slidy.unfold(w3c_slidy.outline); - - return w3c_slidy.cancel(event); - } - } - else if (key == 188) // < for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 190) // > for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 189 || key == 109) // - for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 187 || key == 191 || key == 107) // = + for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 83) // S for smaller fonts - { - w3c_slidy.smaller(); - return w3c_slidy.cancel(event); - } - else if (key == 66) // B for larger fonts - { - w3c_slidy.bigger(); - return w3c_slidy.cancel(event); - } - else if (key == 90) // Z for last slide - { - w3c_slidy.last_slide(); - return w3c_slidy.cancel(event); - } - else if (key == 70) // F for toggle toolbar - { - w3c_slidy.toggle_toolbar(); - return w3c_slidy.cancel(event); - } - else if (key == 65) // A for toggle view single/all slides - { - w3c_slidy.toggle_view(); - return w3c_slidy.cancel(event); - } - else if (key == 75) // toggle action of left click for next page - { - w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled; - var alert_msg = (w3c_slidy.mouse_click_enabled ? - "enabled" : "disabled") + " mouse click advance"; - - alert(w3c_slidy.localize(alert_msg)); - return w3c_slidy.cancel(event); - } - else if (key == 84 || key == 67) // T or C for table of contents - { - if (w3c_slidy.toc) - w3c_slidy.toggle_table_of_contents(); - - return w3c_slidy.cancel(event); - } - else if (key == 72) // H for help - { - window.location = w3c_slidy.help_page; - return w3c_slidy.cancel(event); - } - //else alert("key code is "+ key); - - return true; - }, - - // safe for both text/html and application/xhtml+xml - create_element: function (name) { - if (this.xhtml && (typeof document.createElementNS != 'undefined')) - return document.createElementNS("http://www.w3.org/1999/xhtml", name) - - return document.createElement(name); - }, - - get_element_style: function (elem, IEStyleProp, CSSStyleProp) { - if (elem.currentStyle) - { - return elem.currentStyle[IEStyleProp]; - } - else if (window.getComputedStyle) - { - var compStyle = window.getComputedStyle(elem, ""); - return compStyle.getPropertyValue(CSSStyleProp); - } - return ""; - }, - - // the string str is a whitespace separated list of tokens - // test if str contains a particular token, e.g. "slide" - has_token: function (str, token) { - if (str) - { - // define pattern as regular expression - var pattern = /\w+/g; - - // check for matches - // place result in array - var result = str.match(pattern); - - // now check if desired token is present - for (var i = 0; i < result.length; i++) - { - if (result[i] == token) - return true; - } - } - - return false; - }, - - get_class_list: function (element) { - if (typeof element.className != 'undefined') - return element.className; - - return element.getAttribute("class"); - }, - - has_class: function (element, name) { - if (element.nodeType != 1) - return false; - - var regexp = new RegExp("(^| )" + name + "\W*"); - - if (typeof element.className != 'undefined') - return regexp.test(element.className); - - return regexp.test(element.getAttribute("class")); - }, - - remove_class: function (element, name) { - var regexp = new RegExp("(^| )" + name + "\W*"); - var clsval = ""; - - if (typeof element.className != 'undefined') - { - clsval = element.className; - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.className = clsval; - } - } - else - { - clsval = element.getAttribute("class"); - - if (clsval) - { - clsval = clsval.replace(regexp, ""); - element.setAttribute("class", clsval); - } - } - }, - - add_class: function (element, name) { - if (!this.has_class(element, name)) - { - if (typeof element.className != 'undefined') - element.className += " " + name; - else - { - var clsval = element.getAttribute("class"); - clsval = clsval ? clsval + " " + name : name; - element.setAttribute("class", clsval); - } - } - }, - - // HTML elements that can be used with class="incremental" - // note that you can also put the class on containers like - // up, ol, dl, and div to make their contents appear - // incrementally. Upper case is used since this is what - // browsers report for HTML node names (text/html). - incremental_elements: null, - okay_for_incremental: function (name) { - if (!this.incremental_elements) - { - var inclist = new Array(); - inclist["p"] = true; - inclist["pre"] = true; - inclist["li"] = true; - inclist["blockquote"] = true; - inclist["dt"] = true; - inclist["dd"] = true; - inclist["h2"] = true; - inclist["h3"] = true; - inclist["h4"] = true; - inclist["h5"] = true; - inclist["h6"] = true; - inclist["span"] = true; - inclist["address"] = true; - inclist["table"] = true; - inclist["tr"] = true; - inclist["th"] = true; - inclist["td"] = true; - inclist["img"] = true; - inclist["object"] = true; - this.incremental_elements = inclist; - } - return this.incremental_elements[name.toLowerCase()]; - }, - - next_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.next_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) // ELEMENT - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - previous_incremental_item: function (node) { - var br = this.is_xhtml ? "br" : "BR"; - var slide = w3c_slidy.slides[w3c_slidy.slide_number]; - - for (;;) - { - node = w3c_slidy.previous_node(slide, node); - - if (node == null || node.parentNode == null) - break; - - if (node.nodeType == 1) - { - if (node.nodeName == br) - continue; - - if (w3c_slidy.has_class(node, "incremental") - && w3c_slidy.okay_for_incremental(node.nodeName)) - return node; - - if (w3c_slidy.has_class(node.parentNode, "incremental") - && !w3c_slidy.has_class(node, "non-incremental")) - return node; - } - } - - return node; - }, - - // set visibility for all elements on current slide with - // a parent element with attribute class="incremental" - set_visibility_all_incremental: function (value) { - var node = this.next_incremental_item(null); - - if (value == "hidden") - { - while (node) - { - w3c_slidy.add_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - else // value == "visible" - { - while (node) - { - w3c_slidy.remove_class(node, "invisible"); - node = w3c_slidy.next_incremental_item(node); - } - } - }, - - // reveal the next hidden item on the slide - // node is null or the node that was last revealed - reveal_next_item: function (node) { - node = w3c_slidy.next_incremental_item(node); - - if (node && node.nodeType == 1) // an element - w3c_slidy.remove_class(node, "invisible"); - - return node; - }, - - // exact inverse of revealNextItem(node) - hide_previous_item: function (node) { - if (node && node.nodeType == 1) // an element - w3c_slidy.add_class(node, "invisible"); - - return this.previous_incremental_item(node); - }, - - // left to right traversal of root's content - next_node: function (root, node) { - if (node == null) - return root.firstChild; - - if (node.firstChild) - return node.firstChild; - - if (node.nextSibling) - return node.nextSibling; - - for (;;) - { - node = node.parentNode; - - if (!node || node == root) - break; - - if (node && node.nextSibling) - return node.nextSibling; - } - - return null; - }, - - // right to left traversal of root's content - previous_node: function (root, node) { - if (node == null) - { - node = root.lastChild; - - if (node) - { - while (node.lastChild) - node = node.lastChild; - } - - return node; - } - - if (node.previousSibling) - { - node = node.previousSibling; - - while (node.lastChild) - node = node.lastChild; - - return node; - } - - if (node.parentNode != root) - return node.parentNode; - - return null; - }, - - previous_sibling_element: function (el) { - el = el.previousSibling; - - while (el && el.nodeType != 1) - el = el.previousSibling; - - return el; - }, - - next_sibling_element: function (el) { - el = el.nextSibling; - - while (el && el.nodeType != 1) - el = el.nextSibling; - - return el; - }, - - first_child_element: function (el) { - var node; - - for (node = el.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1) - break; - } - - return node; - }, - - first_tag: function (element, tag) { - var node; - - if (!this.is_xhtml) - tag = tag.toUpperCase(); - - for (node = element.firstChild; node; node = node.nextSibling) - { - if (node.nodeType == 1 && node.nodeName == tag) - break; - } - - return node; - }, - - hide_selection: function () { - if (window.getSelection) // Firefox, Chromium, Safari, Opera - { - var selection = window.getSelection(); - - if (selection.rangeCount > 0) - { - var range = selection.getRangeAt(0); - range.collapse (false); - } - } - else // Internet Explorer - { - var textRange = document.selection.createRange (); - textRange.collapse (false); - } - }, - - get_selected_text: function () { - try - { - if (window.getSelection) - return window.getSelection().toString(); - - if (document.getSelection) - return document.getSelection().toString(); - - if (document.selection) - return document.selection.createRange().text; - } - catch (e) - { - } - - return ""; - }, - - // make note of length of selected text - // as this evaluates to zero in click event - mouse_button_up: function (e) { - w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length; - }, - - // right mouse button click is reserved for context menus - // it is more reliable to detect rightclick than leftclick - mouse_button_click: function (e) { - var rightclick = false; - var leftclick = false; - var middleclick = false; - var target; - - if (!e) - var e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - // work around Safari bug - if (target.nodeType == 3) - target = target.parentNode; - - if (e.which) // all browsers except IE - { - leftclick = (e.which == 1); - middleclick = (e.which == 2); - rightclick = (e.which == 3); - } - else if (e.button) - { - // Konqueror gives 1 for left, 4 for middle - // IE6 gives 0 for left and not 1 as I expected - - if (e.button == 4) - middleclick = true; - - // all browsers agree on 2 for right button - rightclick = (e.button == 2); - } - else - leftclick = true; - - if (w3c_slidy.selected_text_len > 0) - { - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - // dismiss table of contents - w3c_slidy.hide_table_of_contents(false); - - // check if target is something that probably want's clicks - // e.g. a, embed, object, input, textarea, select, option - var tag = target.nodeName.toLowerCase(); - - if (w3c_slidy.mouse_click_enabled && leftclick && - !w3c_slidy.special_element(target) && - !target.onclick) - { - w3c_slidy.next_slide(true); - w3c_slidy.stop_propagation(e); - e.cancel = true; - e.returnValue = false; - return false; - } - - return true; - }, - - special_element: function (e) { - var tag = e.nodeName.toLowerCase(); - - return e.onkeydown || - e.onclick || - tag == "a" || - tag == "embed" || - tag == "object" || - tag == "video" || - tag == "audio" || - tag == "input" || - tag == "textarea" || - tag == "select" || - tag == "option"; - }, - - slidy_chrome: function (el) { - while (el) - { - if (el == w3c_slidy.toc || - el == w3c_slidy.toolbar || - w3c_slidy.has_class(el, "outline")) - return true; - - el = el.parentNode; - } - - return false; - }, - - get_key: function (e) - { - var key; - - // kludge around NS/IE differences - if (typeof window.event != "undefined") - key = window.event.keyCode; - else if (e.which) - key = e.which; - - return key; - }, - - get_target: function (e) { - var target; - - if (!e) - e = window.event; - - if (e.target) - target = e.target; - else if (e.srcElement) - target = e.srcElement; - - if (target.nodeType != 1) - target = target.parentNode; - - return target; - }, - - // does display property provide correct defaults? - is_block: function (elem) { - var tag = elem.nodeName.toLowerCase(); - - return tag == "ol" || tag == "ul" || tag == "p" || - tag == "li" || tag == "table" || tag == "pre" || - tag == "h1" || tag == "h2" || tag == "h3" || - tag == "h4" || tag == "h5" || tag == "h6" || - tag == "blockquote" || tag == "address"; - }, - - add_listener: function (element, event, handler) { - if (window.addEventListener) - element.addEventListener(event, handler, false); - else - element.attachEvent("on"+event, handler); - }, - - // used to prevent event propagation from field controls - stop_propagation: function (event) { - event = event ? event : window.event; - event.cancelBubble = true; // for IE - - if (event.stopPropagation) - event.stopPropagation(); - - return true; - }, - - cancel: function (event) { - if (event) - { - event.cancel = true; - event.returnValue = false; - - if (event.preventDefault) - event.preventDefault(); - } - - w3c_slidy.key_wanted = false; - return false; - }, - -// for each language define an associative array -// and also the help text which is longer - - strings_es: { - "slide":"pág.", - "help?":"Ayuda", - "contents?":"Índice", - "table of contents":"tabla de contenidos", - "Table of Contents":"Tabla de Contenidos", - "restart presentation":"Reiniciar presentación", - "restart?":"Inicio" - }, - help_es: - "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " + - "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.", - - strings_ca: { - "slide":"pàg..", - "help?":"Ajuda", - "contents?":"Índex", - "table of contents":"taula de continguts", - "Table of Contents":"Taula de Continguts", - "restart presentation":"Reiniciar presentació", - "restart?":"Inici" - }, - help_ca: - "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " + - "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.", - - strings_cs: { - "slide":"snímek", - "help?":"nápověda", - "contents?":"obsah", - "table of contents":"obsah prezentace", - "Table of Contents":"Obsah prezentace", - "restart presentation":"znovu spustit prezentaci", - "restart?":"restart" - }, - help_cs: - "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " + - "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " + - "dá zvětšit a zmenšit pomocí kláves B a S.", - - strings_nl: { - "slide":"pagina", - "help?":"Help?", - "contents?":"Inhoud?", - "table of contents":"inhoudsopgave", - "Table of Contents":"Inhoudsopgave", - "restart presentation":"herstart presentatie", - "restart?":"Herstart?" - }, - help_nl: - "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " + - "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.", - - strings_de: { - "slide":"Seite", - "help?":"Hilfe", - "contents?":"Übersicht", - "table of contents":"Inhaltsverzeichnis", - "Table of Contents":"Inhaltsverzeichnis", - "restart presentation":"Präsentation neu starten", - "restart?":"Neustart" - }, - help_de: - "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " + - "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.", - - strings_pl: { - "slide":"slajd", - "help?":"pomoc?", - "contents?":"spis treści?", - "table of contents":"spis treści", - "Table of Contents":"Spis Treści", - "restart presentation":"Restartuj prezentację", - "restart?":"restart?" - }, - help_pl: - "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" + - "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.", - - strings_fr: { - "slide":"page", - "help?":"Aide", - "contents?":"Index", - "table of contents":"table des matières", - "Table of Contents":"Table des matières", - "restart presentation":"Recommencer l'exposé", - "restart?":"Début" - }, - help_fr: - "Naviguez avec la souris, la barre d'espace, les flèches " + - "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " + - "les touches S et B pour modifier la taille de la police.", - - strings_hu: { - "slide":"oldal", - "help?":"segítség", - "contents?":"tartalom", - "table of contents":"tartalomjegyzék", - "Table of Contents":"Tartalomjegyzék", - "restart presentation":"bemutató újraindítása", - "restart?":"újraindítás" - }, - help_hu: - "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " + - "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " + - "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " + - "a szöveg méretét.", - - strings_it: { - "slide":"pag.", - "help?":"Aiuto", - "contents?":"Indice", - "table of contents":"indice", - "Table of Contents":"Indice", - "restart presentation":"Ricominciare la presentazione", - "restart?":"Inizio" - }, - help_it: - "Navigare con mouse, barra spazio, frecce sinistra/destra o " + - "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.", - - strings_el: { - "slide":"σελίδα", - "help?":"βοήθεια;", - "contents?":"περιεχόμενα;", - "table of contents":"πίνακας περιεχομένων", - "Table of Contents":"Πίνακας Περιεχομένων", - "restart presentation":"επανεκκίνηση παρουσίασης", - "restart?":"επανεκκίνηση;" - }, - help_el: - "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " + - "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " + - "το μέγεθος της γραμματοσειράς.", - - strings_ja: { - "slide":"スライド", - "help?":"ヘルプ", - "contents?":"目次", - "table of contents":"目次を表示", - "Table of Contents":"目次", - "restart presentation":"最初から再生", - "restart?":"最初から" - }, - help_ja: - "マウス左クリック ・ スペース ・ 左右キー " + - "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更", - - strings_zh: { - "slide":"幻灯片", - "help?":"帮助?", - "contents?":"内容?", - "table of contents":"目录", - "Table of Contents":"目录", - "restart presentation":"重新启动展示", - "restart?":"重新启动?" - }, - help_zh: - "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " + - "用 S, B 改变字体大小.", - - strings_ru: { - "slide":"слайд", - "help?":"помощь?", - "contents?":"содержание?", - "table of contents":"оглавление", - "Table of Contents":"Оглавление", - "restart presentation":"перезапустить презентацию", - "restart?":"перезапуск?" - }, - help_ru: - "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" + - "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.", - - strings_sv: { - "slide":"sida", - "help?":"hjälp", - "contents?":"innehåll", - "table of contents":"innehållsförteckning", - "Table of Contents":"Innehållsförteckning", - "restart presentation":"visa presentationen från början", - "restart?":"börja om" - }, - help_sv: - "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " + - "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " + - "Använd tangenterna S och B för att ändra textens storlek.", - - strings: { }, - - localize: function (src) { - if (src == "") - return src; - - // try full language code, e.g. en-US - var s, lookup = w3c_slidy.strings[w3c_slidy.lang]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - - // strip country code suffix, e.g. - // try en if undefined for en-US - var lg = w3c_slidy.lang.split("-"); - - if (lg.length > 1) - { - lookup = w3c_slidy.strings[lg[0]]; - - if (lookup) - { - s = lookup[src]; - - if (s) - return s; - } - } - - // otherwise string as is - return src; - }, - - init_localization: function () { - var i18n = w3c_slidy; - var help_text = w3c_slidy.help_text; - - // each such language array is declared in the localize array - // this is used as in w3c_slidy.localize("foo"); - this.strings = { - "es":this.strings_es, - "ca":this.strings_ca, - "cs":this.strings_cs, - "nl":this.strings_nl, - "de":this.strings_de, - "pl":this.strings_pl, - "fr":this.strings_fr, - "hu":this.strings_hu, - "it":this.strings_it, - "el":this.strings_el, - "jp":this.strings_ja, - "zh":this.strings_zh, - "ru":this.strings_ru, - "sv":this.strings_sv - }, - - i18n.strings_es[help_text] = i18n.help_es; - i18n.strings_ca[help_text] = i18n.help_ca; - i18n.strings_cs[help_text] = i18n.help_cs; - i18n.strings_nl[help_text] = i18n.help_nl; - i18n.strings_de[help_text] = i18n.help_de; - i18n.strings_pl[help_text] = i18n.help_pl; - i18n.strings_fr[help_text] = i18n.help_fr; - i18n.strings_hu[help_text] = i18n.help_hu; - i18n.strings_it[help_text] = i18n.help_it; - i18n.strings_el[help_text] = i18n.help_el; - i18n.strings_ja[help_text] = i18n.help_ja; - i18n.strings_zh[help_text] = i18n.help_zh; - i18n.strings_ru[help_text] = i18n.help_ru; - i18n.strings_sv[help_text] = i18n.help_sv; - - w3c_slidy.lang = document.body.parentNode.getAttribute("lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang"); - - if (!w3c_slidy.lang) - w3c_slidy.lang = "en"; - } -}; - -// hack for back button behavior -if (w3c_slidy.ie6 || w3c_slidy.ie7) -{ - document.write(""); -} - -// attach event listeners for initialization -w3c_slidy.set_up(); - -// hide the slides as soon as body element is available -// to reduce annoying screen mess before the onload event -setTimeout(w3c_slidy.hide_slides, 50); - diff --git a/zuul/scripts/slidy.js.gz b/zuul/scripts/slidy.js.gz deleted file mode 100644 index 35746cb..0000000 Binary files a/zuul/scripts/slidy.js.gz and /dev/null differ diff --git a/zuul/styles/.htaccess b/zuul/styles/.htaccess deleted file mode 100644 index d395348..0000000 --- a/zuul/styles/.htaccess +++ /dev/null @@ -1,28 +0,0 @@ -Options +MultiViews -LanguagePriority en -AddLanguage pt-br .pt-br - - - -ForceType 'text/html; charset=utf-8' - - - - - -ForceType 'application/xhtml+xml; charset=utf-8' - - - - - -ForceType 'text/css; charset=utf-8' - - - - - -ForceType 'text/javascript; charset=utf-8' - - -mkdir diff --git a/zuul/styles/openstack.css b/zuul/styles/openstack.css deleted file mode 100644 index add7cd0..0000000 --- a/zuul/styles/openstack.css +++ /dev/null @@ -1,441 +0,0 @@ -/* openstack.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -/* Based on w3c-blue.css */ - -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 8em; - padding-top: 1em; - margin-bottom: 0; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - height: 1.6em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - border-width: 0; - z-index: 2; - float: left; -} - -/* the next two classes support vertical and horizontal centering */ - -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - background-color: white; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - height: auto; -} - -div.slide.cover img.cover { - margin: 1em 0 0 0; - float: right; - padding-bottom: 3em; - width: 50%; - overflow: hidden; -} -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -} diff --git a/zuul/styles/slidy.css b/zuul/styles/slidy.css deleted file mode 100644 index 96e3da7..0000000 --- a/zuul/styles/slidy.css +++ /dev/null @@ -1,401 +0,0 @@ -/* slidy.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.toolbar { - position: fixed; z-index: 200; - top: auto; bottom: 0; left: 0; right: 0; - height: 1.2em; text-align: right; - padding-left: 1em; - padding-right: 1em; - font-size: 60%; - color: red; - background-color: rgb(240,240,240); - border-top: solid 1px rgb(180,180,180); -} - -div.toolbar span.copyright { - color: black; - margin-left: 0.5em; -} - -div.initial_prompt { - position: absolute; - z-index: 1000; - bottom: 1.2em; - width: 100%; - background-color: rgb(200,200,200); - opacity: 0.35; - background-color: rgb(200,200,200, 0.35); - cursor: pointer; -} - -div.initial_prompt p.help { - text-align: center; -} - -div.initial_prompt p.close { - text-align: right; - font-style: italic; -} - -div.slidy_toc { - position: absolute; - z-index: 300; - width: 60%; - max-width: 30em; - height: 30em; - overflow: auto; - top: auto; - right: auto; - left: 4em; - bottom: 4em; - padding: 1em; - background: rgb(240,240,240); - border-style: solid; - border-width: 2px; - font-size: 60%; -} - -div.slidy_toc .toc_heading { - text-align: center; - width: 100%; - margin: 0; - margin-bottom: 1em; - border-bottom-style: solid; - border-bottom-color: rgb(180,180,180); - border-bottom-width: 1px; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding-top: 0; - padding-bottom: 0; - padding-left: 20px; - padding-right: 20px; - border-width: 0; - clear: both; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - display: none; -} - -div.handout { - margin-left: 20px; - margin-right: 20px; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 10%; - margin-right: 0; -} - -div.slide h1 { - padding-left: 0; - padding-right: 20pt; - padding-top: 4pt; - padding-bottom: 4pt; - margin-top: 0; - margin-left: 0; - margin-right: 60pt; - margin-bottom: 0.5em; - display: block; - font-size: 160%; - line-height: 1.2em; - background: transparent; -} - -div.toc { - position: absolute; - top: auto; - bottom: 4em; - left: 4em; - right: auto; - width: 60%; - max-width: 30em; - height: 30em; - border: solid thin black; - padding: 1em; - background: rgb(240,240,240); - color: black; - z-index: 300; - overflow: auto; - display: block; - visibility: visible; -} - -div.toc-heading { - width: 100%; - border-bottom: solid 1px rgb(180,180,180); - margin-bottom: 1em; - text-align: center; -} - -pre { - font-size: 80%; - font-weight: bold; - line-height: 120%; - padding-top: 0.2em; - padding-bottom: 0.2em; - padding-left: 1em; - padding-right: 1em; - border-style: solid; - border-left-width: 1em; - border-top-width: thin; - border-right-width: thin; - border-bottom-width: thin; - border-color: #95ABD0; - color: #00428C; - background-color: #E4E5E7; -} - -li pre { margin-left: 0; } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -.smaller { font-size: smaller } -.bigger { font-size: 130% } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } - -ul li { - list-style: square; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 0; - line-height: 140%; -} - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; - list-style-type: decimal; -} - -li ul li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li ul li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li ul li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -li ol li { - list-style-type: decimal; -} - - -li li ol li { - list-style-type: decimal; -} - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -ul.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; -} -ul.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; -} - -/* for slides with class "title" in table of contents */ -a.titleslide { font-weight: bold; font-style: italic } - -/* - hide images for work around for save as bug - where browsers fail to save images used by CSS -*/ -img.hidden { display: none; visibility: hidden } -div.initial_prompt { display: none; visibility: hidden } - - div.slide { - visibility: visible; - position: inherit; - } - div.handout { - border-top-style: solid; - border-top-width: thin; - border-top-color: black; - } - -@media screen { - .hidden { display: none; visibility: visible } - - div.slide.hidden { display: block; visibility: visible } - div.handout.hidden { display: block; visibility: visible } - div.background { display: none; visibility: hidden } - body.single_slide div.initial_prompt { display: block; visibility: visible } - body.single_slide div.background { display: block; visibility: visible } - body.single_slide div.background.hidden { display: none; visibility: hidden } - body.single_slide .invisible { visibility: hidden } - body.single_slide .hidden { display: none; visibility: hidden } - body.single_slide div.slide { position: absolute } - body.single_slide div.handout { display: none; visibility: hidden } -} - -@media print { - .hidden { display: block; visibility: visible } - - div.slide pre { font-size: 60%; padding-left: 0.5em; } - div.toolbar { display: none; visibility: hidden; } - div.slidy_toc { display: none; visibility: hidden; } - div.background { display: none; visibility: hidden; } - div.slide { page-break-before: always } - /* :first-child isn't reliable for print media */ - div.slide.first-slide { page-break-before: avoid } -} - diff --git a/zuul/styles/w3c-blue.css b/zuul/styles/w3c-blue.css deleted file mode 100644 index 83bd238..0000000 --- a/zuul/styles/w3c-blue.css +++ /dev/null @@ -1,493 +0,0 @@ -/* w3c-blue.css - - Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. - W3C liability, trademark, document use and software licensing - rules apply, see: - - http://www.w3.org/Consortium/Legal/copyright-documents - http://www.w3.org/Consortium/Legal/copyright-software -*/ -body -{ - margin: 0 0 0 0; - padding: 0 0 0 0; - width: 100%; - height: 100%; - color: black; - background-color: white; - font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; - font-size: 14pt; -} - -div.slide.titlepage { - text-align: center; -} - -div.slide.titlepage h1 { - padding-top: 40%; -} - -div.slide { - z-index: 20; - margin: 0 0 0 0; - padding: 0; - border-width: 0; - top: 0; - bottom: 0; - left: 0; - right: 0; - line-height: 120%; - background-color: transparent; -} - -div.background { - z-index: 1; - position: absolute; - vertical-align: bottom; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 4.1em; - padding: 0 0 0 0.2em; - margin: 0 0 0 0; - border-width: 0; - background-color: #728ec2; -} - -div.background img { - height: 4em; -} - -/* this rule is hidden from IE which doesn't support + selector */ -div.slide + div[class].slide { page-break-before: always;} - -div.slide h1 { - padding-left: 3em; - padding-right: 3em; - padding-top: 0.1em; - margin-bottom: 0.8em; - margin-top: -0.05em; - margin-left: 0; - margin-right: 0; - min-height: 2.3em; - color: white; - height: 2.2em; - font-size: 160%; - line-height: 1.1em; -} - -div.slide h1 a { - color: white; - text-decoration: none; -} - -div.slide h1 a:link { - color: white; - text-decoration: none; -} - -div.slide h1 a:visited { - color: white; - text-decoration: none; -} - -div.slide h1 a:hover { - color: white; - text-decoration: underline; -} - -div.slide h1 a:active { - color: red; - text-decoration: underline; -} - -#head-icon { - margin-top: 0.5em; - margin-bottom: 0; - margin-left: 0; - margin-right: 1em; - background: #728ec2; - border-width: 0; - height: 3em; - max-width: 3em; - z-index: 2; - float: left; -} - -#head-logo { - margin: 0; - margin-top: 0.25em; - padding-top: 0.25em; - padding-bottom: 0.2em; - padding-left: 0; - padding-right: 0; - height: 3.2em; - width: 4.8em; - float: right; - z-index: 2; - background: #728ec2; -} - -#head-logo-fallback { - margin: 0; - padding: 0; - margin-top: -0.8em; - width: 4.8em; - float: right; - z-index: 2; -} - -/* the next two classes support vertical and horizontal centering */ -div.vbox { - float: left; - height: 40%; - width: 50%; - margin-top: -240px; -} -div.hbox { - width:60%; - margin-top: 0; - margin-left:auto; - margin-right:auto; - height: 60%; - border:1px solid silver; - background:#F0F0F0; - overflow:auto; - text-align:left; - clear:both; -} - -/* styling for named background */ -div.background.slanty { - z-index: 2; - bottom: 0; - height: 100%; - background: transparent; -} - -div.background.slanty img { margin-top: 4em; width: 100%; height: 80% } - -/* the following makes the pre background translucent */ -/* opacity is a CSS3 property but supported by Mozilla family */ -/* filter is an IE specific feature that also requires width */ -div.slide.slanty pre { - width: 93%; /* needed for IE filter to work */ - opacity: .8; - filter: alpha(opacity=80); -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -li pre { margin-left: 0; } - -@media print { pre { font-size: 60% } } - -blockquote { font-style: italic } - -img { background-color: transparent } - -p.copyright { font-size: smaller } - -.center { text-align: center } -.footnote { font-size: smaller; margin-left: 2em; } - -a img { border-width: 0; border-style: none } - -a:visited { color: navy } -a:link { color: navy } -a:hover { color: red; text-decoration: underline } -a:active { color: red; text-decoration: underline } - -a {text-decoration: none} -.navbar a:link {color: white} -.navbar a:visited {color: yellow} -.navbar a:active {color: red} -.navbar a:hover {color: red} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - -div dt -{ - margin-left: 0; - margin-top: 1em; - margin-bottom: 0.5em; - font-weight: bold; -} -div dd -{ - margin-left: 2em; - margin-bottom: 0.5em; -} - - -p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { - margin-left: 1em; - margin-right: 1em; -} - -p.subhead { font-weight: bold; margin-top: 2em; } - -div.cover p.explanation { - font-style: italic; - margin-top: 3em; -} - - -.smaller { font-size: smaller } - -td,th { padding: 0.2em } - -ul { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ol { - margin: 0.5em 1.5em 0.5em 1.5em; - padding: 0; -} - -ul { list-style-type: square; } -ul ul { list-style-type: disc; } -ul ul ul { list-style-type: circle; } -ul ul ul ul { list-style-type: disc; } -li { margin-left: 0.5em; margin-top: 0.5em; } -li li { font-size: 85%; font-style: italic } -li li li { font-size: 85%; font-style: normal } - - -ul li { - list-style: none; - margin: 0.1em 0em 0.6em 0; - padding: 0 0 0 40px; - background: transparent url(../graphics/bullet.png) no-repeat 5px 0.3em; - line-height: 140%; -} - -/* workaround IE's failure to support background on li for print media */ -@media print { ul li { list-style: disc; padding-left: 0; background: none; } } - -ol li { - margin: 0.1em 0em 0.6em 1.5em; - padding: 0 0 0 0px; - line-height: 140%; -} - -li li { - font-size: 85%; - font-style: italic; - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} -li li li { - font-size: 85%; - font-style: normal; - list-style-type: circle; - background: transparent; - padding: 0 0 0 0; -} -li li li li { - list-style-type: disc; - background: transparent; - padding: 0 0 0 0; -} - -/* rectangular blue bullet + unfold/nofold/fold widget */ - -/* - setting class="outline on ol or ul makes it behave as an - ouline list where blocklevel content in li elements is - hidden by default and can be expanded or collapsed with - mouse click. Set class="expand" on li to override default -*/ - -ol.outline li:hover { cursor: pointer } -ol.outline li.nofold:hover { cursor: default } - -ul.outline li:hover { cursor: pointer } -ul.outline li.nofold:hover { cursor: default } - -ol.outline { list-style:decimal; } -ol.outline ol { list-style-type:lower-alpha } - -ol.outline li.nofold { - padding: 0 0 0 20px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.3em; -} -ol.outline li.unfolded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/fold.gif) no-repeat 0px 0.3em; -} -ol.outline li.folded:hover { - padding: 0 0 0 20px; - background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.3em; -} - -ul.outline li.nofold { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-nofold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold-dim.gif) no-repeat 5px 0.3em; -} -ul.outline li.unfolded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-fold.gif) no-repeat 5px 0.3em; -} -ul.outline li.folded:hover { - padding: 0 0 0 52px; - background: transparent url(../graphics/bullet-unfold.gif) no-repeat 5px 0.3em; -} - -li ul.outline li.nofold { - padding: 0 0 0 21px; - background: transparent url(../graphics/nofold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold-dim.gif) no-repeat 5px 0.3em; -} -li ul.outline li.unfolded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/fold.gif) no-repeat 5px 0.3em; -} -li ul.outline li.folded:hover { - padding: 0 0 0 21px; - background: transparent url(../graphics/unfold.gif) no-repeat 5px 0.3em; -} - -img.withBorder { - border: 2px solid #c60; - padding: 4px; -} - -div.header { - position: absolute; - z-index: 2; - left: 0; - right: 0; - top: 0; - bottom: auto; - height: 2.95em; - width: 100%; - padding: 0 0 0 0; - margin: 0 0 0 0; - border-width: 0; - border-style: solid; - background-color: #005A9C; - border-bottom-width: thick; - border-bottom-color: #95ABD0; -} - -div.footer { - position: absolute; - z-index: 80; - left: 0; - right: 0; - top: auto; - bottom: 0; - height: 3.5em; - margin: 0; - font-size: 80%; - font-weight: bold; - padding-left: 1em; - padding-right: 0; - padding-top: 0.3em; - padding-bottom: 0; - color: #003366; - background-color: #95ABD0; -} - -/* this is a hack to hide property from IE6 and below */ -div[class="footer"] { - position: fixed; -} - -#hidden-bullet { - visibility: hidden; - display: none; -} - -div.slide.cover { - color: white; - background-color: #728ec2; - padding-top: 0; - padding-right: 0; - padding-left: 3em; - height: 100%; -} - -div.slide.cover h1 { - margin: 0; - padding: 0.5em; - color: white; - height: auto; -} - -div.slide.cover h2 { - color: white; -} - -div.slide.cover a { - color: white; -} - -div.slide.cover a:visited { color: white } -div.slide.cover a:link { color: white } -div.slide.cover a:hover { color: yellow; text-decoration: underline } -div.slide.cover a:active { color: yellow; text-decoration: underline } - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -div.slide.cover img.cover { - margin: 0 0 0 0; - float: right; - padding-bottom: 4em; - width: 50%; - overflow: hidden; -} - -div.slide.cover a:hover, div.slide.cover a:active { - color: yellow; text-decoration: underline; -} - -/* for Bert as an ardent user of the old W3C slidemaker tool */ - -div.comment { display: none; visibility: hidden } - -@media print { - div.slide h1 { background: transparent; color: black } - div.slide.cover { background: transparent; color: black } - div.slide.cover h1 { background: transparent; color: black } - div.comment { display: block; visibility: visible } -}