Migrating a home wiki from Docusaurus to mdbook

Migrating a home wiki from Docusaurus to mdbook
Photo by Carter Yocham / Unsplash

For a very long time, I used Google Sheets for everything. Storing reminders, items to purchase, comparing lawn mowers and most importantly, a step-by-step list for house maintenance (e.g how to replace kitchen filters, or oil the deck). This became known as my 'home wiki'.

My proudest analysis

Initially, this did the job. Conditional formatting and quick cell editing were all needed. However as time increased, so did the amount of tabs in this sheet. I was losing track of all the content and it wasn't the most visual friendly option to share around.

From here, I decided to modernize my approach and use a static site generator, Docusaurus. I have read many products using such generators and wanted to join in on the fun. I wanted to have features such as search, colourful UI, and most importantly, to feel like a wiki. To quote https://docusaurus.io/docs themselves:

💡
Docusaurus is a static-site generator. It builds a single-page application with fast client-side navigation, leveraging the full power of React to make your site interactive. It provides out-of-the-box documentation features but can be used to create any kind of site (personal website, product, blog, marketing landing pages, etc).

Sounds amazing! All I needed to focus on was creating content within markdown files (e.g. bbq.md) and configure page navigation. This worked out well for me, a time-poor engineer who wants to quickly bring ideas to life. Here is what I came up with:

Landing page

Hmm not bad, clean and simple. Though I did have to source the icons ... Now let's check out a topic, say "Toilet":

The loo

Nice. Clean and simple. There's not much else to it though. I did have to find icons, which wasted time and I wasn't happy with the search functionality. Something about docusaurus versions and compatibility issues. All in all, it was good, but it could have been better.

Thankfully, a savior arrived:

Introduction - mdBook Documentation
Create book from markdown files. Like Gitbook but implemented in Rust

brew install rustup && brew install mdbook

Now this is more like it. More of the 'manual' look and feel, but with a bunch of built-in features available from the get-go. Using mdbook was a breeze, I pretty much knocked it out in a <1 hour and better yet, I didn't even have to re-create my content. I recycled by moving all the existing docusaurus markdown files into a new directory ./my-first-book/src and that's all. Amazing!

Simply drag+drop folders to new directory.

Now running mdbook serve starts a local server and here we are, perfection.

Here are the features available from start:

  • page navigation with side arrows
  • 5 built-in themes
  • built-in search, with partial + full matching, keyword matching and results preview
  • show/hide navigation shortcut

Now that is what I call a successful upgrade 🤌👌

mobile portrait view

Wrapping up, that's all I have for today. This was a nice, little win that will go a long way to making home maintenance that little bit easier and increase accessibility. I'll keep an eye out on mdbook features that could prove useful to me (maybe reminders?) in the future.