How this site was made
I’m not very experianced web developer, so process of making this website was a bit frustrating. Actually, deployment was the most annoying part. Lets start with Hugo.
Hugo is a static site generator written in Go programming language. Hugo is still in early stages, but it has good documentation and active community. Check Hugo quickstart for a short guide how to create your first website in few minutes.
This page is hosted on github pages, as user page. Github pages quick guide.
- Don’t forget to remove the hidden
.gitfolder from cloned theme, as it will cause the theme to be not available in
rm -rf themes/herring-cove/.git
- User/organization github site is located in
masterbranch of your repo, not
gh-pageslike project sites. This means that you should put your source files in different branch, I’ve done it in
sourcebranch. Master branch should be empty now, it will be overriden anyway.
git checkout --orphan source git add . git commit -m "Added site sources" git push -u origin source
- Below is my wercker.yml files. I use
golangbox to save few seconds on build time. Pygments are disabled to save time as well, theme I’m using has
highlight.jsbuilt-in. The theme has a
-cleansuffix, as I forgot to remove
.gitfrom it first time. I’m using different
gh-pagesscript, as I had trouble with the one linked in official guide with user page.
box: golang:1.5.1 build: steps: - arjen/hugo-build: version: "0.15" theme: "ghostwriter-clean" disable_pygments: true deploy: steps: - install-packages: packages: git ssh-client - firstname.lastname@example.org: token: $GIT_TOKEN domain: piotrjastrzebski.io path: public/
on wercker site, in application settings -> options -> ignored branches add
in application settings -> targets -> your deploy target, change
masterto your custom branch,
sourcein this example
Last piece of the puzzle, is custom domain support, if you need it. From source side, setting your domain in
wercker.yml is all that is required.
- email@example.com: token: $GIT_TOKEN domain: your-domain-here path: public/
The hard part is, wrestling with your domain registrar to setup dns correctly. Here are the settings I’ve used:
Read more in github pages documentation
Current source for this website is available here.