Welcome! This is the source code for my personal website, which is a work-in-progress blog and projects hub. Feel free to explore and use parts for your own work :)
As personal websites are almost never dynamic in a way that requires server-side code, I've decided to Go Hugo. Hugo is popular static site generator that strives for simplicity and performance. It offers powerful templating as well as easy content management with a simple format loved by many developers: Markdown.
The generated source code at
public lives in its own repository and its contents are hosted by GitHub Pages, making it easy to manage.
As a final layer, I use Cloudflare for DNS management, caching, and SSL encryption.
Want to fiddle around a little bit? Sure! Take a look at the Hugo Quick Start Guide, install it and you are ready to go!
hugo serverto start a local development server at http://localhost:1313.
In order to automate deployment, I've created a simple shell script
./deploy.sh. In a matter of seconds, a new version of the website can be deployed by typing one command:
./deploy <Version> <Description>
Version is a simple version name (e.g.
Description is an optional changelog or summary.
Here is how it works:
- Make sure there is a version name argument
- Check if a version with that name has already been deployed
hugoto build the site
- Commit the generated changes to the
publicsubmodule and set a tag with the given version name and description
- Push the public submodule along with new tags
- Commit the new
publicsubmodule hash and set a tag with the given version name and description
- Push along with new tags