In this blog post I will explain why I rebuilt lucas.love and how I tried to improve it.
I haven't published anything to my blog since almost a year. Before I was publishing multiple blog posts every month, but then I decided to drop the Ghost backend because I did not want to have my blog's contents inside a database. While this sounded like a nice idea it increased the friction to publish anything new to my blog, which eventually led me to never publish anything again. The problem was, that for every update I wanted to make on the site I had to boot up my development environment, make changes and then commit to git. It was just no fun to use anymore.
I decided that I want to use markdown as markup language as it restricts me, but not too much. It also makes it very easy to just throw some images into blog posts. I set it up in a way where I can link images using a relative path like
image.png and the image will automatically get rendered. This makes writing new blog posts a delight.
As content management system I wanted something really simple. Something I can use to compose new blog posts even when I am offline. I got inspired by blot.im and the idea to use Dropbox (or a similar cloud service) and plain text files as CMS. Usually I am not a big friend of using third-party cloud services but in this case it would only store files that are public anyway, so I don't mind.
I like this solution because now I can make quick changes and adjustments to contents in a local folder, that is easy to backup. I especially like the longevity aspect of using a folder of just images and markdown files as CMS. I will still be able to view the contents of this folder long after my website is gone because this approach does not make me dependent on any third party tool. Even if Dropbox ceases to exist I still have all of my data and can find an easy alternative.
This approach also allows me to use iA Writer on my iPad while I am offline or not at my desk. Once I am online again I just have to let Dropbox sync and trigger a new deploy on Vercel.
The website itself is built with Nuxt and the
@nuxt/content module. During build time I download the content folder from my Dropbox via a public share link and unzip its contents into the content folder of the Nuxt project. In the next step Nuxt generates a static version of my website and Vercel will deploy it to lucas.love
To trigger a new deploy after I change some files in my Dropbox I use a simple Apple shortcut to make that process easier.
In addition to the CMS changes I wanted to make some improvements to the design. I want to add more different kinds of contents like a knowledge base and recipes later. I knew that I had to improve the navigation because some users did not know how to go back to the index page to select another blog post or another project. So I thought it would be neat to have the navigation always present on the left. Additionally I recently saw a website that used a 3 column layout, which I liked. I am using this for the blog section of the site.
Additionally I tweaked the typography and chose a new primary color and made the decision to make English the primary language instead of German.
I document the progress of working on this website on Futureland.