Wiki-to-pdf
wiki-to-pdf
This publication ( whether you are looking at it in paper or on a screen ) has been written and laid out with a wiki-to-pdf system installed at http://titipi.org/wiki-to-pdf. The code is hosted at https://gitlab.constantvzw.org/titipi/wiki-to-pdf
wiki-to-pdf is a contraption for ongoing publication efforts. It combines the collaborative editing possibilities of Mediawiki with the pdf-in-the-browser approach of the pagedjs library to produce paginated, elastic, malleable and re-editable publications for printing and on-line reading.
The system proposes a hybrid publishing toolkit that blurs the boundary between digital and printed publication. It enables different workflows and labour division that divert from the traditional publishing models in which textual and visual material are submitted to a designer that carefully works towards a final layout of the materials. In wiki-to-pdf the work on content and design happens in parallel on the very same system: the CSS files that set the style for the publication are stored in a wiki page, just like all the texts and images that compose the book content. wifi-to-pdf allows continuous re-editions - diverse in content and design - of ongoing research. Individual articles can keep being edited even after a publication is released, and they can be included in multiple publications on the same system. x
The system is composed of:
- Mediawiki, that allows collaborative text writing and editing, using a simple and accessible markup and holding a history of all the different versions of a text.
- Pagedjs, a Javascript library that expands the possibilities of web-browser CSS styles to include pagination and printing tasks, allowing to act on non-screen issues such as page numbers, crop marks, sheet sizes.
- Flask, a framework to make web-pages with python, that can join together in one system the output of mediawiki and the processing made by pagedjs.
'Unfolding:' continuum
wiki-to-pdf is just the last iteration of a continuum of efforts to patch together collaborative writing practices with browser approaches to design.. each of the additions to this system can be related to a different moment/project in a network of inter-dependent groups of people, tools and situations. To give an idea of this continuum, here are a few related projects that are important in this genealogy:
- Open Source Publishing's html-to-print[1], started in 2014 and used in a wide range of situations, from workshops with design students to commissioned printed publishing efforts. A starting point to design printed matter by the simple use of css print styles, using etherpad to work collaboratively on files.
- Mondotheque [2], a wiki-based publication .... , for which André Castro and Alexia de Visscher developed a system based on Semantic Mediawiki and weasyprint to produce a printable pdf. 2014-2016
- Diversions [3], a publication edited by Constant, for which Gijs de Heij and Sarah Magnan came up with a way to unfold a set of mediawiki pages into html, to which pagedjs is added to allow more precise work on pagination
- Volumetric Regimes [4] book, in which Manetta Berends uses flask to bring together these elements
These projects have all been informed in a sense by previous efforts, sometimes pieces of code of a project would reappear in the next iteration, such as starting css styles coming from another project.. The free-software compatibility between different elements allowed projects to add and remove things according to a taste for different re-structurings of the system.. Etherpad routinely added and removed from the overall recipe.. The insistence on some of these systems results in every time being a little bit more comfortable with the frictions and obstacles that each of these software systems would present, especially when their functioning is pushed into territory they were not designed for (such as producing pdf publications!).