Bindery.js is a javascript library to create printable books with HTML and CSS.

First, content is divided across multiple pages. From there, you can set up rules to generate running headers, spreads, and footnotes, based on the content that fits on each page. Turn links into page numbers to create a table of contents or index. When you’re ready to print, configure bleed, crop marks, and booklet ordering.

If you’re a web designer, you can think about books as an extension of responsive design. If you’re a print designer, you can express layouts programmatically, without the need for InDesign.