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 included a manual theme update script (update-theme.sh) because I could not get the theme to update automatically using Git submodules when running GitHub Actions. Perhaps this will be fixed in the future.
- Automatic rebuilds using GitHub Actions.
- Simple 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 and date).content: Actual website content (posts and projects).public: Hugo-generated output website (will be built by CI/CD on push).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.7 (Sonoma)
Automated builds are performed on the latest versions of 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
-
Change into the project directory:
cd ryouze.github.io -
(Optional) Update the Gokarna theme:
./update-theme.sh
This script fetches the latest theme files using
git. -
Build the project:
hugo --gc --minify
--gccleans Hugo's resource cache so no outdated assets are published.--minifycompresses HTML/CSS/JS.
After successful build, the generated static files are written to the public directory.
To create a new post:
hugo new posts/title.mdNote
Hugo creates new content as drafts. Set draft = false before publishing so CI includes the page.
To start the Hugo server locally and view changes in real time:
hugo server -D-D serves content marked as drafts, which is handy while editing new posts.
To update the Gokarna theme:
./update-theme.shTip
Consider using imageresizer.com to convert images to WebP format for faster loading.
All contributions are welcome.
This project is licensed under the GNU GPLv3 License.