Bindery.js 1.0 was developed in Spring 2014 for for/with/in, a publication from participants in the graphic design course HTML Output at RISD. It was based on the much-maligned, now abandoned CSS Regions spec, using a polyfill. Catherine Leigh Schmidt and Lukas WinklerPrins produced a Jekyll theme called Baby Bindery for the Design Office based on this initial version.

Bindery.js 2.0 has been developed since February 2017 by Evan Brooks. It has been rewritten from scratch to be smaller, faster, more flexible, and more robust. With thanks to John Caserta and Teddy Bradford for contributions and feedback.

Report bugs, make suggestions, or lend a hand on Github.

What bindery is not

  1. InDesign— Bindery is intended for people who are interested in creating layouts with HTML and CSS. It’s not a graphical user interface.
  2. A PDF generator— Bindery relies on your browser’s PDF output. If you want to adjust a PDF setting, your browser must support it.
  3. LaTeX— LaTeX is a markup language and typesetting system popular in the scientific community. Bindery is intended for everyone who knows HTML and CSS (or is learning), and wants to apply that to print.
  4. CSS Regions— CSS Regions was an ill-fated Adobe-led spec to support magazine-like layouts on the web using new CSS rules like flow-into. (polyfill here). Bindery uses regionize.js, a simple library that is not controlled by your CSS rules.


Text is set in Tiempos Headline by Kris Sowersby, and code samples are set in Input Mono by David Jonathan Ross.

This page was rendered at [Time and Date] with [Browser].

This site was last updated at 4:47 AM on Monday, February 18, 2019. It is built with Jekyll and hosted on Github Pages. Its source code is available here.