content/static/doc: add documentation for using modules

This adds content that we can revise and enhance over time (unlike the
blog). The content has the following characteristics:

- It attempts to be task-oriented, focusing on the things users
  will likely want to do.
- It includes content for two separate sets of user tasks: those
  for developing modules and those for consuming them (managing the
- As article content, it can be updated and augmented over time based
  on feature changes and user needs.

This change includes:

- A topic that includes help for dependency management tasks
- Five topics for those intending to build and publish modules
  for others to use.
  - Developing and publishing modules (modules/ --
    An overview.
  - Module release and versioning workflow
    (modules/ -- Describes the high-level
    steps in that workflow.
  - Managing module source (modules/ --
    Conventions and recommendations for sourcing modules to
  - Developing a major version update (modules/ --
    Specifics about source for a major version update.
  - Publishing a module (modules/ -- Steps to
    publish a module.

- A topic on module version numbering (modules/
- A topic with quick-reference information on the contents of a
  go.mod file (modules/
- Supporting images.
- Changes to the main docs page to reflect the additions (docs.html).
- A new modules/ folder for content files. As we add more content,
  a second level of folders will help the doc set scale while
  helping SEO.
- CSS changes to improve tables in docs and keep param lists
  (in the go.mod reference) from extending rightward past the rest
  of the content.

**Note about changes to docs.html** I essentially rearranged the
page to make it better suited to accept links for additional
planned documentation. These changes are intended to make it
clearer where the content is coming from while creating a space
for content that will be added later.

Change-Id: I0aa7a3c67e0b03a81cd4963e766b5dc7b27d85b2
Run-TryBot: Steve Traut <>
TryBot-Result: Go Bot <>
Reviewed-by: Dmitri Shuralyov <>
Trust: Steve Traut <>
Trust: Dmitri Shuralyov <>
18 files changed
tree: f7f6d55071cfba3ad05e499b30cecd6264642fdf
  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

Go Reference

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.