How I Built This Site

An Introduction

Posted by Guy Heckman on Sunday, March 19, 2023

This article is part of a series.

The What

This site started out a little over six years ago as a pet project for sharing some of my interests and experiences. I am no a stranger to web development having spent a large part of the 2000’s working with a Python powered content management systems (CMS) called Plone and developing/hosting WordPress sites for a few small businesses in my hometown. While I was very familiar with both, neither was what I wanted. WordPress is infamously in a constant pitched battle to keep from getting compromised and Plone, while insanely secure for a web platform (fewer than 100 CVEs in over twenty years), it is just too heavy-handed for what I wanted to do.

On a quest to find that magical sweet spot of simple and secure, led me to static site generators. Static site generators are engines which take user generated content (usually in the form of some plain text markup language like Structured Text or Markdown) and combines it with templates (themes) to control presentation. They also handle things like producing listing pages, archives, and SEO friendly sitemaps. The websites they produce are incredibly secure because it is just plain static HTML and resource files along with Javascript to lend browser side dynamic functionality where needed - no database and no server-side code execution. Another benefit for the cost conscious is they are very cheap to host.

I landed on Pelican mainly because because of my familiarity with Python if I ran into any issues and ended up hosting it on an AWS S3 bucket. I then went about launching version 1.0 of the blog with my venerable A Fine Limeade which I’ve brought forward as the Hello World post of this reboot. I quickly followed up with a post documenting how to install the then freshly open-sourced AWX (the upstream to what is now known as Ansible Automation Platform) on Red Hat/CentOS. Then the site sat…and sat…and sat.

Flash forward to me trying to breathe new life into this blog. The first order of business was to move to a static site generator with a more active user community - more active means less time sitting on an island trying to figure something out.

The Tools

The content creation tools I use - Hugo, Markdown, and Git, are all open source only requiring a computer with some command-line interface and a text editor.

The choice of AWS versus Azure or Google Cloud is mostly one of familiarity. If there is interest I will document the setup and deployment to those services in the future.

The instructions outlined in this series are for use on a Mac but would work on Linux with slight modification, I will annotate when appropriate. For Windows users, I will include links and/or videos where appropriate. My apologies, I do not use Windows outside of work.

Please a take a few minutes to watch the videos below for an introduction to the technology in play and stay tuned for the next installment where we delve into the content creation and management tools I am using.

Hugo

Markdown

Git

AWS

Simple Storage Service (S3)

Route 53

Certificate Manager

CloudFront


This article is part of a series.


comments powered by Disqus