Building a Personal Blog with Hugo Static Site Generator

github repo

A personal website and blog built using the Hugo static site generator with a focus on clean design and content management. This repository leverages the Hugo Coder and Hugo Shortcodes themes to provide a customizable and efficient blogging platform.


Features

  • Static site generated with Hugo for fast, secure, and scalable deployment.
  • Supports multiple themes: Hugo Coder and Hugo Shortcodes.
  • Configured for pagination, syntax highlighting, and emoji support.
  • Social links and menu navigation configured for easy customization.
  • Includes a Python build script to automate dependency installation and site building.
  • Content organized with archetypes, taxonomies, and markdown posts.

Tech Stack

  • Hugo: Static site generator written in Go.
  • Themes: Hugo Coder and Hugo Shortcodes.
  • Languages: HTML, TOML (configuration), Markdown (content), Python (build automation).
  • Tools: Makefile commands invoked in python-build.py for cleaning and building the site.

Getting Started

Prerequisites

  • Hugo installed on your system. Visit Hugo Installation Guide.
  • Python 3 installed for running the build script.
  • Git for version control.

Installation

  1. Clone the repository:
git clone https://github.com/justin-napolitano/hugo-blog.git
cd hugo-blog
  1. Initialize and update git submodules for themes (if applicable):
git submodule update --init --recursive
  1. Install Python dependencies (if any) via the build script:
python3 python-build.py
  1. Build and serve the site locally using Hugo:
hugo server

Visit http://localhost:1313/ to view the site.

Project Structure

β”œβ”€β”€ archetypes/           # Default content templates
β”œβ”€β”€ config.toml           # Site configuration file
β”œβ”€β”€ content/              # Markdown content files
β”‚   β”œβ”€β”€ posts/            # Blog posts
β”‚   β”œβ”€β”€ about/            # About page
β”‚   β”œβ”€β”€ projects/         # Projects page
β”‚   └── contact/          # Contact page
β”œβ”€β”€ layouts/              # Custom layouts and templates
β”œβ”€β”€ public/               # Generated static site output
β”œβ”€β”€ python-build.py       # Python script for build automation
β”œβ”€β”€ resources/            # Hugo resource files
β”œβ”€β”€ static/               # Static assets like images, icons
└── themes/               # Hugo themes (hugo-coder, hugo-shortcodes)

Future Work / Roadmap

  • Enhance build automation to include deployment steps.
  • Improve content organization with more taxonomies or multilingual support.
  • Add more detailed documentation for theme customization.
  • Integrate CI/CD pipelines for automated testing and deployment.
  • Expand shortcode usage for richer content embedding.

For more information on configuring Hugo and themes, refer to the official Hugo documentation at https://gohugo.io/.


Note: Some assumptions were made regarding missing explicit project description and deployment instructions based on standard Hugo project practices.

hjkl / arrows Β· / search Β· :family Β· :tag Β· :datefrom Β· :dateto Β· ~/entries/slug Β· Ctrl+N/Ctrl+P for suggestions Β· Ctrl+C/Ctrl+G to cancel
entries 201/201 Β· entry -/-
:readyentries 201/201 Β· entry -/-