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.
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.
- Automatic rebuilds using GitHub Actions.
- Easy content management with Markdown.
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.
This project has been tested on the following systems:
- macOS 15.3 (Sonoma)
Automated builds are performed on the latest versions of GNU/Linux.
To build this project, you'll need:
- Hugo
Follow these steps to build the project:
-
Clone the repository:
git clone https://github.com/ryouze/ryouze.github.io.git
-
Update the Gokarna theme (optional):
cd ryouze.github.io chmod +x update-theme.sh ./update-theme.sh
-
Build the project:
hugo --minify
After successful build, you can access the generated static files in the public
directory.
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.
All contributions are welcome.
This project is licensed under the GNU GPLv3 License.