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:
(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:
| 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: ‘…‘.