Building My Digital Garden
#digitalGarden #meta
This post is a long time coming! I have been wanting to start a blog for ages. I guess that’s sort of a lie. I have blogged before about traveling. But that was not very serious and I certainly knew nothing of web development then. Not to say you need to, but I am building what I hope is more than a blog, but a new way for me to speak my mind and share it with the web.
The Pieces
This post was written in Obsidian.md, a sweet markdown editor, note organizer and “second brain” with a JavaScript based plugin system. I built a plugin that talks to an express.js server. The plugin will sync all the markdown files with a SQLite database on the server. The server also includes a route that will return all nodes (as they are called when they are in a vault) with frontmatter published: true
or the published hashtag.
The Hosting
If you’re reading this (thanks so much!), it’s probably on cobysher.dev which is build with SvelteKit. The +layout.server.js
functionality allows me to fetch posts, like the one you are reading right now, from my Obsidian Nodejs Sync server and compile the markdown with mdsvex. Currently the posts are fetchable without auth, but the server allows for secrets so auth is possible if needed.
The frontend is hosted on vercel.com, and the sync server is on render.com. I have been having a few strange issues with render, but it’s mostly ok. I would like to look in to hosting my sync server at home and set up some aggressive caching to prevent issues from potential downtime.
The Result
You’re looking at it! I was able to write this post on Obsidian, sync to the server using my plugin and because it has the published hashtag, you’re seeing it on cobysher.dev
Going Forward
I would like to add a lot more features like media support, and maybe using a more robust database (although I gotta say SQLite is really cool). I am wondering if tRPC
is worth trying out for this project or I’m caught in the hype. I found this to be a fun project to work on and build something I can actually use, which is really all I wanted. I am planning on making the repo public so others can use it. I don’t think I’m going to officially publish the plugin in the community plugins list because to my knowledge, it needs to work with mobile and I haven’t tested that. Plus, the plugin by itself doesn’t do anything so I’m not sure if they want something like that in the list. It’s not a huge deal though; you can fork, star, and clone the repo and follow the readme to get started.
Other things I would like to include in the plugin are some ways to write components in my markdown files and talk to ActivityPub and or RSS. Media support on the server would be cool too!
Thanks so much for reading. Check the contact page for my Mastodon if you’d like to say hi!
Last updated: