1
0
mirror of https://github.com/golang/go synced 2024-09-30 16:08:36 -06: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 all: fix typos in comments 2018-08-10 18:15:57 +00:00
golangorgenv godoc/env: replace with golangorgenv 2019-03-07 16:39:06 +00:00
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 godoc/util: serve SVG files raw 2019-05-16 01:51:32 +00:00
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 godoc: add benchmark for directory scan 2018-04-15 15:36:21 +00:00
dirtrees.go all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
format.go godoc: remove leading tabs while formatting text 2019-02-05 05:01:22 +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
godoc.go all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
index_test.go x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +00:00
index.go all: fix typos in comments 2018-08-10 18:15:57 +00:00
linkify.go godoc: use "IsPredeclared" of go/doc 2017-11-15 18:22:28 +00:00
meta.go godoc: fix panic in Presentation.ServeFile 2020-08-27 16:23:30 +00:00
page.go godoc/env: replace with golangorgenv 2019-03-07 16:39:06 +00:00
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 godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
search.go godoc: generate TOC from server-side for search page 2018-10-19 20:12:13 +00:00
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 godoc: add version info for struct fields 2018-07-17 23:22:00 +00:00
spec_test.go godoc: accept scanner.RawString too during EBNF parsing 2018-06-25 04:25:21 +00:00
spec.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_test.go godoc: fix tests on Go 1.9 2018-07-25 19:11:30 +00:00
versions.go godoc: correctly parse packages with digits in the package name 2018-07-22 15:00:05 +00: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.