## Go by Example

Content, toolchain, and web server for [Go by Example](

### Overview

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`.

### Building

To build the site you'll need Go and Python installed. Run:

$ go get
$ tools/build
$ open public/index.html

To build continuously in a loop:

$ tools/build-loop

### Local Deploy

To run and view the site locally:

$ mkdir -p $GOPATH/src/
$ cd $GOPATH/src/
$ git clone
$ cd gobyexample
$ go get
$ open

### Heroku Deploy

To setup the site on Heroku:

$ export DEPLOY=$USER
$ export APP=gobyexample-$USER
$ heroku create $APP -r $DEPLOY
$ heroku config:add -a $APP
$ 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 > /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

### License

This work is copyright Mark McGranaghan and licensed under a
[Creative Commons Attribution 3.0 Unported License](

The Go Gopher is copyright [Renée French]( and licensed under a
[Creative Commons Attribution 3.0 Unported License](

### Translations

Contributor translations of the Go by Example site are available in:

* [Chinese]( by [everyx](
* [Spanish]( by the [Go Mexico community](

### Thanks

Thanks to [Jeremy Ashkenas](
for [Docco](, which
inspired this project.

Imports 1 package(s)