In addition to Product and Leadership topics, I’ll also write about interesting tech that I’ve explored or used. This is a short post on how I have re-launched my blog using Notion. If you’re interested in doing something similar then this might be the post for you.
By no means am I, or do I intend to be, a professional blogger. I post periodically (usually in bursts) as a way to organize my own thinking and hopefully help others by sharing my experience.
So I want a relatively simple blogging tool that has a nice design, is inexpensive, and is ultimately enjoyable to use. The platform that I was previously using (Blogger) has always been clunky so when I was planning to do more writing I decided to make a switch.
I’m sure there are many platforms that fit the bill, but I have been using Notion for the last year or so to help me manage many parts of my personal life and I was curious to see whether it could also be used for my blog. What especially appeals to me about Notion is that it offers a good balance between flexibility and delivering a nice visual design for the reader. While it has limitations for many edge cases (more on that later), it provides the guardrails to ensure your pages look good without needing much fiddling. Oh, and it’s free (or at least has a freemium tier which I am using)!
If you are OK with Notion-branded URLs and don’t need any customization beyond the Notion capabilities then you’re in luck because Notion couldn’t be easier. You can simply create your page and then make it publicly shareable.
I have a custom domain that I want to use, and some small tweaks that I’d like beyond what Notion supports, so I needed another solution. There are a couple of paid products on the market for doing just this, but I came across a free open-source tool called Fruitionsite. The instructions page walks you through the setup of a free Cloudflare account to host your custom domain, customize your script, and create a worker for your Cloudflare domain.
Fruitionsite.com walkthrough
This process is explained as a pretty easy walkthrough even for non-Engineers like myself, but I did stumble a bit.
First, because the DNS changes take a while to have an effect so I did a lot of back and forth thinking that things weren’t working. In hindsight, I think if you just follow the instructions and give it a day things should work as expected.
Later, because Fruition allows you to manually add custom CSS styling and scripts to your page. I took advantage of this to make some enhancements that Notion didn’t support (e.g. hide some elements in the mobile view, reduce the size of some text, add Google Analytics tracking, etc.). But doing this requires a bit more CSS tweaking than I had experience with so I first needed to learn more about CSS before I could make the changes that I wanted.
For anyone who is interested, you can see my annotated Fruition config file on GitHub.
Publishing your email address online is problematic because it attracts a lot of spam. So for my Contact and Subscribe pages, I opted to use contact forms instead.
I found a tool called Google Forms to Notion which simply allows me to embed a Google form on my site and get the submissions in Notion. Considering Notion is fundamentally a database, this seemed appropriate.