internal/godoc: simplify, isolate pkg docs tree code

- IsGOROOT is always true (the only docs we serve)
- SummarizePackage is unused
- newDirectory is only called on the root with unlimited depth
- Name is redundant with Path
- Directory.Depth is unused
- only DirEntry is assigned to dirEntryOrFileInfo
- parallel walk is only needed for huge trees (GOROOT is not)
- separate entirely from Corpus
- pull new DocTree out of handlerServer

This will let us better separate the package doc tree from HTTP service
and from the general document server.

Change-Id: Iac667a0ff624306cdd535a33dd22dcb04062b46c
Trust: Russ Cox <>
Run-TryBot: Russ Cox <>
TryBot-Result: Go Bot <>
Reviewed-by: Dmitri Shuralyov <>
9 files changed
tree: ba32ee98a884c617004ce08078564aaac14f21f2
  1. .prettierrc
  8. _content/
  9. cmd/
  10. codereview.cfg
  11. content.go
  12. go.mod
  13. go.sum
  14. internal/

Go website

Go Reference

This repo holds content and serving programs for the web site.

Content is in _content/. Server code is in cmd/ and internal/.

To run the server to preview local content changes, use:

go run ./cmd/golangorg

The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for and (They do not use the _content/ directory.)

Each command directory has its own explaining deployment.

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.