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/
- Follow steps on Github Pages setup guide
- 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
- You will need to force create since this folder should exist locally already
- Clone hugo-coder and use that as your theme. Follow these instructions
- Edit
hugo.yaml
orhugo.toml
with the necessaryhugo-coder
theme configs - Create a new post
hugo new content posts/post_1.md
- Follow the tutorial on hugo’s github actions workflow deployment
- Commit code to source control
- 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 ?