I am closely watching this PR for Mermaid. Mermaid has several useful diagrams that are purpose built for defining with text. Unlike Markdeep, mermaid diagrams look more like graphviz definitions, they are visual but do not take an ASCII art approach. This makes them much more amenable to certain use cases including debug diagram generation from programs. That's an example of something I often find can unlock huge value.
It may not seem like it, but the last time I made a Mermaid diagram I was building a sequence diagram, and when I wanted to incorporate examples of the json payload communications involved in some RESTful APIs I found it very limiting to only be able to write plain strings. Not any showstopper, but it will be a lot more awesome if Mermaid could gain markdown ability in labels and blocks for sure. I worry that this PR will get dropped but if it means that they will eventually work out a way to add markdown capability to even more things, then I will be very happy.
Between being able to make diagrams in completely text file native ways with Mermaid and Markdeep, I think I will be quite well served with this capable of a platform. To have things like MathJax is going quite above and beyond for me and is going to leave tons of room for growth.
Embedding images and video is clearly going to be an important capability and I will want to address this sooner rather than later, now that I have a lot of clarity at least around planning for next steps on markdown-related rendering needs.
As I reviewed earlier, I will likely need to create some sort of image management system. I believe at this point still that it shouldn't be difficult to make a scheme that just uses one cleverly placed symlink to allow just about as straightforward a flow as using Git LFS while freeing me almost entirely from worrying about space consumption.
On one hand it will be good to get image previewing ability right there inline with my editor, but since I'm not really set up for that (i use alacritty still but also use neovide these days) I can address the image viewing while authoring workflow concern with the section below for live updating the rendered markdown and integrating it with my build script.
At that point then all I need is a good UX for taking an image from somewhere and insert/embedding it into markdown at the cursor location. I reckon I will want two ways to do this, one for authoring posts from a device like my phone, which is very TBD at the moment, and another, the main workflow, where I pick a file on the macbook and trigger either some finder or hammerspoon automation that can prompt me for a name to assign (perhaps i don't even need that, i can see myself dismissing such a prompt 95% of the time actually) and do the two main steps of:
I already have over 100 photos i took of my most recent PC build that I was always meaning to make a post for. I also always felt like I put so much effort into that endeavor that an imgur album drop doesn't do it justice. I know I would enjoy writing a nice collection of 30+ paragraphs alongside these photos, so it's a perfect motivator for me to bring this blog back like I'm finally doing now and implementing a good workflow for embedding images into a post. If I have that it will become so much easier for me to showcase whatever it is I might want to do, in work or leisure. I do expect writing regularly about what I get up to to be a healthy way to share and be social. It is a creative outlet also, and will definitely move the needle on getting me to be a better communicator.
Speaking of which, this is sort of a place that I can dump a lot of hopes and dreams about how I might be able to blaze out a new kind of path in my corner of the internet, by which I mean, I hope with this I can create a slightly different kind of website than most folks will have encountered. I have less than zero interest these days in participating in the roaring dumpster fires that are modern day social media. One might even be able to suggest that if I (as I plan to do) set up Giscus on my blog that it will make it effectively into a form of social media, now I don't mind that -- it's not the social aspect of modern-day Social Media that I abhor, it's the scale of it that has unearthed a lot of horrors and dark patterns in the social interactions there that have corrupted it and stripped it bare of the charm of the early internet. By retaining full authoritarian control over my content and platform (including user generated comments...) I can make this project an homage to the optimism we had in those glory days. Back then we got more of the benefits of anonymity, now a lot more of the drawbacks and dark patterns have been found and optimized.
Speaking of dev workflow, one vim plugin that I have continued to drive at times for markdown editing is markdown-preview. This is good but is not perfect with markdeep. indeed the render-markdown plugin (which helps make markdown more reasable in-buffer in neovim) also has some failures with markdeep. Neither are showstoppers.
The main innovation I want to drive in this area, though, is an ad-hoc replication of markdown-preview but integrated with the blog. this is going to be a really fun mini project to integrate into my automated build script. I will want to plumb in some calculation of cursor position and open file in neovim and communicate that through a mini webserver hosting a websocket to wire up to frontend code that will be elided in the public website. That frontend code would be able to take this metadata to autonavigate around my output webpages automatically. It really should be a super stretch goal because going around and editing a whole bunch of different blog files is not the intended workflow. I really should encourage myself to try to write something presentable in a small number of passes, I think that will help me become a better writer.
But I will probably build that, because it would be damn cool, and I already know that I'm going to do a LOT of hopping around markdown post files making small edits. It would be really nice.
I do also potentially see this platform as something that if I play my cards right could become a much bigger thing than just my blog site. I feel like it can be some viable alternative to something like obsidian or confluence, even wiki systems. There is a chance, however slim, that my focus on performance and my other design parameters may make it uniquely suitable for certain use cases.