An interactive photocentric storybook.
Note: this project was created as a gift. It was developed to be consumed as a a self-published Firefox desktop packaged app. My personal storybook turned out to be a single-page 111MB with very little performance optimizations.
A demo package to install is hosted at adelheid.ngokevin.com.
The book consists of chapters. A chapter contains:
- title + text
- key image
- background image
- audio
- moments
- images
Adelheid is generated by wok, a static site generator.
pip install wok
wok --server --port 12345
This will generate a site at output
and host it on a toy server. Using
a reverse proxy is recommended as this app is too media-heavy for the toy
server.
Chapters are defined in content/chapter/
as Markdown files where the
title, text, and key image is specified. We also define a slug, or codename,
for the chapter so we can connect it with moments and images. Chapter audio
is set via the song
YAML attribute pointing to the path of the audio
file.
Moments for a chapter are defined in
content/chapter/moments/CHAPTER_SLUG/
as Markdown files where the
tag
attribute in the YAML header is set to the slug of the chapter it
will be connected to. Moments also contain a title, text, and key image.
Images for a chapter are placed in media/img/chapters/CHAPTER_SLUG/
. They
will automatically be detected in placed in the chapter's image reel.
Configure the manifests and index.html to point to your domain. Assume we call
the packaged app app.zip
.
wok
cd output
cp ../packaged.manifest.webapp .
zip -r ../app.zip *
Then serve index.html through a web server. You can then go to the page, install the app with Firefox, and have it run like a desktop app. Note for OSX, user will have to enable third-party applications in Security & Privacy settings to be able to launch the application. Other OSes may require similar actions.