content: rename articles to reinforce convention of short URLs

The Go blog started out on Blogger
Later, we moved to the current self-hosted blog server
with extra Go-specific functionality like playground snippets.

The old Blogger posts have very long URLs that Blogger chose
for us, such as "go-programming-language-turns-two" or
"two-go-talks-lexical-scanning-in-go-and", predating
the convention of giving posts shorter, more share-friendly,
typeable names.

The conversion of the old Blogger posts also predated
the convention of putting supporting files in a subdirectory.

The result is that although we've established new conventions,
you wouldn't know by listing the directory - the old Blogger
content presents a conflicting picture.

This commit renames the posts with very long names
to have shorter, more share-friendly names, and it moves
all supporting files to subdirectories. It also adds a README
documenting the conventions.

For example,
is now, matching our more recent birthday
post URLs, and its supporting files are moved to the new 2years/ directory.

The old URLs redirect to the new ones.

Change-Id: I9f46a790c2c8fab8459aeda73d4e3d2efc86d88f
Run-TryBot: Russ Cox <>
Reviewed-by: Andrew Bonventre <>
121 files changed
tree: 737af27f0d49318b612efec874b1d1328c699d1a
  1. content/
  2. static/
  3. support/
  4. template/
  5. .gcloudignore
  6. .gitattributes
  7. app.yaml
  8. appengine.go
  10. blog.go
  11. codereview.cfg
  14. go.mod
  15. go.sum
  17. local.go
  18. local_test.go
  21. rewrite.go

Go Blog

This repository holds the Go Blog server code and content.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Running Locally

To run the blog server locally:

go run . -reload

and then visit http://localhost:8080/ in your browser.


Articles are written in the x/tools/present format. Articles on the blog should have broad interest to the Go community, and are mainly written by Go contributors. We encourage you to share your experiences using Go on your own website, and to share them with the Go community. Hugo is a static site server written in Go that makes it easy to write and share your stories.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see

The main issue tracker for the blog is located at Prefix your issue with “x/blog:” in the subject line, so it is easy to find.


  1. To deploy, run:

    GO111MODULE=on gcloud --project=golang-org app deploy --no-promote app.yaml

    This will create a new version, which can be viewed within the golang-org GCP project.

  2. Check that the deployed version looks OK (click the version link in GCP).

  3. If all is well, click “Migrate Traffic” to move 100% of the traffic to the new version.

  4. You're done.