For current syllabi see the latest tagged release.
Final versions of some past syllabi may be downloaded at the following links:
- "Exploring Poetry" (ENGL 271) spring 2024
- "History of the English Language" (ENGL 300) spring 2023, spring 2025
- "Introduction to Old English" (ENGL 321/441) spring 2024
- "Studies in Medieval Literature" (ENGL 323) fall 2024
- "English Poetry from Manuscript to Print" (ENGL 390) fall 2022
- "Interpreting Literature" (UCLR 100) fall 2024
Beginning with v2025.01.0
, tagged releases have the following semantics: YEAR.MONTH.VERSION.
The MONTH is the two-digit month in which a given semester begins (usually 01 or 08).
Plain text components are maintained in the directories frames
, schedules
, bibliographies
, and partials
.
Markdown files (one per course). These supply document outlines and code blocks for loading content.
Course schedules as CSV and Markdown. The Markdown files are created by script from the corresponding CSV and should not be edited manually. See scripts.
Bibliographical details for use by Pandoc's citeproc
.
This directory houses all syllabus content except course schedules and bibliographic details. Files are queryable with ZettelGeist. To do that, clone the repository. Then, assuming you have installed ZettelGeist, and activated the Python virtual environment, do the following:
$ cd path/to/zg-syllabi/partials
$ zimport --database index.db --create --fullpath --dir .
$ zfind --database index.db --get-all-tags | less
To view metadata for documents with a given tag, run (e.g.)
$ zfind --database index.db --query-string 'tags:presentation' --show-all
To view the document payloads, add the option --show-document
to the above command, or open or view the files themselves.
Filenames are included among the metadata printed by --show-all
.
For more on queries, see the ZettelGeist manual. (ZettelGeist queries have some known issues).
Production tools are maintained in the directories scripts
and config
.
The directory scripts
contains Python scripts to generate skeleton course schedules as CSV and transform the CSV into well-structured Markdown.
See comments at the head of the files.
The directory config
contains files used by pandoc
to control the conversion and formatting of documents, including the formatting of bibliographical references.
For local builds, and prior to each release, run the shell script build-all.sh
.
This script calls a Python script (scripts/date-formatter.py
) to create Markdown files in schedules
and calls another shell script (build-pdf.sh
) to create PDFs in build
.
The Markdown files created in schedules
must be committed to the repository and pushed to origin prior to deployment.
(This may be obviated in a future release.)
The PDF files created in build
are for local testing.
(They are ignored by git
.)
Deployment is done with GitHub Actions: see .github/workflows/action.yaml
.