Jekyll-Wax: Modules + Methods for Jekyll in the Expanded Field

#minimal-computing   #static-search   #relational-data   #digital-collections   #digital-publishing   #2017

Hongmun Sŏgwan, “Pigŭk sosŏl - Pulsanghan insaeng (An unhappy life),” Columbia University Libraries Online Exhibitions, accessed October 2, 2017. IIIF image shown in OpenSeaDragon viewer.


early stages / ongoing

one sentence summary:

Jekyll-Wax is a heterogeneous collection of experiments, strategies, and functional components for adapting Jekyll to evolve with the needs of digital humanities researchers and practitioners.

full project description:

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, Jekyll-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 Jekyll-Wax are ongoing, its success will be tied to the development of several key workflows, namely for producing digital exhibitions, publications, and blogs complete with many of the components expected of database-powered platforms like WordPress, Scalar, or Omeka. These components 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 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 Jekyll-Wax.


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 YAML or CSV files.
Component: Jekyll-plugin for auto-generating IIIF manifests from YAML data and remote image server.
Component: Jekyll-plugin for auto-generating Lunr search indexes from _config.yml information.

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