Building a Personal Blog with Hugo and Python Automation

github repo

Personal website and blog of Justin Napolitano built using the Hugo static site generator with custom themes and content.


Features

  • Static site generated with Hugo using multiple themes (hugo-coder, hugo-shortcodes)
  • Supports rich blog content with markdown, shortcodes, and emoji
  • Pagination support for blog posts
  • Syntax highlighting with Pygments
  • Dark and light color schemes with toggle support
  • Social media and contact integration (GitHub, Twitter, LinkedIn, Calendly, CV)
  • Custom archetypes and layouts for posts
  • Automated build and deployment pipeline via Python script and Makefile

Tech Stack

  • Hugo - Static site generator
  • HTML, CSS, SCSS for styling
  • Python for build automation
  • JavaScript for theme toggling and UI enhancements

Getting Started

Prerequisites

  • Hugo installed
  • Python 3.x installed
  • make utility available

Installation & Running Locally

  1. Clone the repository
git clone https://github.com/justin-napolitano/blog.git
cd blog
  1. Install Python dependencies (if any) via requirements.txt
pip install -r requirements.txt
  1. Build the site using the Python build script or Makefile
python python-build.py
# or
make html
  1. Serve the site locally
hugo server -D

Visit http://localhost:1313 in your browser to view the site.

Project Structure

blog/
β”œβ”€β”€ archetypes/           # Hugo archetypes for content templates
β”œβ”€β”€ config.toml           # Site configuration file
β”œβ”€β”€ content/              # Markdown content for posts, pages
β”‚   β”œβ”€β”€ posts/            # Blog posts
β”‚   β”œβ”€β”€ about/            # About page
β”‚   β”œβ”€β”€ projects/         # Projects overview
β”‚   └── contact/          # Contact page
β”œβ”€β”€ layouts/              # Hugo layouts and templates
β”œβ”€β”€ public/               # Generated static site output
β”œβ”€β”€ python-build.py       # Python script to automate build and deployment
β”œβ”€β”€ resources/            # Hugo resource files
β”œβ”€β”€ static/               # Static assets like images, icons
β”œβ”€β”€ themes/               # Hugo themes used
└── README.md             # This file

Future Work / Roadmap

  • Expand automated deployment capabilities in the build pipeline
  • Enhance theme customization and accessibility features
  • Integrate additional content types and interactive elements
  • Improve documentation and developer onboarding
  • Add continuous integration and testing for build process

This README assumes the repository is actively maintained and used for personal blogging and project documentation, leveraging Hugo's static site generation capabilities combined with Python automation for builds.

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 -/-