tufte-css wrapped in a comfy Jekyll theme with rake
support
tufte-css-jekyll aims at closely mimicking the Edward Tufte-inspired styles from tufte-css (MIT License) in the framework of a Jekyll theme for satic pages and blog posts.
It is based heavily on previous work by Clay Harmon, who provides tufte-jekyll (MIT License) which also draws heavily on tufte-css, albeit with some stylistical deviations. In comparison, tufte-css-jekyll tries to stay as true to tufte-css as possible.
tufte-css-jekyll also makes use of a boilerplate rake
file (provided by Ellen Gummesson at jekyll-rake-boilerplate), which makes it easy to commandeer the Jekyll site via a number of easy-to-use commands. It alo provides a custom Rakefile, which makes it easy to push the site to a GitHub page.
A demo-page can be found at sdruskat.github.io/tufte-css-jekyll/. The page "Tufte CSS" on this site aims at reproducing the tufte-css demo page.
Download or clone this repository.
The source files live in the default branch src
. Make your changes there, and you're ready to deploy.
If you are new to Jekyll, check out the Jekyll documentation first.
-
The large site title (and subtitle) can be switched on/off by setting the value for
header
in_config.yml
to false. -
The order of pages in the menu can be determined by defining a
weight
for the pages.
In order to build and test the site with Jekyll's own tools, go the the root folder of the project on the command line and do
jekyll build
jekyll serve -w
Navigate to the link provided by the Jekyll CLI and you will see the newly built page.
From the root of the project, you can run a number of commands in order to work with the site. They are basically those from Ellen Gummesson's boilerplate' rake
file. They are listed here for convenience.
-
rake post["Title"]
creates a new post in the_posts
directory by reading the default template file, adding the title you've specified and generating a filename by using the current date and the title. -
rake draft["Title"]
creates a new post in the_drafts
directory by reading the default template file, adding the title you've specified and generating a filename. -
rake publish
moves a post from the_drafts
directory to the_posts
directory and appends the current date to it. It'll list all drafts and then you'll get to choose which draft to move by providing a number. -
rake page["Title","path/to/folder"]
creates a new page. If the file path is not specified the page will get placed in the site's source directory.
Deploying to GitHub pages
Depending on whether you want to deploy to a project (branch gh-pages
) or a user/organization (branch master in specific repository user.github.io
), you can use the DeployToGithub.Rakefile
with the respective argument.
rake -f DeployToGithub.Rakefile publish
will publish the page to the gh-pages
branch of your repository, while rake -f DeployToGithub.Rakefile publishmaster
will publish a user/organization page.
In detail, this will git commit
changes to src
with a boilerplate commit message and git push
to origin/src
, then checkout gh-pages
(or master
), remove everything, copy the build result (in ./site
) from a tmp directory to the branch, commit
with a timestamp, force push
to the respective branch, an checkout src
again.
Bug reports and pull requests are welcome on GitHub at https://github.com/sdruskat/tufte-css-jekyll. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The theme is available as open source under the terms of the MIT License.