webslide presentation compiler

usage - Navigating a WYDIWYS presentation

With Firefox under Linux, there are 5 buttons:


wireless presenter




Previous Slide



Next Slide



First Slide



End Slide


other control

Navigate to/from menu

The first slide of the presentation is aliased to 00000.html, aaaaa.html, index.html, and zzzzz.html .

WYDIWYS output presentations are intended for use with any browser with javascript capability. It has been verified working so far with:


Firefox 3.5

Firefox 2.9


Firefox 3.5




Firefox 3.5

Firefox 3




If it works with another browser, please add to the list above.

For most browsers, F11 toggles between regular and fullscreen display. In the menus, you can navigate to other menu items by clicking on them as hyperlinks.


http://www.server-sky.com/slides/wydiwys_demo/ is a short presentation (about wydiwys) made with wydiwys. tar file of demo presentation - the design directory contains the files needed to reconstruct wydiwys. tar file of original images (in "slides" directory), and the design and template pages.

http://www.server-sky.com/slides/stest1024/ wydiwys test images, sizes from 512x284 to 2048x1536 .

zip file ... source file


wydiwys FAQ - It doesn't work! How can I help? How do I ...?


wydiwys Perl code. For complete documentation of usage and design, do a "perldoc wydiwys"

template.html An html template file, calls jquery.js and wydiwys.js

style.css A style sheet to go with the template

design An example design file, piped as standard input into wydiwys

wydiwys.js Navigation functions and key interpretation, image sizing, preload. Called from the template.

You will also need jQuery placed in your image directory.

recent improvements

* wydiwys now does autoscaling of images to fit the browser window. Unless you need to scale it down (say, to make the APNG animations render quickly enough on old hardware) then the default template.html should work for most presentations. Be sure to set margins and padding to zero in the stylesheet or the template.

* wydiwys preloads images. It should change slides more quickly, especially from a remote server.

* both new features need more testing.


ADDED 2021: I must upgrade wydiwys to remove flash and use APNG animations instead.

description ... sorta

WYDIWYS ( What You Draw Is What You See) is a cheap hack for making image-based slide presentations that can be shown with any web browser on any platform. WYDIWYS does not create content, it just arranges a series of html slides, each with a pointer to a browser-compatible image, with navigation javascript to link them all in a hierarchical way. The images ( PNG and APNG preferred, but GIF, JPG, and any other format a browser can render is acceptable) can be made with any image composition process, including ad-hoc programs driving LibGD, GnuPlot, Mathematica, the Gimp, Photoshop, digital camera output, screenshots, and so forth. Powerpoint and OpenOffice Impress can output single slides as images; these can be used as source images, too, too. You can turn a series of PNG images into an APNG animation with apngasm.

WYDIWYS is written in Perl. It is uses an HTML template file, template.html, which may call a style sheet. There is more information about operation in the perlpod documentation inside WYDIWYS, which Linux users can see with "perldoc ./wydiwys".

The motivation for this is that all presentation programs suck, especially when they talk to each other. They are dependent on fonts, and what the presenter (and version) does with them. They use "slide sorters" for navigation, a metaphor made obsolete by hyperlinks. They present animation very badly. They scale badly to screen size. It is very difficult to evolve a presentation into multiple versions and maintain the versions as a group.

If slide images are rendered down to and stored as full-screen pixel-based images, they cannot be mis-rendered. Ditto for simple APNG movies. The same image can be used in multiple presentations, and with Linux hard links, updating an image will propagate to all the presentations.

This is not a real-time text rendering system like Eric Meyer's S5 or Eric Wilhelm's Text::Slidez, two great products of the Eric Conspiracy. Since many slide sets are all text, these tools and others like them can be great front-end composition tools. Some kind of macro or add-on for Firefox, to render a sequence of these slides to fixed names and locations, suitable for processing by WYDIWYS, would be nice.

Slides are connected by hyperlinks, not just simple forward and back. WYDIWYS adds a third control, "enter", which is used to navigate up and down through hierarchy. With a few clicks on a wireless presenter control, or with keyboard buttons or mouse, the user can quickly navigate to any part of a presentation.

WYDIWYS builds from a simple text design control file, described in the perlpod documentation. The design file can be built by other programs, though a text editor is good enough for composing most shows. Multiple design files can use the same slide images to build different presentations. Since the composition is controlled with text files, the construction and maintenance of presentations can be controlled with "make", integrated design environments, and revision control systems.

WYDIWYS presentations are started by browsing one of 00000.html, aaaaa.html, zzzz.html, or index.html .

WYDIWYS builds a subdirectory called "design" which contains a copy of the original design file ("design_original"), template file, and a copy of wydiwys itself. The directory also contains a design file called "design_proto". If WYDIWYS is run from the design directory, with "./wydiwys < design_proto", it will make a duplicate of the presentation underneath it. This is useful as a starting place for making a modified presentation. By changing INDIR and OUTDIR in design_proto, the duplicate can be built someplace else.

This is most definitely alpha code, and needs the attentions of competent programmers (incompetent programmers, please contribute to other projects!). But it works OK for me. It was developed for Linux, it should be easy to port to Mac, and if you run Windows, then I must inform you that God hates your operating system, because He did not give you hard links.

Note: renamed WYDIWYS from Makeshow

wydiwys (last edited 2021-06-08 17:28:02 by KeithLofstrom)