From the WikiPublisher

Wikipublisher: About the project

The problem is what interests all but beginners in typography. Its solution may be, and often is, moderately exciting; although if the problem is successfully solved no one perceives it has existed. — Daniel Berkeley Updike

The Wikipublisher project develops a free/libre open source Typesetting Engine that takes Web page content and turns it into a form suitable for printing. The current version adds this capability to the PmWiki engine [1]. The PressBooks project [2] is developing an interface between WordPress and Wikipublisher. If there is enough demand, the project may add support for other Web content management systems.

The most common use case is for online book authoring and publishing.

The project was a finalist in the New Zealand Open Source Awards 2008 [3] for bringing the power of LATEX to the world of wikis.

On this page… (hide)

  1.   1.  The Wikipublisher project
    1.   1.1  Background
    2.   1.2  History
    3.   1.3  Architecture
    4.   1.4  Developers
    5.   1.5  Licensing
  2.   2.  Functionality of the Wikipublisher software

1.  The Wikipublisher project

1.1  Background

Web pages and print documents exist as two solitudes [4]: information created as a Web page may print poorly; information created as a print document may translate into an unappealing Web page. The Wikipublisher system lets authors create content online first, as Web pages, and lets readers turn individual pages or page collections into print documents. It uses wiki software as a lightweight and extensible content management system, so any page can be edited using any Web browser. It uses LATEX [5] as the typesetting engine, thus providing print output of the highest quality.

Wikipublisher’s goal is to make it easy to turn Web page content into beautiful print documents. Three principles underpin and inform its design:

1.2  History

The Wikipublisher project was born in late 2004 at Affinity Limited [6], a small IT management consultancy, based in Wellington, New Zealand. Like most professional services firms, our document production systems, based on Adobe FrameMaker, were geared to producing print documents such as letters, proposals, short papers, and reports. Our Web presence was essentially an online brochure — who we are, what we do, and how to contact us. Communication with clients primarily used e-mail to send document attachments back and forth. Several years ago, 3 things happened:

Apple’s switch to Intel processors meant that Mac OS 9 was dead and with it FrameMaker on Mac. Either we had to switch to Windows or find a replacement. We decided to investigate the possibility of creating a “consultant’s report” as a set of linked wiki Web pages and using some form of typesetting engine to re-purpose this into a printable document, complete with cover page, table of contents, running headers and footers, and other print-oriented structures.

With the help of a research and development grant from New Zealand’s Foundation for Research, Science and Technology, we teamed up with the School of Mathematics, Statistics and Computing Sciences at Victoria University of Wellington to carry out the project. The grant allowed us to hire a graduate student on a part-time basis for just over a year, while he worked on a MSc. Following a round of enhancements and bug fixes, we can now produce letters, articles, reports, presentations and books, including lists, images, tables, equations, citations and bibliographies — in other words, we have a robust, fully-fledged publishing system for Web and print documents.

1.3  Architecture

The Wikipublisher system currently comprises three modules.

  1. The Wikibook DTD (document type definition) is an XML specification of what constitutes a valid Wikipublisher document.
  2. The Wikibook PDF (portable document format) Server is a Web service that, given a valid Wikibook XML document, returns a typeset PDF file.
  3. The Cookbook:PublishPDF library is a set of Php scripts and templates that plug into the PmWiki system, enabling it to generate a Wikibook XML document instead of HTML.

1.4  Developers

John Rankin is the principal designer, maintainer and enhancer of the software. He wrote most of the components that make up the Cookbook:PublishPDF library. He developed the metadata model that lets readers customise the PDF output using a Web form and added various features to the Wikibook PDF server, such as the ability to typeset letters, change a book’s cover style, and automatically resize images.

Donald Gordon wrote the Perl script that drives the PDF server and taught the XSL script many new LATEX tricks. He did the back-end integration that means we can give the PDF server any URL that returns a stream of Wikibook XML and get back a typeset PDF suitable for printing. He also wrote the PmWiki handlers to translate wiki tables and wiki styles into useful XML.

Darren Willis wrote the server-side components that teach LATEX how to process the XML created from wiki citation markup.

1.5  Licensing

Wikipublisher is free (libre) software, covered by the same licence terms as the underlying software on which the component parts are built.

The Cookbook:PublishPDF library for PmWiki is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 [7] of the License, or (at your option) any later version [8].

The Wikibook PDF server and DTD are distributed under the terms of the Artistic License [9], version 2.0. In accordance with the terms of the Artistic License, the distribution includes access to a tarball of the original tbookdtd package, available as a download from Install the Server. The compiled LATEX packages in wikibook/template are distributed under the LATEX Project Public License [10].

For people who run the Wikibook PDF server as part of a public-facing network service, the software carries an additional GNU Affero General Public Licence, version 3 [11] or later. This ensures users of a hosted service enjoy the same freedoms as those who run the software on their own computers.

2.  Functionality of the Wikipublisher software

Turn Web pages into beautiful print
Wikipublisher is an extension to PmWiki. It supports collaborative creation of print documents which draw their content from wiki web pages. In fact any Web page able to be recast as Wikibook XML can be composed into a print-friendly PDF document.
Make a print version of any page
Sites with Wikipublisher installed look and act like normal wiki sites, with a PDF icon on every page. Some pages, such as those showing trails, page lists or categories, may have a Typeset button; pressing this button composes the listed pages into a single document.
Choose the print style
Readers can customise the look of the printed output, such as add a watermark, choose A4 or US letter page size, and use serif or sans serif fonts. Authors can define a default look. If a page includes a bibliography, an author can specify numbered or author–year citations.
Print a range of document types
Individual web pages are laid out using an article class. There are different layout classes for each type of output, including a letter, book, or report. Different document classes share the same design elements, forming a family with common design DNA.
The system cares about the details
As authors, our concern is content, not presentation. The knowledge needed to lay out a printed page for optimum readability is in the software, so we can focus on writing. By separating content from presentation, Wikipublisher can apply good typesetting practice, without authors having to become layout experts.

To learn more about what Wikipublisher can do, see the User Guide and Tip of the Week.

Copyright © 2005–2021 the Wikipublisher wiki and its authors



Retrieved from

Page last modified on 10 January 2013 at 08:27 AM