For now, I am the publishing mechanism
I’m loathe to save text in my static site generator source directory, because I know it’s possible to publish straight out of my corpus of notes. I’ve been bitten before, when keeping writings in two places, by forgetting what is where.
But this reluctance is keeping me from publishing at all. So I need a lower-tech way of making it unambiguous and straightforward what the relationship is between notes and published blog posts:
- what has been published
- which notes are related to published articles
- a list of changes–what has been added, edited, or deleted.
Can I envision how it would look if this was all really by hand? The final step is an abstracted ‘publish’ step which could be:
a) drop off a letter in the mailbox, or hand it in at the News desk by Friday four o’clock
b) the whole process of typing the final text in the SSG source. Imagine myself hiring someone else to do that. No edits possible anymore!
Here’s what I’ve come up with. It foreshadows how I envision a computer-assisted version of this process will work in the future, but I feel like it’s workable in fully manual mode too.
- Write text in nodes with unique IDs. Nodes are ‘blocks of meaning’, usually one or two paragraphs.
- revise nodes by rewriting them in new nodes with new IDs, tracking the relationships by linking.
- create outlines of articles, which are lists of nodes in order, refereced by IDs.
- Outlines can also be edited, by creating a new version and linking between the two. Think: adding new nodes, or reordering them.
- Once the outline contains a list of nodes that are all worded the way I want, record a publish directive referencing the final outline’s ID. Then the ‘publish’ procedure gets invoked. Right now, that means typing this up in a new Markdown file in my SSG’s source directory, with the outline’s ID in a frontmatter field. In the future, this publish directive would get picked up by a script that would select the referenced nodes and send them to the SSG for processing.
That’s the idea in a nutshell. The next step is to test how it works to revise by running this post’s outline and notes through the process a second time for some necessary edits. Since this was my first time doing this, I got a bit overwhelmed and didn’t include all the sidenotes that provide some needed context. For example–that I really am doing this entirely on paper except for the final step.