Okay, I did some other writing, so rather than take about what I accomplished coding, I'm going to give myself a concrete goal for what to work on after I publish.
So, in my design work for output, I identified a basic unit of presentation that can be applied to the task of output. There is a list of items to print, separated by newlines. If there are items in the list, then a specified header is printed, otherwise, nothing is. The whole thing is wrapped up in terminal formatting codes to change the color. For each of these sections, the code defines the header and the terminal color, and the input data is the list of items to print.
I need to figure out which parts of this to represent in Jinja, and how. I believe I already did a lot of the work, I just don't remember it super well.
Anyway, this took way too long and I'm just going to be doing some frantic sketching because it's super late.