1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:34:51 -07:00
go/godoc
Michael Edwards 4ce273956a godoc: follow symbolic links to folders in GOROOT
Directory walking in godoc relies on ReadDir which returns the result
of os.Lstat.

Instead make the the OS VFS's ReadDir use os.Stat on symlinks before
returning.

Fixes golang/go#15049

Change-Id: I34d17ca0027b0245f5ef434a000e5a3fe2af11cf
Reviewed-on: https://go-review.googlesource.com/45096
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-07-14 21:15:33 +00:00
..
analysis godoc: fix crash in -analysis 2017-06-13 17:41:52 +00:00
dl godoc/dl: change OS X to macOS, clarify WinXP requirement 2017-06-29 19:46:10 +00:00
proxy godoc/proxy: use HTTPS when bouncing through to the playground 2016-05-19 07:11:34 +00:00
redirect godoc/redirect: allow trailing slashes for prefix handlers 2017-03-15 20:02:31 +00:00
short godoc: hide appengine dependencies behind build tags 2016-01-04 23:08:03 +00:00
static godoc: add links to docs in text and dir pages 2017-06-16 21:49:54 +00:00
util tools: add import comments. 2014-12-09 22:42:16 +00:00
vfs godoc: follow symbolic links to folders in GOROOT 2017-07-14 21:15:33 +00:00
appengine.go godoc: hide and block share functionality from specific countries 2015-09-02 05:52:45 +00:00
cmdline_test.go godoc: add missing copyright 2015-04-27 04:29:37 +00:00
cmdline.go x/tools: simplify and format code 2017-02-28 14:15:42 +00:00
corpus.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
dirtrees.go godoc: include dir listing in rate limit, log dir reading errors 2017-07-06 20:06:05 +00:00
format.go go.tools/godoc: Fix jump-to-line in source view. 2013-08-01 11:52:25 +10: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: add links to docs in text and dir pages 2017-06-16 21:49:54 +00:00
godoc.go godoc: add links to docs in text and dir pages 2017-06-16 21:49:54 +00:00
index_test.go x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +00:00
index.go godoc: remove some unused code 2017-01-09 19:59:23 +00:00
linkify.go Revert "godoc: use "IsPredeclared" of go/doc" 2017-05-15 17:14:06 +00:00
meta.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
page.go godoc: add links to docs in text and dir pages 2017-06-16 21:49:54 +00:00
parser.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
pres.go cmd/godoc: accept GOOS and GOARCH URL parameters in -http mode 2016-02-04 22:11:53 +00:00
README.md godoc: add README 2017-01-09 19:14:34 +00:00
search.go godoc: don't quote search term to avoid escaping regexps 2016-02-05 01:57:33 +00:00
server.go godoc: add links to docs in text and dir pages 2017-06-16 21:49:54 +00:00
snippet.go godoc: revert support for Go 1.8 aliases 2016-11-04 21:17:32 +00:00
spec.go godoc: move bulk of the code to the package 2013-07-17 17:09:54 +10: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 go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00

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.