Skip to content

ryouze/ryouze.github.io

Repository files navigation

ryouze.github.io

Deploy Hugo site to Pages

ryouze.github.io is a personal website built using Hugo.

The website is hosted on GitHub Pages and is accessible at the custom domain ryouze.net.

Motivation

I wanted a personal blog to share my programming tutorials. I chose Hugo because it allows me to write content in Markdown and generate static HTML files that can be hosted on GitHub Pages with minimal effort.

I also included a manual theme update script (update-theme.sh), because I couldn't get the theme to update automatically using git submodules when using GitHub Actions.

Features

  • Automatic rebuilds using GitHub Actions.
  • Easy content management with Markdown.

Project Structure

The project is organized as follows:

  • .github: GitHub Actions workflows (for automatic rebuilds).
  • archetypes: Templates for new posts (e.g., title, date).
  • content: Actual content of the website (posts, projects).
  • public: Hugo-generated output website (will be built on Push by CI/CD).
  • static: Static files (e.g., images, GIFs, videos).
  • themes: Theme used by the website.

Tested Systems

This project has been tested on the following systems:

  • macOS 15.3 (Sonoma)

Automated builds are performed on the latest versions of GNU/Linux.

Requirements

To build this project, you'll need:

  • Hugo

Build

Follow these steps to build the project:

  1. Clone the repository:

    git clone https://github.com/ryouze/ryouze.github.io.git
  2. Update the Gokarna theme (optional):

    cd ryouze.github.io
    chmod +x update-theme.sh
    ./update-theme.sh
  3. Build the project:

    hugo --minify

After successful build, you can access the generated static files in the public directory.

Usage

To create a new post:

hugo new posts/title.md

To start the Hugo server locally and view changes in real-time:

hugo server

To build the site and generate static files:

hugo

To update the Gokarna theme:

./update-theme.sh

Tip

Consider using imageresizer.com to turn images into WebPs. They are faster to load.

Credits

Contributing

All contributions are welcome.

License

This project is licensed under the GNU GPLv3 License.