* pala.cgi:The Lecture Generator - It is common to use a computer tool (ex: PowerPoint [1]) in order to prepare a presentation. - The material generated by the tool is a sequence of slides where each slide consits of: -- one title -- many topics, organized in a hierachical way. - In this paper we present a "lecture generator" tool that transforms a single text into HTML pages (slides) to be used in a lecture. See [2] for testing. -- Our approach is simpler than "PowerPoint": --- The input text has a very simple notation that can be created in any text editor. --- The output,the HTML pages, are "lighter" (or small) documents that can be seen in any browser. -- The tool is avaiable to test in [2]. ** Input Text. - Each line of the input text basically corresponds to a title or a topic of some slide. It is given by the first character of the line. -- title: A line begginning with '*'. -- topic: A line begginning with '-'. -- Example: :pre * Title of Slide 1 - the first topic inside Slide 1 - the second topic inside Slide 1 * Title of Slide 2 - one - second topic. - the last topic. :/pre - Output HTML pages -- The input text generates two slides: --- Slide 1: The slide "Title of Slide 1". See figure 1 Figure 1: +img:ex1.jpg --- Slide 2: the slide "Title of Slide 2". -- The link to the former and next page is automatically generated at the head of the slide. ** The hierarchy: Topics in a slide - Each topic line can begin with one or more '-'s. The more '-'s, the lower it will be in the hierarchical structure. -- Example: :pre * Title of Slide 1 - 1. the first topic inside Slide 1 -- 1.1. the sub-topic of 1 --- 1.1.1 the first sub-sub-topic of 1 --- 1.1.2 the second sub-sub-topic of 1. * The second slide - some topics inside :/pre -- The first slide is seen in figure 2: Figure 2 +img:ex2.jpg ** The hierarchy: Slides in a Lecture - A lecture can correspond to a sequence of slides organized in a hierarchical way. - Each title line begins with one or more '*'s. The more '*'s, the lower the slide will be in the hierarchical structure of the lecture. -- Example: :pre * Title of Slide 1 - one topic ** Title of Slide 1.1 - another topic ** Title of Slide 1.2 - one topic more :/pre -- which three HTML pages. The first HTML page is in figure 3: Figure 3 +img:ex3.jpg *** Links to the "sons" - The tool creates links to the slides at the immediatally lower level (sons in the tree structure) at the bottom of the page. This is done to enhace the navigation during presentation. - Example: -- The Slide 1 has two "sons" . The two links for each son (bottom of figure 3) is autommatically generated by the "Lecture Generator" tool. *** The table of contents - The tool automatically creates an HTML page that displays the table of contents as pa0.html. The figure 4 shows the table of contents of the example 3: Figure 4 +img:ex4.jpg *** Commands to the lecture generator - We created a special notation in the input text (commands) that enables figure insertion, comment insertion, etc. -- mark a portion of input text as comment --- syntax :pre :rem some comments :/rem :/pre --- The lines between :rem and :/rem does not appear in the output. -- keep the text as it is (ex: example of code) --- syntax :pre :pre some text that must appear as it is at the output :/pre :/pre --- The lines between :pre and :/pre must appear as a text at the output HTML pages. It is useful to show programming code. -- insertion of figure --- syntax :pre +img:file Example: figure 3: +img:florida/ex3.jpg :/pre --- The HTML tag 'img' are created from this notation. -- insertion of an HTML link. --- syntax :pre +http:anURL :/pre --- If the user adds the character '+' before an URL (in this context, a sub-string that begins with "http:") then the HTML tags a and /a are automatically generated. -- insertion of a sub-window. It is possible to show some text during the presentation of a particular topic. --- syntax :pre +[some text] Example: +[this is an example of a sub-window] :/pre --- When the subwindow is declared then a HTML link to a window cotaining "some text" is generated in the slide. This is done by a javascript funtion. Example: +[this is an example of a sub-window]. See figure 5. Figure 5 +img:exsubwin.jpg -- insertion of any HTML tag Any HTML tag can be inserted, using the normal HTML tag notation. :pre this is a text in bold :/pre ** The development of the tool - The tool was created in Perl in a Linux machine. - The tool in http:// uses two Perl-scripts -- the script palestreia.pl that takes the text and converts into HTML pages. -- a CGI script that deals with the user-interface. Basically it: --- receives the text and email from a form, --- applies palestreia.pl, compacts it and, --- sends the compacted lecture to the user. ** Examples - This lecture is in: +http://www.pcs.usp.br/~jkinoshi/lecture/pa0.html - and the input text is in: +http://www.pcs.usp.br/~jkinoshi/lecture/lg.txt ** Conclusion - The Lecture Generator Tool creates slides as HTML pages from a very simple input text. - I have used it in many presentations. - It is avaible to public usage through a CGI-script. - It has some advantages and disadvantages over powerpoint. *** Advantages over PowerPoint - use free of charge by +http://www.pcs.usp.br/cgi-bin/jkinoshi/pala.cgi - the input text can be generated in any text editor. -- I recommend emacs [3] in outline-mode. --- In fact, emacs outline-mode inspired me to construct the lecture generator tool. A description extracted from the help of emacs is given bellow:
editing outlines with selective display. Headings are lines which start with asterisks: one for major headings, two for subheadings, etc. Lines not starting with asterisks are body lines. Body text or subheadings under a heading can be made temporarily invisible, or visible again. Invisible lines are attached to the end of the heading, so they move with it, if the line is killed and yanked back. A heading with text hidden under it is marked with an ellipsis (...).
- PowerPointer can display presentations in the web, but it becomes photos that are heavy to send. pala.cgi generates presentations in HTML format. - The HTML tags are very powerfull and can be used to enhace a presentation. *** Disadvantages over PowerPoint - Powerpoint has many facilities that are not yet supported by the Lecture Generator Tool; for instance, powerpoint enables to create some special "effects" during the transition from one slide to another. *** Future - I hope to enhace this tool and licence it under GPL [4]. ** References [1] PowerPoint: http://www.microsoft.com [2] Tool demonstration: http://www.pcs.usp.br/~jkinoshi/lecture/ [3] emacs: http://www.gnu.org [4] GPL: http://www.gnu.org