This repo holds content and serving programs for the https://go.dev website.
Content is in _content/
(https://go.dev) and tour/
(https://go.dev/tour).
Server code is in cmd/
and internal/
.
To run https://go.dev server to preview local content changes, use
go run ./cmd/golangorg
The supporting programs cmd/admingolangorg
and cmd/googlegolangorg
are the servers for https://admin.golang.org and https://google.golang.org.
They do not use the _content/
directories.
Each command directory has its own README.md
explaining deployment.
This repository uses eslint to format JavaScript and TypeScript files, and stylelint to format CSS files.
See also:
It is encouraged that all JavaScript, TypeScript, and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI.
- Install docker
- Create a
.gitignore
file at repo root - Add
.gitignore
andnode_modules
to.gitignore
- Run
./npm install
./npx eslint [options] [file] [dir]
./npx stylelint [input] [options]
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.
./npx jest [TestPathPattern]
Each time a CL is reviewed and submitted, the code is deployed to App Engine. See cmd/golangorg/README.md for details.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The main issue tracker for the website repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/website:" in the subject line, so it is easy to find.