Building with Jekyll: Simple and Sustainable Web Infrastructure

Evan Williamson | [email protected] Devin Becker | [email protected] University of Idaho Library | lib.uidaho.edu UI/WSU Library Meetup | Moscow Party in the front, CONTENTdm in the back Current Developement System

● XML/XSLT -- Template Files Customized for individual collections ● PHP includes ● Anticipates Static Generation ○ But leads to idiosyncrasies and difficulties updating Goal: Dream:

● Responsive sites 1. Drop in digital ○ Improved SEO collection metadata ● Easier CSV development/update 2. Full Website Built

● Simpler Maintenance ● Easier Migration ○ (when it comes) Building with Jekyll Why? ● actively developed ● very popular ● GitHub integration

https://jekyllrb.com/ Static Site Generator

< a Jekyll project is a directory of plain text files that is transformed by a package of dev tools into a static website. Jekyll stack: ● Ruby (core and extensions) ● (base content) ● Liquid (templating) ● Sass (css preprocessing) ● YAML (data, config) File based data Use data to build!

Jekyll exposes data to the generator from YAML, CSV, or JSON files + Global variables that can be used anywhere when building pages.

http://www.yaml.org/ Re-Building an existing template

● improve responsiveness ● re-organize, normalize, and modularize code ● simplify future maintenance http://www.lib.uidaho.edu/digital/gem/ http://www.lib.uidaho.edu/digital/campus/ http://www.lib.uidaho.edu/digital/argonaut Building a new template with Data

● automate site creation based on digital collection metadata CSV ● automatically generate different browsing features depending on collection content

concept: https://github.com/uidaholib/collection-template http://www.lib.uidaho.edu/digital/guidedreading/ Building quick instruction sites

● use minimal Jekyll theme with a few markdown files to create workshop materials ● easy to create ● easy to use ● easy to share / adapt

theme: https://github.com/evanwill/workshop-template https://evanwill.github.io/hello-arduino/ https://github.com/evanwill/hello-arduino handy and fun!