1
0
mirror of https://github.com/golang/go synced 2024-11-18 06:14:46 -07:00
go/godoc
Russ Cox 97606e3207 godoc: fix panic in Presentation.ServeFile
The redirect to drop index.html must be done using r.URL.Path,
not relpath, because those might differ. Cutting len("index.html")
bytes off a string that doesn't end in index.html is incorrect.

While we're here, silence an annoying log print during go test.

For golang/go#40665.

Change-Id: I36553b041f53eab9c42da6b77184e90800a97e92
Reviewed-on: https://go-review.googlesource.com/c/tools/+/251080
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2020-08-27 16:23:30 +00:00
..
analysis
golangorgenv
redirect all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
static godoc/static: replace innerHTML with textContent 2020-05-28 18:54:14 +00:00
util
vfs godoc/vfs/mapfs: panic on invalid New usage 2020-05-08 23:23:36 +00:00
corpus.go godoc: remove Corpus.testDir field 2019-09-24 05:20:46 +00:00
dirtrees_test.go
dirtrees.go all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
format.go
godoc17_test.go
godoc_test.go
godoc.go all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
index_test.go
index.go
linkify.go
meta.go godoc: fix panic in Presentation.ServeFile 2020-08-27 16:23:30 +00:00
page.go
parser.go godoc: re-add test for ignoring //line comments in source code 2019-05-28 20:18:05 +00:00
pres.go cmd/godoc, godoc/static: remove remnants of golang.org website 2019-11-20 19:55:55 +00:00
README.md
search.go
server_test.go godoc: fix panic in Presentation.ServeFile 2020-08-27 16:23:30 +00:00
server.go godoc: fix panic in Presentation.ServeFile 2020-08-27 16:23:30 +00:00
snippet.go
spec_test.go
spec.go
spot.go
tab.go
template.go
versions_test.go
versions.go

godoc

This directory contains most of the code for running a godoc server. The executable lives at golang.org/x/tools/cmd/godoc.

Development mode

In production, CSS/JS/template assets need to be compiled into the godoc binary. It can be tedious to recompile assets every time, but you can pass a flag to load CSS/JS/templates from disk every time a page loads:

godoc -templates=$GOPATH/src/golang.org/x/tools/godoc/static -http=:6060

Recompiling static assets

The files that live at static/style.css, static/jquery.js and so on are not present in the final binary. They are placed into static/static.go by running go generate. So to compile a change and test it in your browser:

  1. Make changes to e.g. static/style.css.

  2. Run go generate golang.org/x/tools/godoc/static so static/static.go picks up the change.

  3. Run go install golang.org/x/tools/cmd/godoc so the compiled godoc binary picks up the change.

  4. Run godoc -http=:6060 and view your changes in the browser. You may need to disable your browser's cache to avoid reloading a stale file.