2023-09-11
I'm a big fan of Obsidian.md. I have been managing my notes there for a good couple of years now, and when I started my blog, I knew this would be my editing tool of choice for the following reasons:
My blog is hosted on Vercel and backed by persistent Redis, but I haven't found a straightforward way to integrate my favorite tools together, it's time to reinvent the wheel.
My publications, along with media, are living in the 'posts' folder, following the naming convention: yyyy-mm-dd-title.md
. On the other hand, my blog retrieves the list of articles from an index record inside the database; it's just a list of posts along with metadata. One interesting field is checksum
, which I use to determine if the post has been edited. To keep my posts in sync with the database, I created a script that does the following:
The key of the actual post is its name, so I don't need the index for directly accessing a particular publication. All images are embedded into a post as base64. This approach does the job for my small website, but storing images on a CDN would be more preferable.
My vault is stored on GitHub, and the script is deployed as an Action. I do have git integration plugin installed for the Vault, so publishing the post is basically a commit.
While it's not an ideal solution, it does the thing for me, allowing to use tools I love and making the process a bit more enjoyable.