E-Book Generator

Summary

Mentor(s): Dr. Mike Murphy
Project Type: Software development
Technologies: Python, HTML, XML, EPUB, Git
Undergraduate Credit: CSCI 399, CSCI 490
Graduate Credit: IST 659
Locality: Main campus and/or remote

Purpose

A major feature of the TealSite static site generator is that it produces portable sites by default. These portable sites use relative links internally, so they are easily moved between servers. Moreover, content authors can create fully local mini-sites that can exist on one or more computers instead of being hosted on the Internet.

Since generated sites are already portable, it shouldn't take too much effort to turn them into electronic books (e-books). Several possible formats are available, but EPUB is both popular and widely supported for packing HTML, CSS, and SVG files into a single container. The resulting container can then be viewed using various applications on computers, phones, tables, and dedicated electronic reader devices. One catch of EPUB format is that it uses XHTML instead of standard HTML 5. However, HTML 5 defines an optional XML syntax that the latest EPUB standard supports.

Scope of Work

Add EPUB support to TealSite, which requires accomplishing two main tasks. First, an additional writer component must be developed for TealSite to produce XML-syntax documents instead of regular HTML. Once the XML output is available, the second part of the project requires packing the generated site into the EPUB file. Close attention to the EPUB specification will be required in order to ensure that the resulting e-books work on existing e-reader devices/applications.