In a previous post I detailed some ways for creating open, accessible curriculum and my specific goals / requirements. I have now implemented a system for a new class so I wanted to do describe my approach. I don’t presume this is the best approach, but it (mostly) fits my requirements.
Course website: https://reparke.github.io/ITP348-Physical-Computing/
GitHub repository: https://github.com/reparke/ITP348-Physical-Computing
My Lecture Creation Process
- Create / edit markdown files in Typora (images can be drag-and-dropped; simple graphics can be created in Inkscape)
- Open completed lecture files in VSCode. Use Marpit plugin to generate HTML (or PDF) slide shows
- Use Github to push changed files to course repository. Website will be auto-generated
My Assignment Creation Process
- Create / edit assignment write-ups in Word.
- Export DOCX files from Word as markdown files using Writeage plugin
- GitHub to push changed files to course repository. Website will be auto-generated
If you want to get started, you can implement either the 1) markdown -> slides, 2) or the 2) GitHub Pages website separately if you want (the latter is the more challenging of the two).
Getting Started with a Generating Slides from Markdown
This allows you to create simple markdown files that can be converted into slides (PowerPoint, HTML, or PDF). You can follow the process I’m using above, or check some other approaches described in a earlier post.
Getting Started with a GitHub Pages Site
This allows your markdown files (or any content such as PDF, PowerPoint, etc.) to be hosted online for free. This part is a cumbersome to set up and configure, and it does require entering some commands into a console. Once the site is setup, the process is fairly easy to maintain though.
- Create a Github account
- Follow the instructions at [Starting GitHub Pages Site](https://github.com/jan-martinek/gh-syllabus). This was an invaluable resource. I adapted (“forked”) this site and added my content
- If you want to make advanced changes to how the pages load, check out [GitHub Jekyll Template Help](https://jekyllrb.com/tutorials/navigation/#scenario-8-retrieving-items-based-on-front-matter-properties). In order to customize the system, I needed to adapt the GitHub Pages theme, which is called Jekyll