Dynamic Site Generation with Markdown & Django

Start Date: June 23, 2026
Status: Running

This course teaches you the essentials of making your first Django-powered blog. Drawing on inspiration from static site generators and the markdown standard, we add capabilities only possible from an active server to help you build your next markdown-powered super-site.

Topics include:

  • The basics of Django -- models, views, templates, url mappings, and everything else you need to configure a basic blog.
  • CSS, theming, and external css/javascript libraries essential for creating a changeable website theme
  • Additional functionality useful for any site: tags, breadcrumbs, pagination, and search
  • Creating an import script to update your blog externally
  • How to use your existing folder structure to define your new website's navigation
  • Common approaches for running your site locally on your development computer and remotely on a server.

Prerequisites: Familiarity with Python is preferred but not required. I will point you to external Python resources if you need to catch up.

Note: To get the most out of this course, I recommend paying for an external server to host your site. This is not required but is essential if you want to deploy your new site to the internet with a domain name

Lectures

Upcoming:

  1. 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.

  2. Importing Markdown Content

    Thursday, July 16, 2026, 4 p.m. (America/Los_Angeles)
    Status: Not 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.

Course created by:

  • Daniel Aukes (danaukes@danaukes.com)

Instructors:

  • Daniel Aukes (danaukes@danaukes.com)