Evolution of posts

I'm starting to see that there are going to be many different kinds of blog posts.

I will have files that I create and push to the repository that are just the initial nucleation sites for eventual posts that I would actually want to publish. This means I need to have a flag/mechanism for controlling publish visibility of a given file. The convention I will use for this for now is to name unpublished files .draft.md.

Actually, there are a lot of details and nuances related to files.

In light of those considerations, the conclusion for now is that I might want a relief valve feature to let me override git based metadata with explicitly specified metadata. I may well need to establish a convention around this but for now i might be able to embed it into the name of the files. But I still haven't decided on how I would establish titles for pages. I can't just have blog post pages without titles! Cart has gone well in front of the horse here...

Many choices.

Sometimes things like this could be implemented together and work together, giving more choices, and are a net win unless they start to interfere in confusing ways.

Dialects.

I also realized that I would want to at minimum be able to write markdown in two markdown dialects:

  1. Markdeep (many possible links, but this one is cool)
  2. Some reasonable markdown flavor that employs good code highlighting, extended with ability to insert mermaid diagrams

I am definitely still holding out hope that I can discover some simple fork out there that has been able to graft mermaid into markdeep, but in the absence of such and assuming I won't attempt to do that myself (it would be fun but a poor way to dedicate my free time) I will need to establish a way to specify which dialect of markdown I want to choose to use for a given post. One day it will bite me, but for now I am very willing to accept having to choose one or the other for a given post.

There is also a third option,

  1. plain html

... so that I can build pages of arbitrary complexity.

At least this last degree of freedom can be nailed down pretty cleanly based on the file extension: .md.html files will be markdeep, .md files will be regular markdown (I'll figure out mermaid integration later...), and plain old .html will be html. It may be worth exploring shoehorning things I would normally make an HTML file for into markdown documents and see how that goes. Probably won't even encounter many issues with that, as any decent markdown renderer preserves the ability to insert html tags inside, which largely do not interfere with the markdown rendering.