content/static/doc: improve getting started docs with install topic and tutorials

The existing install topic includes content that is likely not needed by
most new users, including system requirements, content on installing
multiple versions, and so on. This change separates the most common install
case content into its own topic and moves some of the less commonly used
content into a separate topic.

This change also includes an introductory tutorial that might be useful for
new users, particularly those coming from a different language. A second
multi-part tutorial continues the introduction with fundamental programming
topics connected by a narrative thread and featuring links to other related
parts of the docs.

This change includes:

- A simpler "Download and install" topic that replaces Getting started.
Topic is designed to help users focus on what they need for a given OS.
- A new "Managing Go installations" topic that holds content about
installing that is likely not in the most common workflow (including
uninstall, multiple versions).
- A minor change that adds a link to the install-source topic.
- A single-page Hello World tutorial.
- A multi-part tutorial that introduces fundamental programming concepts
from a Go perspective (functions, loops, errors, slices, maps, and so on).
- An index file that lists the tutorials.
- CSS to style "Note" sections, tabbed sections, table, and highlighted
- A JavaScript file with code for the install page.

This change also creates on golang/website a version of install.html and
install-source.html, which would be deleted from the golang/go repository
(effectively moving the files).

For golang/go#40496

Change-Id: I2af6f5fbbcfcf887c8698919666155cc40ce0d03
Reviewed-by: Russ Cox <>
Reviewed-by: Andrew Bonventre <>
19 files changed
tree: c09653aece17ec69a0297ac1b58163f68d636f9a
  1. .prettierrc
  8. cmd/
  9. codereview.cfg
  10. content/
  11. favicon.ico
  12. go.mod
  13. go.sum
  14. internal/
  15. robots.txt

Go website

This repository holds the Go website server code and content.

Checkout and Run

To download and run the web server locally:

  • git clone
  • cd website
  • go run ./cmd/golangorg
  • Open http://localhost:6060/ in your browser.

See cmd/golangorg/ for more details.

Changing Content

To make basic changes to the website content:

  • Make the changes you want in the content/static directory.
  • Stop any running go run ./cmd/golangorg.
  • go generate ./content/static
  • go run ./cmd/golangorg
  • Open http://localhost:6060/ in your browser.

See content/ for more sophisticated instructions.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

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 website repository is located at Prefix your issue with “x/website:” in the subject line, so it is easy to find.