A few months ago, I wrote about the way I use Markdown, a simple syntax for content generation in my writing and teaching. In this post, I document how I use Moodle, Github, and Dexy to easily update and publish materials for my class.

Since I am still early in my teaching career, my materials change frequently. Our school uses, Moodle, as a content management system but I found re-uploading static PDF files of my work to be cumbersome and error prone.

Since Github renders markdown quite nicely, I place my materials in a github repo and then create URL links on Moodle that point at that page. This allows me to update my materials with a simple git push command from my computer. If I don't remove or rename the file, the Moodle URL link remains valid and any corrections are available to the class immediately.

I've been sharing my syllabus electronically like this for a while now, but I've started linking to other materials as well.

This year I started using Dexy to create the Markdown. One pain point in syllabus creation is the inclusion of a table with topics and assignments listed by dates. Since in even a mature curriculum this is prone to change, updating and uploading an embedded table in a word processing document was not appealing. I keep the schedule in a table format in an Excel spreadsheet. Then I use Dexy and a python script to parse the xlsx file, create markdown tables, and insert them into my syllabus. This means to change the schedule I can edit the excel file, compile the markdown file, and then push to github where the syllabus will be viewable by the class. While it was a few hours of initial (and enjoyable) investment, being able to update easily and rapidly has been worth it.