The future of digital books is beautiful, but it’s going to require some work, so I built something to help.
Built on top of the code I used for The Expedition of Humphry Clinker, Project Platen is not meant to be the solution for every digital book project. Each book is different and not every book can afford to be freely available. This particular project was meant for open-access academic publishing in particular, but it is not necessarily the best for all academic books or papers either. But it can be a fast and powerful option.
If you are not familiar with Symphony CMS (which is not to be confused with Symfony), it is an open-source content management system that uses XSLT, which means that you don’t need to know any programing languages to get started (yeah!). Just follow the install instructions in the readme to install.
By default, it gives readers a simple and clean reading experience with
Quiet mode, search using Elasticsearch and Day/Night colors schemes.
The default mode does not provide any default features for
Explore mode, that is because every book is different, so the useful metadata and ways to explore will be different for each book. You can make style changes for
Explore mode at line
The API will work with the chapters as they are currently set up, but you will need to add more API pages for any additional content types.
Building for flexible datasets
Symphony CMS’s flexible content structure lets you create content types to fit the structure of your data. While it will not be nearly as efficient as building a custom database, it should be quite usable for small and medium-sized datasets (perhaps up to about 100,000 entries, I have yet to use it for datasets larger than 30,000 entries). (I suggest also offering static file downloads of large datasets, so people do not have to crawl your API to access all your data.) By default, the API outputs XML, but users can also request JSON(P).
Enabling Cross-Origin Resource Sharing
Using your API in your book
Explore mode table of contents visualization in Humphry Clinker uses the book’s API).
The first version of Project Platen is still in beta, while it is mostly functional, there are a few more features I would like to include before a full release:
- Documentation for importing texts.
- Default styles for asides.
- Default table of contents within chapter pages
- Better default API documentation.
- Better documentation in page and stylesheet templates for
- More documentation for custom content types.
- OpenDyslexia font option to help readers with dyslexia.
I am looking for academics who wish to self-publish their research, dissertation, book, or even small side project. I will help set up the server, digitize content, set up the API, rebuild visualizations in d3, and all other design aspects of the project. And it will do so for the first few projects pro bono. This is a chance for someone to help me shape the future of Project Platen and its successors. Contact me or find me on Twitter.