Exporting Squeak Presentations to HTML+PNG

(This page is a mirrored copy of an article originally posted on the LShift blog; see the archive index here.)

I’ve been using Squeak’s BookMorph to assemble presentation materials recently, but there’s been no way to export the presentation for the benefit of those without a Smalltalk image - until now. I just implemented a trivial little method on BookMorph that exports all its pages to PNG files, and writes a small HTML index file.

Here’s one I prepared earlier:

http://www.lshift.net/~tonyg/cake-presentation/PresentationBook.html

(the presentation itself isn’t done, and won’t mean much outside LShift at the moment, but it’s enough to demo the idea.)

Here’s the method I wrote:

exportPagesAsPng
  | fileName indexPageStream |
  'Exporting ', pages size printString, ' pages to PNG'
    displayProgressAt: Sensor cursorPoint
    from: 1 to: pages size
    during: [:progressSetter |
      pages doWithIndex: [:page :i |
        progressSetter value: i.
        fileName := self externalName, '_',
                      (i printStringLength: 3 padded: true), '.png'.
        PNGReadWriter putForm: page imageForm onFileNamed: fileName.]].

  indexPageStream _ FileStream newFileNamed: self externalName, ‘.html’.
  indexPageStream nextPutAll: ‘<html>…</html>’.
    “html and javascript elided - have a look at the example.”
  indexPageStream close.

Comments

On 10 May, 2006 at 8:02 pm, matthew wrote:

What’s wrong with LaTeX and Beamer then? ;-)