ba93f9405e
The logic to determine whether a filesystem root was in GOROOT or GOPATH still relied on runtime.GOROOT(), whereas cmd/godoc was updated to copy the goroot finding logic from standard library. Hence, godoc is unable to determine if a filesystem is in GOROOT or not when the binary is outside runtime.GOROOT(). So we expose a new variable and set that from cmd/godoc to avoid copying the logic again for the 3rd time. Fixes golang/go#27162 Change-Id: I160dcdbdd262e671f09f7bf01c329be5eac280ad Reviewed-on: https://go-review.googlesource.com/130796 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> |
||
---|---|---|
.. | ||
analysis | ||
dl | ||
proxy | ||
redirect | ||
short | ||
static | ||
util | ||
vfs | ||
appengine.go | ||
cmdline_test.go | ||
cmdline.go | ||
corpus.go | ||
dirtrees_test.go | ||
dirtrees.go | ||
format.go | ||
godoc17_test.go | ||
godoc_test.go | ||
godoc.go | ||
index_test.go | ||
index.go | ||
linkify.go | ||
meta.go | ||
page.go | ||
parser.go | ||
pres.go | ||
README.md | ||
search.go | ||
server_test.go | ||
server.go | ||
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:
-
Make changes to e.g.
static/style.css
. -
Run
go generate golang.org/x/tools/godoc/static
sostatic/static.go
picks up the change. -
Run
go install golang.org/x/tools/cmd/godoc
so the compiledgodoc
binary picks up the change. -
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.