“Books as Software”

Produce long-form text using the tools powering (open source) software development.
Write semantic, structured content and cross-publish for print and web.

 Introduction  Manual

Caution! The papermill framework is in an early alpha stage — it is basically a “Request For Comments”.


The framework has 3 primary goals:

Text development

Make the mode of production and tools used in (open source) software development more accessible for authors and writers.

Cross-media publishing

Produce a document source which is as media-agnostic as possible, in the hopes that if it works for print and web today, it should be possible to adapt to the to-be-invented media of the future.

Long-term reproducibility

Make sure that once written, the source of a publication can be compiled into the desired output 'forever', or at least as long as computers exist.

From these, we can derive our secondary goals:

Plain text

If a document is to be written in a binary container (like a Microsoft Word File), the usefulness of a software-like development process are very limited.

Online & offline

The framework should be usable on a general purpose computer without requiring an internet connection.


A complicated system is harder to use, explain and extend than a simple one.

A long-term goal is to abstract away as much as possible from the user, while at the same time still providing all the necessary information for those who want or have to know what is happening in the background.


Considering the already listed goals, the problems that arise from them and the existing approaches to solve them, we can safely conclude that there is no alternative to use ‘open source’ software, at least for the framework itself.


Building Blocks

The most important parts of the framework are existing tools that programmers already love to use.


Version control that doesn't suck. Free and open source, distributed, fast and efficient.

Project website »


Markup syntax for humans, easy to type and read.

Learn More »


Typesetting engine

Learn More »


These building blocks need better integration to be useful for non-technical authors, provided in the form of small prototypes. Their development happens parallel to real-world publications produced with it.


A configuration file for publications, inspired by package.json

View draft »


A command line utility, capable of compiling a publication according to the configuration.

View Code »


Template and style for web output. Optimized for readability, based on twitter's bootstrap

View Code »

Example Publications


Doctoral Thesis of Naomi T. Salmon at the Bauhaus-University Weimar (in German).

193 pages in print, it deals with the professionalization process of contemporary artists.

Read it Source


My Bachelor Thesis about this project.

Includes an Introduction into the topic as well as a complete end-users Manual

Read it Source


These components will be developed in the future, aiming to provide a complete, usable solution for non-technical authors. As always, feedback, ideas and contributions are greatly appreciated.


Compile publications “in the cloud”, no need to install ~2GB of dependencies.


Will compile the publication whenever there new changes published – think Travis CI for books.


Write and publish, all inside a web browser!

Will be a hosted service, but also built into the CLI.


Everything is Open Source, including the documentation and this website.

Make it better by just writing me, filing issues or proposing changes on github or donating itcoin.