cmd/pkgsite: hide irrelevant content in local mode; add quick links

This CL contains several UI improvements when running pkgsite in local
mode via cmd/pkgsite:
- hide irrelevant or inaccurate content
- fix a bug using -gopath_mode (trim the `go env GOPATH` output)
- fix panics navigating to vuln pages
- link the GO button to the root page, rather than
- add quick-links to the homepage to browse local modules

- add -dev and -static flags, to facilitate development
- replace TestBuildGetters with more cases in TestServer
- fix some redundancy in setting the <title> element for pages;
  consolidate on using the basePage.HTMLTitle value

Updates golang/go#40371

Change-Id: I459a0d0fd39897dd4f902dd023aec653a3fb12cd
TryBot-Result: kokoro <>
Reviewed-by: Jamal Carvalho <>
Run-TryBot: Robert Findley <>
35 files changed
tree: 188ae46220427e167780fea9e8eb64f47199d50e
  1. cmd/
  2. deploy/
  3. devtools/
  4. doc/
  5. internal/
  6. migrations/
  7. static/
  8. tests/
  9. third_party/
  10. .dockerignore
  11. .eslintignore
  12. .eslintrc.yaml
  13. .gitignore
  14. .prettierignore
  15. .prettierrc.yaml
  16. .stylelintignore
  17. .stylelintrc.yaml
  18. all.bash
  20. go.mod
  21. go.sum
  22. jest.config.js
  24. package-lock.json
  25. package.json
  28. tsconfig.json

Go Reference

A site for discovering Go packages is a website for discovering and evaluating Go packages and modules.

You can check it out at


Pkgsite requires Go 1.19 to run. The last commit that works with Go 1.18 is 9ffe8b928e4fbd3ff7dcf984254629a47f8b6e63. The last commit that works with Go 1.17 is 4d836c6a652cde92f433967680dfd6171a91ec12.


If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.

For answers to frequently asked questions, see

You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.


We would love your help!

Our canonical Git repository is located at There is a mirror of the repository at

To contribute, please read our contributing guide.


Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.