[Pharo-project] GSoC ideas, 5 days to go!

Nick Ager nick.ager at gmail.com
Wed Mar 7 08:32:55 EST 2012

Hi Janko,

Here you go: 'ePUB Output for Pier Books'


Name: ePUB Output for Pier Books
Level: Intermediate
Possible mentor: Nick Ager
Possible second mentor: Lukas Rengli

Pier [1,2] is an *extensible* object-oriented content management system that
includes a book authoring engine. The book authoring engine has been used
to document a number of Smalltalk based projects, most notable Seaside [3]
as well as Moose [4] and Pharo [5].

The goal of this project is add ePUB [6] as an output format to Pier
enabling existing and future Pier books and other Pier content to be output
in a format readable by popular eReaders.

[1] http://www.piercms.com/
[2] http://code.google.com/p/pier/
[3] http://book.seaside.st/
[4] http://www.themoosebook.org/
[5] http://book.pharo-project.org/
[6] http://en.wikipedia.org/wiki/EPUB

Technical Details

Content in Pier is parsed into a document tree that supports the visitor
pattern [7] for traversing the internal representation. Pier currently
supports a number of output formats such as HTML, plain text, RSS, wiki
text. These formats are generated by visitors. The existing visitors would
act as a template for creation of an ePUB visitor which would generate ePUB
compatible output.

[7] http://en.wikipedia.org/wiki/Visitor_pattern

Benefits to the Student
The project is well defined with a clear deliverable. The student will gain
an understanding of the internals of a powerful, well structured content
management system as well as the satisfaction of having a set of artefacts
in the format of the existing Pier book content translated into ePUB

Benefits to the Community
The Smalltalk community and others using the Pier book authoring engine
will gain ePUB as an output format. With an ebook output format authors
have a potential new revenue source, encouraging a virtuous cycle of
increasing documentation within and outside the community.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120307/9548acd4/attachment-0001.html>

More information about the Pharo-dev mailing list