Let's build a blog! - Part #1

Posted by : on

Category : Guide


I’ve always wanted to host a blog, but there’s been a couple things that held me back. First, I don’t really like editing & formatting article text in web-based content management systems (CMS) like Wix or SquareSpace. There’s nothing wrong with those platforms, but they’re just not for me.

Secondly, I’m wary of putting all of my content into a system that I don’t control. What if my “blog site of choice” goes out of business, are taken offline or otherwise cease to exist, taking all my precious words with them?

That’s largely my thinking on why a static web app hosted in Azure holds so much appeal to me. I remain in control of my content, including the platform it runs on (for better or worse!). Plus, I get to write my posts using the same workflow and tools that I use to write my application code: VSCode & Git!

So I was super-excited to discover that Microsoft published a how-to document on deploying a static site powered by Jekyll, hosted on an Azure Static Web App.

Tutorial: Publish a Jekyll site to Azure Static Web Apps

According to that document, I can have a blog up and running in only three easy steps:

Sounds too easy, and I already know how to do half of those things. Let’s get started!

/furrowed-brow-reading

First sub-section in: Pre-requisites. I’ve not worked with Jekyll before, so I probably need to cover this ground. The Jekyll site states Simple | Static | Blog Aware. Perfect! I stopped reading right there and jumped over to the installation page.

I predominately work on Windows, and they have an installation page for that: https://jekyllrb.com/docs/installation/windows/

While Windows is not an officially-supported platform, it can be used to run Jekyll with the proper tweaks.

Right-oh. Not officially supported on Windows - not sure I like the sound of that. But with tweaking, one can make it work? Starting to feel less keen on that approach. I’d rather be developing in something that is natively supported, so let’s back-up a step and have a look at other OS options.

  • macOs
  • Ubuntu
  • Other Linux

It’d be nice to use my Mac for this, but my partner is over there at her writing desk authoring a novel on it. Best not to interrupt her flow.

“Other Linux?”. Well that seems mildly denigrating to consider there is only “Ubuntu” and then “all other flavours of Linux”.

What about running Linux under Windows then? Windows Subsystem for Linux (WSL) does exactly that, and would give me the best of both worlds. I keep my comfortable Windows desktop yet still get to work with native-ish Linux tooling. Sorry that this year was not the year of Linux on the Desktop.

Time to read up on that: https://docs.microsoft.com/en-us/windows/wsl/install

As simple as a single Powershell command you say?

wsl --install

…and that’s it; done? I feel like it should have been harder than that, but no. I now have a new start menu item:

Windows start menu with Ubuntu for windows icon

Surely there’s more to it than that though? Digging a bit further yields a Best practices for setting up a WSL development environment. I knew it! Not done yet, and I’m all about following best practices. So let’s do it.

/some-time-later

Mid-way through that WSL setup document makes mention of setting up Windows Terminal. I’ve been meaning to install that on this new dev-box of mine, and would give me an opportunity to integrate it with my favourite console emulator: Cmder!

Windows start menu with Ubuntu for windows icon

Very nice! Now, what was I doing…? Oh yeah, setting up a blog.

/checks-watch

Well that sure was a long detour. So often these seemingly ‘simple’ tasks ballon into something far greater than what I initially set out to do. I affectionately refer to this behaviour as ‘yak-shaving’, and I’ll probably talk more in-depth about that in the future.

For now, let’s pick up this blog-site-implementation in the next post!


About Aaron White

I'm a Developer Advocate. I aim to make software development more accessible for everyone.

Star
Categories
Useful Links