Skip to content

DigitalHistory/dhu235

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png

Course Repository for WDW235: Intro to Digital Humanities (Univ of Toronto)

This repository collects materials related to the introductory course in the University of Toronto’s Digital Humanities program. Materials are written and stored in /org-mode This repo is an effort to develop standard practices around course deployment. At present my courses don’t all conform to this standard, but eventually I hope they will. By describing my processes here, I hope I will be able to standardize all my courses, write generic (rather than bespoke) deployment scripts, and ease the process of dockerizing my courses to avoid catastrophic failures (as occasionally still occur).

Most visitors will want to start with the syllabus. The rest of this README contains some technical notes and is derived from a more detailed document in this template repository.

Text formats

Course materials are written in org-mode markup, a multi-faceted markup format that is similar to markdown, but with a much richer feature set. Unfortunately it is largely restricted to Emacs users, and perhaps because of that will never gain wide acceptance. If you prefer Markdown, the easiest method is probably to install pandoc and patch convert all the org files to markdown with

for i in *.org; do pandoc -s $i  ${i%.*}.md; done

There’s likely to be a fair bit of manual clean-up required, though.

Repository Structure

  • Course syllabus is a stand-alone document in the top-level directory. Uses org-mode macros and counters to generate dates and class meeting numbers.
  • ./Lectures.org, a single file with all my lectures, ready for export to reveal.js using org-reveal
  • ./Assignments.org, a single file with all my assignments
  • ./Grades, a directory with my grading materials (I exclude these from my git repositories to avoid any accidental disclosure of private information)
  • ./Readings, a directory with copies of course readings (similarly, I exclude this from my git repo for copyright reasons)
  • ./Images ditto

So the whole course structure comprises just a few large files, which I find a convenient way to keep track of everything.

Export

Stand-alone documents

I use org-mode’s native exporter to produce course documents that need to be distributed in other formats (usually .pdf, .docx, and .htm or .md). Org’s exporter is extremely powerful and flexible, and I use a set of configuration variables, set in the document headers, to control its behaviour. At present I still have stray bits of elisp code in my emacs configuration, but I hope to move that to a central location so its easier to reproduce my build environment.

The syllabus in particular uses a couple of Emacs macros, which render strangely in the otherwise-delightful Github org-mode parser. In the course outline you will see lots of headlines with text like {{{ts}}}{{{n}}} – I apologize for this!

Canvas/Quercus

U of t uses a branded version of the open-source Canvas courseware software. There is an excellent and well-documented API for which I have written a much less polished Emacs client. This can be used to post most materials directly to Quewrcus without using the web interface.