More advanced Jekyll setup

Toby Hodges requested to merge jekyll into master

@tischer @hossain @halavaty @jhartman

Using the Binarization module as an example, this MR includes a Jekyll layout for module pages. This should make it easier for us to keep a standard layout for the module pages and to add in additional instructions for platforms and so on. The idea is that we will ask people to populate the header of the module page files as follows:

title:     Image binarization #page title
layout:    module # leave this the same
  - "the concepts of image files, pixels, and intensity" # a list of required knowledge 
  - "something else __that__ `requires` _formatting_"    # for the module to make sense
  - "describe the relationship between an intensity image and a derived binary image" # learning objectives
  - "use thresholding to distinguish foreground and background pixels"                # for the module
platforms: # these will be used to populate the dropdown and blocks for the "Activity" section
  "ImageJ GUI": "activities/binarization/" # paired list of platform
  "ImageJ Macro": "activities/binarization/binarization.ijm"        # names and associated 
  "Jython": "activities/binarization/"        # files of instructions
  "MATLAB": "activities/binarization/binarization.m"                # for that platform

For now, please take a look at (example module as web page) and (equivalent Markdown file for module, best viewed raw) and give me your feedback.

If you like the look of this and want to merge, we will need to go through the other modules and adjust them accordingly. Before that I would like to add a similar dropdown-based setup for the exercises, so that I can shift the weird blocks of combined Jekyll and JavaScript out of the module pages and into the module layout specification.

Edited by Toby Hodges

Merge request reports