57f659e14d
This change reads $GOROOT/api/go1.*.txt when godoc starts and caches information about which versions of Go introduce functions, types, and methods. This information is displayed currently only in HTML output. Functions, types, and methods introduced as part of Go 1 are not annotated, as their presence at that version is implied. This change does not address constants or variables, and completely ignores the syscall package. The former are future work, the latter is likely an exercise in futility. In all cases, this is because the story around displaying the version information is not well developed. Fixes golang/go#5778 Change-Id: Ieb3cc0da7b18e195bc9c443f14fd8a82e8b2bbf8 Reviewed-on: https://go-review.googlesource.com/85396 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Devon O'Dell <dhobsd@google.com> Reviewed-by: 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.