Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
34 lines (23 sloc) 1.86 KB

Stoeffn

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 :)

Stack

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.

Getting Started

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!

Type hugo server to start a local development server at http://localhost:1313.

Deployment

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. v1.0-beta) and Description is an optional changelog or summary.

Here is how it works:

  1. Make sure there is a version name argument
  2. Check if a version with that name has already been deployed
  3. Invoke hugo to build the site
  4. Commit the generated changes to the public submodule and set a tag with the given version name and description
  5. Push the public submodule along with new tags
  6. Commit the new public submodule hash and set a tag with the given version name and description
  7. Push along with new tags
You can’t perform that action at this time.