The Sausage Machine is an experimental system meant to facilitate hybrid text production. It builds upon the Hybrid Publishing Toolkit – an effort by a number of researchers and practitioners engaged in various forms of contemporary cross-media publishing. The Sausage Machine has been designed and programmed by Gottfried Haider during his employment at PublishingLab.

The code is available on GitHub under an Open Source license, and can be made to run on most webservers. If you're running into any problems, feel free to open an issue on GitHub.



What is new?

The Hybrid Publishing Toolkit made use of Markdown (as a markup language), Pandoc (as converter software), Makefiles (for specifying transformation rules) and Git (for distributed version control).

The Sausage Machine continues to use those tools, but instead of making it necessary to install and invoke them on every user's machine, it is now possible to accomplish the most common tasks encountered in an editorial workflow using this web interface, further a client for Git, and a Markdown editor.

The invocation of Makefiles, and creation of output files using Pandoc is now most commonly done on the server – enabling consistent results and a more accessible way to start experimenting.

How does it work?

In the Import File tab you can drop existing files (.docx Word documents, images) to include in your book project. In the following tab, Start a book, you can choose between multiple base templates to start from. There, you can also edit the various (text) files making up your repository, and also export to various output formats on the spot.

The output formats provided and the exact manner how this transformation is done is governed by the the very Makefile that comes with the respective base template. The button Continue on GitHub then creates your personal copy of the selected template as a repository on GitHub, and commits your initial changes done in the web interface as well.

Future work, by you as well as other people working on the same project, can be done using a conventional Git workflow. Except that, after each commit getting pushed to GitHub, the Sausage Machine will automatically go to work and re-generate all of the repository's output files. Those output files are again committed and pushed to GitHub, so that the user who pushed a change (e.g. a change to a Markdown file, or to the CSS stylesheet) can fetch an updated EPUB (and many other formats) just a few seconds later.

Good luck.

gohai, December 2015