Skip to content

dhc-barnard/undesign-barnard

 
 

Repository files navigation

Undesign the Redline @ Barnard

Gem Version Build Status Join the chat the minicomp-wax channel of the Code4Lib Slack

Undesign the Redline @ Barnard is an interactive exhibition that combines history, art, and storytelling with community outreach and collaboration, in order to reckon with systemic racism through an exploration of the legacy of redlining in Barnard and Columbia's neighborhood. This digital scholarly exhibition will highlight Undesign the Redline activities at Barnard and host the #Undesign@Barnard syllabus, a public and collaborative learning tool. The digital Undesign the Redline @ Barnard presence will use the Wax workflow which follows minimal computing principles. Below is some important information about Wax.

Please see the original Wax readme and installation instructions in the final section when first working with this repository.

Table of Contents

  1. Undesign directory structure
  2. Undesign digital collection
  3. Original Wax readme

Undesign Directory Structure

The Wax exhibition site works with a file of metadata records (in CSV format) and a directory of image files (either in png or jpeg format). The CSV spreadsheet containing the Undesign syllabus metadata records can be found at \undesign-barnard\_data\undesign.csv. This is how the spreadsheet looks like.


CSV Spreadsheet


The most important fields here are pid and label. These fields are required. The pid field should follow the naming convention already present (obj1, obj2, obj3, ...). The label field should be the title or simply description of the collection item. For other fields, please keep in mind to avoid whitespaces and special characters and to keep field names in lowercase. You can change how these field names are displayed on the website.

The following field names will throw errors: id, date (use _date instead), thumbnail, full, and manifest.

The directory of image files to tag visuals to each collection item can be found in \undesign-barnard\_data\raw_images\undesign. To match an image to its object in the spreadsheet, the files must be named to match the pid. So for example, an image attached to obj1 should be named obj1.png or obj.jpeg depending on file type.

Undesign Digital Collection

With those two essential pieces, the spreadsheet and directory of image files, you can generate the collection by running the main tasks. Please make sure you are comfortable with using Wax in a Docker container. You can see steps on how to create and access that container in the Wax section.

Once you have your container running, you can run the following to see available tasks:

bundle exec rake --tasks

The three tasks of importance are wax:derivatives, wax:pages, and wax:search.

wax:derivatives

The task wax:derivatives:simple generates the collection's image derivates.

bundle exec rake wax:derivatives:simple undesign

Running the above command will:

  1. Look for the directory of image files at \undesign-barnard\_data\raw_images\undesign
  2. Generate two copies of each image (full size and thumbnail, with 1140 px and 250 px widths, respectively) into the directory img/derivatives/simple.
  3. Automatically add two fields (full and thumbnail) to the metadata records with paths to those image derivatives.

wax:pages

Running the following will generate the pages for each collection item.

bundle exec rake wax:pages undesign

This will:

  1. Look for the metadata spreadsheet at \undesign-barnard\_data\undesign.csv
  2. Generate the _undesign directory with .md files that will generate pages with the metadata information

wax:search

Running the following will generate the search index for the Undesign site.

bundle exec rake wax:search undesign

To Alicia: I can't figure out how to fix the thumbnail images path for the search

Wax

Wax is an extensible workflow for producing scholarly exhibitions with minimal computing principles.
It's comprised of: a few Ruby gems for processing image data and associated metadata (wax_tasks, wax_iiif), a Jekyll theme (wax_theme), and (hopefully soon!) a lot of documentation and recipes for creating, deploying, and maintaining digital exhibitions.


Prerequisites

You'll need git and ruby >= 2.4 with bundler installed. These dependencies can either be installed natively on your system or within a Docker environment. For instructions, check the Wiki's Installation Guide.

Check your versions with:

$ ruby -v
  ruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-darwin18]

$ bundler -v
  Bundler version 2.0.1

To process images, you will also need to have ImageMagick and Ghostscript installed and functional. You can check to see if you have ImageMagick by running:

$ convert -version
  Version: ImageMagick 6.9.9-20 Q16 x86_64 2017-10-15 http://www.imagemagick.org
  Copyright: (c) 1999-2017 ImageMagick Studio LLC

... and check Ghostscript with:

$ gs -version
  GPL Ghostscript 9.21 (2017-03-16)
  Copyright (C) 2017 Artifex Software, Inc.  All rights reserved.

Getting Started

There are a few ways to get started with Wax, depending on your needs. Downloading the demo is suggested for new users so you can see how a full Wax site would work. Advanced Jekyllers can start from a clean Jekyll install. To start with the demo:

  1. Change directory into where you'd like your site, e.g., your Desktop:

    cd ~/Desktop
  2. Download the zip file from the wax github repository. The option to download the zip file should be on the button labeled "Code." Your browser will save the file where it normally saves downloads.

  3. Move the zip file to the location you will use. In our example, to the Desktop.

  4. Unzip the file. This can be done through your operating system graphic user interface, or in the terminal:

    unzip wax-master.zip

    You can delete the zip file once you're done.

  5. Rename the directory and go inside the project folder:

    mv wax-master my-project
    cd wax-master
  6. Install the gems (not required if using Docker):

    bundle install
  7. Run the demo site:

    bundle exec jekyll serve

After the last step, the terminal will provide you with a localhost URL for you to see your local copy of the site on your browser. This is the template site you will make changes to in order to make your own exhibition. For more, check out the Minicomp/Wax Wiki.

Using Docker

To use Wax in a container, make sure you are familiar with Docker and have Docker installed.

Run the "Getting Started" steps 1-5 above to copy and cd into the repo.

Next, build the wax_image base image:

$ docker build -t ubuntu/wax .

You will run all of the Wax tasks and commands within an interactive bash container, which you can create and access by running:

$ docker run -it --rm -v "$PWD":/wax --name wax -p 4000:4000 ubuntu/wax bash

To serve the site, you can run the following command in the guest container and view it in your host browser:

$ bundle exec jekyll serve --host 0.0.0.0 --incremental --force-polling

You can exit the container at any time with $ exit, which will automatically stop and remove the container.

Contributing

We welcome contributions to Wax, including bug reports and feature requests (submitted as Issues), code contributions (submitted as Pull Requests), and documentation updates (submitted however!) Not sure where to start? Feel free to get in touch via GitHub issue or grab an invite to join the conversation on the #minicomp-wax channel of the Code4Lib Slack.

Packages

 
 
 

Contributors

Languages

  • SCSS 88.3%
  • HTML 9.6%
  • Other 2.1%