Problem Statement Link to heading

Early this year, I aimed to build a website to share content to better my technical writing. Even though a website is a solid idea, hosting costs money. You can reach a targeted audience via social media, but ownership and migrating content are hassles because that data is to stay on the platform. I am looking to create a simple website where I can quickly blog, pay pennies to host, and retain ownership

Motivation Link to heading

Given that cost and ownership are my requirements, I tried various tools like VueJs and React, but these frameworks have a learning curve that will require time to learn. My use case is simple, and the time and effort I put into learning this framework weren’t worth it at this time. That is how I stumbled up Hugo and Github Pages to help me solve my issue.

Hugo is a static site generator built in Go that allows users to create a website using free templates

Github Pages is a website that you can host from a public GitHub repository

With Hugo, I can use publicly available themes and markdowns to write technical blog posts. GitHub Pages will be what will host my website from a GitHub repository. Public GitHub Actions Runner and Workflows can handle deployment to deploy to production.

Steps Link to heading

Here are the steps I took to setup https://darrylbalderas.github.io/

  1. Follow steps on Github Pages setup guide
  2. Follow steps on Hugo’s quick start guide I was able to create a simple page
    • You will need to force create since this folder should exist locally already hugo new site darrylbalderas.github.io --force
  3. Clone hugo-coder and use that as your theme. Follow these instructions
  4. Edit hugo.yaml or hugo.toml with the necessary hugo-coder theme configs
  5. Create a new post hugo new content posts/post_1.md
  6. Follow the tutorial on hugo’s github actions workflow deployment
  7. Commit code to source control
  8. Let Github Actions deploy your website

Learnings Link to heading

These are the follow questions that I answered for myself by creating a website with hugo and github pages;

  • What are static site generators ?
  • What are github actions ?
  • What is source control ?
  • What are github runners ?