tools/godoc
Dmitri Shuralyov 2646b7dc2e [release-branch.go1.11] godoc/redirect: display Gerrit/Rietveld CL disambiguation page when needed
For CL numbers that are determined to be Rietveld CLs, instead of
immediately redirecting, check whether a Gerrit CL with the same
number also exists. Do so by querying the Gerrit API and caching
the existing CLs. If both exist, display a very simple disambiguation
HTML page.

Cache Gerrit CLs that exist, to avoid querying the remote API server
more than once per CL. We can't cache Gerrit CLs that don't exist,
since they might get created in the future.

Fixes golang/go#29645

Change-Id: I08c32dc82a0136788337c5c32028e87428e8d81e
Reviewed-on: https://go-review.googlesource.com/c/157237
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-10 01:59:24 +00:00
..
analysis all: fix typos in comments 2018-08-10 18:15:57 +00:00
dl [release-branch.go1.11] godoc/dl: serve "go get" meta for golang.org/dl/gotip 2018-12-14 17:22:03 +00:00
env [release-branch.go1.11] godoc: migrate to App Engine flexible 2018-11-20 23:23:52 +00:00
proxy [release-branch.go1.11] godoc/proxy: remove use of httputil.ReverseProxy for /share 2018-12-12 20:15:45 +00:00
redirect [release-branch.go1.11] godoc/redirect: display Gerrit/Rietveld CL disambiguation page when needed 2019-01-10 01:59:24 +00:00
short [release-branch.go1.11] godoc: move third-party godoc deps behind build tag 2018-11-21 00:03:50 +00:00
static [release-branch.go1.11] godoc/static: update copyright year in static.go 2019-01-04 18:19:25 +00:00
util tools: add import comments. 2014-12-09 22:42:16 +00:00
vfs [release-branch.go1.11] godoc: update to use new goroot finding logic 2018-08-23 19:32:48 +00:00
README.md godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
cmdline.go godoc: correct abspath when looking for cmds 2018-06-13 15:42:59 +00:00
cmdline_test.go godoc: correct abspath when looking for cmds 2018-06-13 15:42:59 +00:00
corpus.go godoc: show version information for stdlib 2018-07-17 18:09:30 +00:00
dirtrees.go godoc/vfs: improve implementation of RootType 2018-04-11 20:41:25 +00:00
dirtrees_test.go godoc: add benchmark for directory scan 2018-04-15 15:36:21 +00:00
format.go go.tools/godoc: Fix jump-to-line in source view. 2013-08-01 11:52:25 +10:00
godoc.go godoc: skip build tag annotations when displaying examples 2018-07-31 18:38:43 +00:00
godoc17_test.go x/tools/cmd/godoc: fix broken links in composite literals 2017-02-17 22:21:49 +00:00
godoc_test.go godoc: skip build tag annotations when displaying examples 2018-07-31 18:38:43 +00:00
index.go all: fix typos in comments 2018-08-10 18:15:57 +00:00
index_test.go x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +00:00
linkify.go godoc: use "IsPredeclared" of go/doc 2017-11-15 18:22:28 +00:00
meta.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
page.go [release-branch.go1.11] godoc: migrate to App Engine flexible 2018-11-20 23:23:52 +00:00
parser.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
pres.go [release-branch.go1.11] godoc: migrate to App Engine flexible 2018-11-20 23:23:52 +00:00
search.go godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
server.go godoc: default to GOOS/GOARCH js/wasm when rendering syscall/js docs 2018-06-28 16:39:57 +00:00
server_test.go godoc: fix counting of package files in GetPageInfo 2018-04-16 18:17:07 +00:00
snippet.go godoc: add version info for struct fields 2018-07-17 23:22:00 +00:00
spec.go godoc: accept scanner.RawString too during EBNF parsing 2018-06-25 04:25:21 +00:00
spec_test.go godoc: accept scanner.RawString too during EBNF parsing 2018-06-25 04:25:21 +00:00
spot.go godoc: add search results that point to documentation instead of source. 2013-11-21 11:55:42 -05:00
tab.go godoc: add missing copyright 2015-04-27 04:29:37 +00:00
template.go godoc: fix test failure 2018-06-13 15:25:43 +00:00
versions.go godoc: correctly parse packages with digits in the package name 2018-07-22 15:00:05 +00:00
versions_test.go godoc: fix tests on Go 1.9 2018-07-25 19:11:30 +00:00

README.md

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.