Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A boilerplate for publishing books as Jekyll blogs
Jekyll Book Boilerplate is an open-source boilerplate that turns a Jekyll static site into a self-published book website, providing chapter navigation, epub conversion, and spellchecking out of the box.
Jekyll Book Boilerplate is a starting point for authors who want to publish a book as a website built on the Jekyll blog platform. It takes Markdown chapter files placed in a _chapters folder and generates a complete book site with a table of contents and buttons to move between chapters. The boilerplate also ships with two scripts: one converts the book to epub using Pandoc, and another runs spelling checks using the spellchecker-cli npm package. The project is created by Boris Marinov and hosted on GitHub at boris-marinov/jekyll-book-boilerplate.
_chapters folder, so readers can navigate the whole book from one place.build script uses Pandoc to convert your manuscript into an epub file; you edit /title.txt first, and a download link appears in the site footer.spellcheck script runs the spellchecker-cli npm tool over your chapters, with a /dictionary.txt file for custom words to ignore._chapters, and edit _config.yml to get a working book site in minutes.title.txt, and running the build script.dictionary.txt to keep technical terms from being flagged.The workflow starts by creating a new repository from the template, then configuring _config.yml with your book's name, description, and baseurl. You place chapter files in the _chapters folder with filenames that reflect order, like 01.md, 02.md. To publish on GitHub Pages, you enable Pages in the repository settings and select the main branch. The build script handles epub export, and the spellcheck script reviews your text.
Yes, it is an open-source project on GitHub. You can use the template to generate unlimited repositories, and hosting on GitHub Pages is free for public repositories.
At minimum you need Jekyll to run the site locally. For epub conversion you install Pandoc; for spellchecking you need Node.js and npm to run the spellchecker-cli package.
Chapter order is determined by the filenames in the _chapters folder. The documentation suggests naming them with numeric prefixes, such as 01, 02, 03, so they sort correctly.
The README specifically describes epub conversion via Pandoc, and the site footer provides a link for downloading the epub. Other Pandoc output formats are possible if you extend the build script, but that is not documented in the boilerplate.
