Opera Show Documentation: Opera Show Format 1.0

Opera Show Format 1.0

Opera Show's underlying document format is normal HTML/XHTML combined with CSS2.1. In order to import and export files in Opera Show editors, a set of conventions has been established. This document describes these conventions.

The standardized Opera Show Format will henceforth be referred to as OSF and this document describes OSF 1.0

Doctype & Content-Type

Opera Show Format is written in XHTML 1.0 Strict, must have that doctype and must validate as such in the W3C Validator.

<!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">

It is suggested the document is served with content-type application/xhtml+xml and with default encoding UTF-8. Serving the document as text/html should also be possible without problems.

Meta data

The Opera Show Generator stores information about the presentation in the <meta> elements, which are placed in the <head> element. An editor may add as much meta-information as desired and below are some examples.

<title>Opera Show Demo Presentation File</title>
<meta name="generator" content="Opera Show Generator 1.0" />
<meta name="version" content="OSF 1.0" />
<meta name="presdate" content="28-07-2004" />
<meta name="author" content="Mark Schenk" />
<meta name="company" content="Opera Software" />
<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=utf-8" />

Additional comments

version
To comply with OSF 1.0, the following <meta> element must be present in the document. This metatag specifies the version of the standardized Opera Show Format being used. This is imperative for editors when importing, because they can adjust their parser for the strict format. Also, the JavaScript addons check for this metatag, to determine if the script can be applied or not.
generator
This specifies which program made the presentation and it is required when the presentation is created by a special program. When it is hand-edited it can be omitted. Example applications are Opera Show Generator 1.0 and QuickShow 2.0.
author
Currently it is not possible to have multiple authors on a document. This will be rectified in a future version of OSF.
presdate
This is the date on which the presentation is given. There is currently no guideline for the format.

Style & Script

OSF 1.0 is a completely self-contained format and all styles and scripts are placed inside the document, preferably in the <head> element. The author is suggested to start with the <style> element, followed by optional <script>. An arbitrary number of <style> and <script> elements may be used.

Script

To provide compatibility with both text/html and application/xhtml+xml scripts should be surrounded by the following comments.

<script type="text/JavaScript">
//<![CDATA[

//]]>
</script>

This ensures that both HTML and XML parsers treat it as script.

Style

If an author wishes to link to an external stylesheet, he is encouraged to use the @import method, rather than using the <link> element. A stylesheet should provide some information, as described in the stylesheet documentation.

Image format

Images are also stored in the file itself (both in the XHTML and CSS) by using data:urls in which the images are base64 encoded. A good utitility to create data:urls can be found on Ian Hickson's site.

Example url and image:

data:image/png;base64,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

Which becomes: Opera Logo

Code comments

The files produced by the Opera Show Generator contain a lot of code comments. These are aimed at making the code more readable and are not required for the OSF 1.0 format.

<!-- start presentation -->

Layout elements

Any elements specifically intended for layout, for instance for positioning in the top left corner of the screen, must be contained inside <div class="layout"> and this element should be placed directly after the <body> tag. This is element is not required if and only if there are no layout elements.

The elements inside <div class="layout"> should contain a class attribute indicating their layout position, e.g. <div class="topleft"> and optionally an id attribute which refers to the relevant meta element, so editors can determine what information was positioned and use this to their advantage in the editing UI.

<!-- start layout section -->
<div class="layout">
  <div class="topleft" id="slogan">
    Best internet experience on any device!
  </div>
  <div class="topright" id="logo">
    <img src="" alt="[Opera Show Image]" />
  </div>
  <div class="bottomleft" id="company">
    <a href="http://www.opera.com">Opera Software</a>
  </div>
  <div class="bottomright" id="author">
    <a href="mailto:">Mark Schenk</a>
  </div>
</div>
<!-- end layout section -->

When there is a layout tag present, but contains no specific information, the tags should include an &nbsp; entity.

Presentation and slides

Presentation

The actual presentation section is started as follows, in which the comment is optional.

<!-- start presentation -->
<div class="presentation">

The <div class="presentation"> may only contain child elements of type <div class="slide">.

Slides

The content of a slide must be enclosed by a div with a class="slide" attribute and a unique id="slide[counter]" where the [counter] is replaced by the slide number. The id is required to be able to link to specific slides in a presentation.

<!-- start slide -->
<div class="slide" id="slide[counter]">

</div>
<!-- end slide -->

The author is strongly encouraged to number the slides consecutively; in other words, there are no jumps in slidecounting.

Slidecontent

Authors are strongly encouraged to use <h1> as the first-child of the slide, or another header, as this is good practice. It also allows you to make a quick table of content of your presentation which can be used for navigation menus.

For the rest, any valid XHTML is allowed within the <div class="slide">. The Opera Show Generator uses the class="slidecontent" to enclose HTML input by the user; this is optional.

<!-- start slide -->
<div class="slide" id="slide[counter]">
<h1>suggested H1</h1>
	<div class="slidecontent">
	<p>Any HTML input is allowed here, like a paragraph. The containing
	div.slidecontent is not necessary, but suggested.</p>
	</div>
</div>
<!-- end slide -->

Handouts

Handout notes are intended to contain additional information about the slide, which is printed on handouts. They are not required in OSF 1.0, but when used they should obey the following rules: handout notes are contained by a div element with a class="handout" attributes, there may only be one such element per slide and it must be the last-child of the <div class="slide">

<!-- start slide -->
<div class="slide" id="slide[counter]">

<!-- start handout -->
<div class="handout">
<p>Any text or HTML may be placed here</p>
</div>
</div>
<!-- end slide -->

Closing off

Finally all tags should be closed at the bottom of the document.

</div>
<!-- end presentation -->

</body>
</html>