minicomp/wax: minimal iiif exhibitions with jekyll

Minicomp/Wax is a heterogeneous collection of experiments, strategies, and functional components for adapting Jekyll for minimal exhibition sites.

It centers on a Jekyll theme (wax) and set of Rake tasks (wax_tasks) that together enable digital humanists to create impactful sites with IIIF viewers, elastic search, and complex metadata with very little technical overhead.

It is a sister project to Minicomp/Ed: Jekyll for Minimal Scholarly Editions.

project context:

As a set of practices and priorities, minimal computing has proven well suited to the needs of digital humanities projects and scholars. Specifically, its tenets of Minimal Dependencies, Minimal Maintenance and Minimal Presence help offset DH’s frequent scarcity of resources, and its emphases on Maximum Access, Minimal Consumption and Minimal Obsolescence complement and strengthen the core of critical digital humanities work.

In line with the goals of minimal computing, Minicomp/Wax is a set of experiments, strategies, and functional components for adapting Jekyll (a modular, minimal static site generator) to evolve alongside emergent digital humanities scholarship.

Though the objectives of Wax are ongoing, its success will be tied to the development of key workflows for producing digital exhibitions. These exhibitions, though minimal, will still include many of the components expected of database-powered platforms like WordPress, Scalar, and Omeka. The components themselves will be discrete, lightweight, interoperable, and easy to use, creating an expansive framework of Jekyll tooling that enables scholars to dynamically assemble what they need and drop what they don’t.

Need a site with dynamic search but can’t commit to maintaining a database? Need a simple blog but are worried about vulnerabilities in WordPress? Want to make a custom IIIF image exhibition or a D3js data visualization from student-generated CSVs? Need to host thousands of static pages, but don’t have a budget for server space? These are just a few of the directions currently giving shape to Wax.


wax is a (soon-to-be) gem-packaged Jekyll theme.

wax_tasks is gem-packaged set of Rake tasks.

running checklist:

Note: I count experiments as singular proofs-of-concept (usually as demos), methods as the generalization of experiments for others to apply (usually as tutorials/blog posts), and components as code for others to use with minimal change or configuration (usually in GitHub repositories).

Experiment: Client-side custom search index with Lunrjs.
Experiment: IIIF digital exhibition from local image tiles with Mirador viewer.
Experiment: IIIF digital exhibition from remote image server with Openseadragon.
Experiment: D3js visualization of a Jekyll collection auto-generated via Liquid template.
Experiment: Convert an entire WordPress blog theme to work with Jekyll.
Experiment: Create a large (>40k page) relational Jekyll site.
Experiment: Host Jekyll sites with GitHub pages.

Method: Create YAML data to power Jekyll site from MySQL database.
Method: Convert an existing WordPress site to Jekyll.
Method: Generate interactive D3js visualizations from Jekyll data.
Method: Automate build tests with Travis-CI.
Method: Automate html tests with html-proofer.
Method: Automate headless feature tests with Rspec, Capybara, and Poltergesit.
Method: Automate Jekyll deployment to S3 with Githooks.

Component: Jekyll-plugin for auto-generating markdown pages from CSV files.
Component: Rake task for generating pages from JSON or CSV files.
Component: Rake task for generating IIIF tiles and JSON from local images.
Component: Rake task for generating ElasticLunr search index.
Component: Rake task for performing tests (htmlproofer + rspec) on compiled site.

xpmethod: knowledge design studio @ columbia university’s group for experimental methods in the humanities
go::dh: minimal computing thought pieces from global outreach dh
markdown: text-to-html conversion tool for web writers
iiif: consortium for the international image interoperability framework

Related posts:

  • Push Compiled Sites to GitHub Branches from Travis
  • NYCDH Week Workshop: Publishing Sites with GitHub Pages
  • Create and store static IIIF annotations... Minicomp style
  • Create a Gov't Document Pipeline from Scraping through Full Text Extraction