Copyright 2016 Underscore Consulting LLP.
Source code licensed under the Apache License 2.0.
Template content licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Template for Underscore eBooks, based on Node, Pandoc, and Grunt. See the source code for Creative Scala for a complete example of use.
The following settings are supported a book's metadata.yaml:
Key | Value |
---|---|
title |
String |
author |
String, multiple authors represented as: Name and Name |
date |
String, publication identifier such as: Early Access May 2015 |
filenameStem |
String, filename used for HTML, EPUB, PDF output. E.g., essential-play |
copyright |
String, copyright year or range: 2015 or 2011-2015 . |
tocDepth |
Integer, number of levels for table of contents. E.g., 3 |
coverColor |
String, colour of PDF cover. E.g., F58B40 |
pages |
Array, list of pages in rendering order |
previewPages |
Array, list of pages for the preview versions in rendering order. |
This template uses a Docker container to allow setup without (much) agony.
You'll need Docker Machine if you're running on Windows or OS X. Setup a VM to run Docker containers using Docker Machine (you will probably do this as part of the Docker Machine install):
docker-machine create --driver virtualbox default
Check you have a running machine.
docker-machine ls
If you don't have one running, start one and setup the environment.
docker-machine start default
docker-machine env default
Build the image for the book environment
docker build -t underscore/book .
Now copy docker-compose.yml
to the root of the book you're working on and run it.
docker-compose run book bash
This will setup a shared filesystem so the material on your local filesystem can be seen by the Docker container and turned into a book, and give a bash
prompt to interact with the Docker container.
sbt pdf
to generate a PDF version of the book you're working on.