Clone this repo:
  1. dcde8e0 _content/doc: differentiate between all package tests and all.bash by Sean Liao · 20 hours ago master
  2. 2cd9967 _content/doc/contribute: add go wiki link for sending minor release by xieyuschen · 12 days ago
  3. 96ece7f _content/doc: specify component of referenced website where text appears. by Adam Bender · 11 days ago
  4. 49df0bb cmd/golangorg/testdatascreentest: fix learn test by Jonathan Amsterdam · 8 days ago
  5. 02012f5 cmd/screentest: fix double-close bug by Jonathan Amsterdam · 11 days ago

Go website

Go Reference

This repo holds content and serving programs for the go.dev and golang.org web sites.

Content is in _content/ (go.dev) and tour/ (go.dev/tour). Server code is in cmd/ and internal/.

To run the combined go.dev+golang.org server to preview local content changes, use:

go run ./cmd/golangorg

The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for admin.golang.org and google.golang.org. (They do not use the _content/ directories.)

Each command directory has its own README.md explaining deployment.

JS/TS/CSS Formatting

This repository uses eslint to format JS and TS files, and stylelint to format CSS files.

See also:

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

Installing npm Dependencies:

  1. Install docker
  2. Create a .gitignore file at repo root
  3. Add .gitignore and node_modules to .gitignore
  4. Run ./npm install

Run ESlint

./npx eslint [options] [file] [dir]

Run Stylelint

./npx stylelint [input] [options]

TypeScript Support

TypeScript files served from _content are transformed into JavaScript. Reference .ts files in html templates as module code.

<script type="module" src="/ts/filename.ts">

Write unit tests for TypeScript code using the jest testing framework.

Run Jest

./npx jest [TestPathPattern]

Deploying

Each time a CL is reviewed and submitted, the code is deployed to App Engine. See cmd/golangorg/README.md for details.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The git repository is https://go.googlesource.com/website.

The main issue tracker for the website repository is located at https://go.dev/issues. Prefix your issue with “x/website:” in the subject line, so it is easy to find.