A Jekyll template for making books, ebooks and book-like websites.
- Copy or clone this folder
- Edit as needed:
_data/meta.yml
- the stylesheet variables in
book/styles
- the content files in
book/text
- Run the
run-
script for your operating system.
Read the guide for much more. The guide is also an example of the template in action.
Jekyll 3.2.1 does not run on Windows due to a bug. Until this is fixed, a workaround:
- At a command prompt, type
gem environment
. See where your gems are installed. - Go there and in the
jekyll-3.2.1
folder findlib/jekyll/layout.rb
. - Open
layout.rb
in a text editor and replace line 38 with@path = base + "/" + name
. - Save and close
layout.rb
.
In Jekyll 3.3.0, auto-regeneration doesn't work due to our geeky fascination with shiny new things like Windows Bash. A workaround:
- At a command prompt, type
gem environment
. See where your gems are installed. - Go there and in the
jekyll-3.3.0
folder findlib/jekyll/commands/build.rb
. - Open
build.rb
in a text editor and replace everything with the code in this file, which is thebuild.rb
from Jekyll 3.2.1. (The only affected lines are 73 to the end.) - Save and close
build.rb
.
- Fix image-set bug in Windows batch file script
- Windows batch file script enables image-set switching
- Fixes and minor improvements to styling defaults
- Major improvements to web navigation
- Text search (client-side, using elasticlunr)
- Breadcrumbs in masthead
- Many fixes and minor improvements
- Hide web-only elements (e.g. masthead) from print output for printing from browser.
- Fix start depth for frontmatter.
- Add mispelling fallback for
.half-title-page
/.halftitle-page
. - Define nav-bar-prompt text color.
- Add contact-form include using formspree.io
- Various bug fixes and minor improvements.
- Some smarter defaults.
Bug fixes and minor improvements.
Major revision, the key change is that we no longer use a gem-based theme, but rather package everything in the template. Far more powerful Sass configs and better web navigation.
- Set
book
folder as default inrun-windows
run-windows
script now installs Bundler if it's not installedrun-windows
script fixes: correct baseurl, correct epub firstfile- Test with Jekyll 3.3.0 and allow in dependencies
- Update prose config
- Allow gh-pages repo in config
- Minor fixes
- Add output scripts for all formats for OSX and Linux
- Combine output scripts into one for each OS
- Minor bug fixes
- New web navigation option to allow nested menu items: add a web nav tree to
meta.yml
, and enable in_config.yml
. - Move
youtube
include to theme and out of template. (How to manage embeds should be a theme decision.) - Add index page to book folder that redirects to
text/index
- Add related
redirect
include for redirecting any page - Add
head-elements
include for injecting scripts and links in<head>
- Use electric-book-classic-theme v0.1.3
- Rename
get-metadata
include tometadata
for simpler tag - Fix broken font paths and management (fonts now all called from custom CSS)
- Add experimental Windows bundle install script
- Overhaul to work with Jekyll 3.2, supporting themes as gems.
- Automatically requires the Electric Book Classic Theme gem.
- Faster epub creation (file structure now matches Sigil conventions).
- Each book can have its own custom Sass/CSS.
- Bug fixes and improvements.
- Major change (and improvement) to metadata structures
- Output formats now consistently named print-pdf, screen-pdf, epub and web
- Fixes to mac-pdf.command script
- Minor edits
- Add Gemfile and require bundler for scripts to work (NB since Jekyll 3.2.1)
- Fix
-fitting
classes style inheritance in web and epub CSS - Minor improvements
- Fix broken pink to print stylesheets.
- Fix broken links in @font-face partials.
- Add more font includes.
- Turn on kramdown auto_id_stripping to keep IDs neat and persistent, and ahead of 2.0 where this will be default.
- Fix line-height on chapter-numbers to retain baseline grid.
- Improve navigation layout.
- Simplify tag for embedding YouTube video.
- Add ability to combine
.smallcaps
/.allsmallcaps
with.bold
and.italic
for italic/bold small caps. - Add
web.scss
variables for media-query break points. - Fix bug causing horizontal overflow.
- Bug-fix broken links in new nav include.
- Improve template index page.
- Make default web typography paras space-between (not text indent).
- Move series template out into its own repo for easier forking/copying.
- Move themes into
_themes
folder (better theme management, and in line with likely forthcoming Jekyll theme structure). - Improve
nav
andfooter
elements to give themes more to work with, and allow for fuller web output chapter menus. - Change
print-list
tofile-list
and auto-generate from file lists per product inmeta.yml
. - Create
win-epub.bat
to speed up EPUB creation. - Improve Windows batch files for output to print PDF and PDF ebook
- Add CSS options for pure black in addition to rich black, and a $start-depth variable to keep chapter openers consistent more easily.
- Add template folders and minimal guidance for using Javascript.
- Update and improve Guide text in many places, mainly where it was out of date.
- Various minor improvements.
- Move all metadata out of
_config.yml
, into_data
(no more setting up the slug) - Support
<hr>
as text divider (*** in markdown) - Minor improvements to code comments
- Minor improvement to layout of reference indexes
- Fix for blank baseurl in
win-web.bat
launcher - Minor text edits
- Improve Windows batch script for PDF
- Add a Linux shell script for PDF
- Add Windows web batch script
- Experimental Windows batch file for PDF output
- Better image-set system using site variable
- Improved figure styling
- New control over image heights in figures to retain baseline grid
- Print-hiding for Sigil split markers
- Allow Prince hyphenation when no special dictionary is defined
- Fixed styling of .title-page-publisher
- Related documentation in Guide
- Add .title-page-publisher
- Liquid tags can populate whole title page and copyright page from _data