1
0
mirror of https://github.com/golang/go synced 2024-11-18 12:54:44 -07:00
go/godoc
Agniva De Sarker ae8027637c godoc/static: add test for static.go file generation
Moved the code which generates static.go to remain in the static package.
This makes the code testable.

Additionally, it is very easy for developers to forget to run "go generate"
to update static.go. Because while development, the templates directory
can be directly passed as a flag to read the files from it.

This test catches that.

Change-Id: I314907b98907bb14e4eabfd3c532ba2d84ce7c5f
Reviewed-on: https://go-review.googlesource.com/110158
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-05-03 19:34:25 +00:00
..
analysis godoc: fix crash in -analysis 2017-06-13 17:41:52 +00:00
dl godoc: don't exclude version field from File struct 2018-05-01 16:35:01 +00:00
proxy godoc/proxy: remove unused cacheKey function 2018-01-05 02:11:35 +00:00
redirect x/tools/godoc: fix redirect to Gerrit 2017-07-31 16:24:22 +00:00
short godoc: hide appengine dependencies behind build tags 2016-01-04 23:08:03 +00:00
static godoc/static: add test for static.go file generation 2018-05-03 19:34:25 +00:00
util tools: add import comments. 2014-12-09 22:42:16 +00:00
vfs godoc/vfs: improve implementation of RootType 2018-04-11 20:41:25 +00:00
appengine.go godoc: proxy /compile requests to play.golang.org 2018-01-04 23:58:58 +00:00
cmdline_test.go cmd/godoc: provide -all flag to output unexported identifiers 2018-03-16 16:52:36 +00:00
cmdline.go godoc: set the GOROOT path properly in cmdline mode 2018-05-02 17:46:13 +00:00
corpus.go godoc: init corpus in a separate goroutine in http mode 2018-02-13 20:23:58 +00:00
dirtrees_test.go godoc: add benchmark for directory scan 2018-04-15 15:36:21 +00:00
dirtrees.go godoc/vfs: improve implementation of RootType 2018-04-11 20:41:25 +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: fix out-of-bounds panic when serving top-level files 2017-08-04 00:32:20 +00:00
godoc.go godoc: group package home page list by root 2018-04-10 16:41:40 +00:00
index_test.go x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +00:00
index.go godoc,blog: perform minor cleanup 2018-04-14 19:30:04 +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 godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
parser.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
pres.go godoc: cleanup package templates 2018-04-10 16:42:09 +00:00
README.md godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
search.go godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
server_test.go godoc: fix counting of package files in GetPageInfo 2018-04-16 18:17:07 +00:00
server.go godoc: fix counting of package files in GetPageInfo 2018-04-16 18:17:07 +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.