Content and build toolchain for Go by Example, a site that teaches Go via annotated example programs.
The Go by Example site is built by extracting code and
comments from source files in examples
and rendering
them via the templates
into a static public
directory. The programs implementing this build process
are in tools
, along with dependencies specified in
the go.mod
file.
The built public
directory can be served by any
static content system. The production site uses S3 and
CloudFront, for example.
To build the site you'll need Go installed. Run:
$ tools/build
To build continuously in a loop:
$ tools/build-loop
To see the site locally:
$ tools/serve
and open http://127.0.0.1:8000/
in your browser.
To upload the site:
$ gem install aws-sdk
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ tools/upload
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.
Contributor translations of the Go by Example site are available in:
- Chinese by gobyexample-cn
- Czech by martinkunc
- French by keirua
- Italian by the Go Italian community
- Japanese by spinute
- Korean by mingrammer
- Russian by badkaktus
- Spanish by the Go Mexico community
- Ukrainian by butuzov
Thanks to Jeremy Ashkenas for Docco, which inspired this project.