Content, toolchain, and web server for Go by Example.
The Go by Example site is built by extracting code &
comments from source files in examples and rendering
that data via the site templates. The programs
implementing this build process are in tools.
The build process produces a directory of static files -
public - suitable for serving by any modern HTTP server.
We include a lightweight Go server in server.go.
To build the site:
$ go get github.com/russross/blackfriday $ tools/build $ open public/index.html
To build continuously in a loop:
$ tools/build-loop$ mkdir -p $GOPATH/src/github.com/mmcgrana $ cd $GOPATH/src/github.com/mmcgrana $ git clone git@github.com:mmcgrana/gobyexample.git $ cd gobyexample $ go get $ foreman start $ foreman open
Basic setup:
$ export DEPLOY=$USER $ export APP=gobyexample-$USER $ heroku create $APP -r $DEPLOY $ heroku config:add -a $APP BUILDPACK_URL=https://github.com/mmcgrana/buildpack-go.git CANONICAL_HOST=$APP.herokuapp.com \ FORCE_HTTPS=1 \ AUTH=go:byexample $ heroku labs:enable dot-profile-d -a $APP $ git push $DEPLOY master $ heroku open -a $APP
Add a domain + SSL:
$ heroku domains:add $DOMAIN $ heroku addons:add ssl -r $DEPLOY # order ssl cert for domain $ cat > /tmp/server.key $ cat > /tmp/server.crt.orig $ curl https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem > /tmp/rapidssl_bundle.pem $ cat /tmp/server.crt.orig /tmp/rapidssl_bundle.pem > /tmp/server.crt $ heroku certs:add /tmp/server.crt /tmp/server.key -r $DEPLOY # add ALIAS record from domain to ssl endpoint dns $ heroku config:add CANONICAL_HOST=$DOMAIN -r $DEPLOY $ heroku open -r $DEPLOY
This work is copyright Mark McGranaghan and licensed under a Creative Commons Attribution 3.0 Unported License.
The Go Gopher is copyright the Go Authors and licensed under a Creative Commons Attribution 3.0 Unported License.
Thanks to Jeremy Ashkenas for Docco, which inspired this project.