It is only a matter of time before I create a static blog. If not for anything, writing in Markdown is more comfortable for a coder.
There are many static sites generator but the one I fell in love with is Hugo probably because of my bias for Go ;).
Hopefully, it will influence my blogging frequency.
Hosting on App Engine
Go is dead simple to create a file server and a line of code like this http.Handle("/", http.FileServer(http.Dir("public")))
is all you need.
To host a static site on AppEngine using Go, we need 2 files app.yaml
and main.go
.
Put this in app.yaml
.
application: staticsite
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
And this in main.go
.
package main
import "net/http"
func init() {
http.Handle("/", http.FileServer(http.Dir("public")))
}
Then let us run hugo
with the -d
flag specifying the directory to put the generated static contents.
$ hugo -d /path/to/appengine/project/public
And finally start our local appengine server.
$ goapp serve /path/to/appengine/project
Pretty cool, isn’t it.