0597db8f98
These anchor links allow users to copy the links for jumping tos the specific sections easily. We use javascript to add these links to handle both .html and .md file format contents. If we had only markdown-based contents, we could've adjusted the markdown-to-html renderer instead of relying on javascript. Alternatively, we can try to rewrite the html in a later pass, but html dom query and rewrite is simpler in JS. In order to minimize styling changes in the header text, we set up the anchor on ¶ symbol that appears only on hover. This is similar to how pkg.go.dev handles header anchor links. Adjust the code for TOC generation (in godocs.js), since now the heading elements include ¶, we want to drop it but use the first part of the heading elements when compiling TOC. Fixes golang/go#68596 Change-Id: Idfe4734c54c636e426b579fdcd697156e87b5747 Reviewed-on: https://go-review.googlesource.com/c/website/+/601055 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> |
||
---|---|---|
_content | ||
_later/security | ||
cmd | ||
internal | ||
tour | ||
.eslintrc.yaml | ||
.gitattributes | ||
.prettierrc.yaml | ||
.stylelintrc.yaml | ||
CONTRIBUTING.md | ||
LICENSE | ||
PATENTS | ||
README.md | ||
codereview.cfg | ||
content.go | ||
content_test.go | ||
go-app-deploy.sh | ||
go.mod | ||
go.sum | ||
jest-transform.cjs | ||
npm | ||
npx | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
Go website
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:
- Install docker
- Create a .gitignore file at repo root
- Add .gitignore and node_modules to .gitignore
- 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 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.