tufte-pandoc-jekyll

This is a Jekyll theme for using Tufte CSS alongside pandoc-sidenote. It's based off of

You may ask, “What's the difference between this and tufte-jekyll?”

Using pandoc-sidenote, we don't have to use {% sidenote %}...{% sidenote %} and can instead just use [^1] like normal Pandoc markdown.

For a demo, see jez.io/talks/.

Features

This fork introduces some changes to the style sheets that are meant to provide support for using tufte-pandoc-jekyll alongside Pandoc-crossref and Reveal.js. Otherwise, this project attempts to match the style, features, and version numbering of tufte-pandoc-jekyll. In short what it does is to:

Figures, captions, and borders

Alignments and typography

Reveal.js and bonus features

The following tweaks allow you to use the same Markdown file as a base for a regular web page and for a Reveal.js slideshow. These features are not enabled by default. To enable then, check out assets/css/main.scss from the theme files and uncomment the @import "revealjs-support" ; line.

:warning: The Reveal.js support does not affect slide output in any way and you should not point your slide presentation to the styles in the tufte-pandoc-jekyll theme. These features are meant to normalize the appearance of the text version of your page when it contains markup that will also be used for slide output.

Installation

There are two external dependencies in order to use this theme. You can install them through your package manager (like apt-get or brew):

# EXAMPLE: This is for macOS. Change if you're on Linux.
# Note: you must have pandoc version 2.0 or greater
brew install pandoc
brew install jez/formulae/pandoc-sidenote

Next, add this line to your Jekyll site's Gemfile:

gem "tufte-pandoc-jekyll"

And add these lines to your Jekyll site's _config.yml:

theme: tufte-pandoc-jekyll

gems:
  - jekyll-pandoc

And then execute:

$ bundle

Or install it yourself as:

$ gem install tufte-pandoc-jekyll

Usage

Note: while tufte-pandoc-css optionally includes the Solarized Light/Dark colorscheme, it's enabled by default here, with no easy way to opt-out. This is probably fine for you, but if it's not, feel free to make a PR that allows opting out.

Variables

The following variables are used by this theme.

_config.yml

You'll need to update your _config.yml to compile the site using Pandoc. Make sure you've followed the installation instructions.

gems:
  - jekyll-pandoc

markdown: Pandoc
pandoc:
  extensions:
    - section-divs
    - from: 'markdown+tex_math_single_backslash'
    - filter: 'pandoc-sidenote'

Optional: remove section-divs if you want to insert <section> tags manually.

Developing

To make a release:

vim tufte-pandoc-jekyll.gemspec
git commit tufte-pandoc-jekyll.gemspec -m 'Bump version'
git tag "$version"
git push --tags origin master
gem build tufte-pandoc-jekyll.gemspec
gem push "tufte-pandoc-jekyll-$version.gem"

License