Lectures for "Dynamic Site Generation with Markdown & Django"

Introduction, Course Overview, Schedule, and Expectations

Tuesday, June 23, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

Introduction and welcome to the course. We go over the course schedule and objectives. We also discuss who this course is best suited for, what you should be comfortable or at least familiar with at the beginning of the course, what topics we will cover, and what I hope you come away with. It should be an exciting course!

Setting up your Development Environment

Thursday, June 25, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture goes over installation and setuop of the tools you will use in the course, including * Windows Subsystem for Linux (WSL2) * git * VSCode * other software prerequisites

Blank Slate: Creating an Empty Django Project and App

Tuesday, June 30, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture covers the steps required to create a Minimum Viable Prototype (MVP) of a Django project and application from a blank folder through a website published locally on your computer.

Adding Posts and Tags to your Blog Structure

Tuesday, July 07, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

In this lecture we add the structure to our site to display and work with two new data-types: posts and tags. We go through the changes required in each file. We also add some helper functions to make managing your site easier. Finally we test our work by creating posts and tags to see how it displays.

Adding Markdown Rendering Functionality to our Posts

Thursday, July 09, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture summarizes the functional changes required to move from html-based posts to markdown based posts, along with an introduction of why, what other packages are needed, and some of the work that is done for you by using Python's markdown renderer. We test by updating our post content and showing how writing is simplified by using markdown

Navigation Upgrades

Tuesday, July 14, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture discusses why you might want to mimic your markdown project folder's file structure in the navigation of your site, and how to achieve this in Django.

Importing Markdown Content

Thursday, July 16, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture discusses how to create a script to import your markdown content automatically from an external file folder. This allows you to regenerate your website automatically from scratch whenever your source folder changes.

Handling Static Files

Tuesday, July 21, 2026, 4 p.m. (America/Los_Angeles)
Status: Released
Paywall: Free

This lecture discusses an important feature of Django -- the separation between dynamic, database-driven content such as your blog text -- and the static files your pages might refer to -- images, video, or data -- that change far less often. I explain how to set it up so that you can continue to use your original markdown source the way you wrote it without compromising the structure of your source repository.