1
0
mirror of https://github.com/golang/go synced 2024-09-30 16:18:35 -06:00
go/godoc
Dmitri Shuralyov bd17c084df godoc/env: replace with golangorgenv
This change replaces the env package with a new golangorgenv package.

The previous env package existed primarily to configure the godoc
instance that was running golang.org. By now, the golang.org website
has been factored out to x/website, which has its own env package,
but ends up still using this env package indirectly via x/tools/godoc.

The goal of this change is to make env available for other services
that run on subdomains of golang.org, so they can continue to safely
rely on the x/tools/playground, which will be modified in the next
commit to also use the new golangorgenv.

The golangorgenv package replaces the IsProd function with a more
specific one. Start using it in packages x/tools/{,cmd}/godoc. Also,
re-arrange the order of checks to give the host suffix check higher
priority than the environment variable check. This way, if the
environment variable isn't set, the host suffix check gets a chance
to run.

When getting the value of "X-AppEngine-Country" header, use its
canonical format "X-Appengine-Country" to avoid an allocation.
This does not change behavior.

Updates golang/go#30486

Change-Id: I97b47211a45ca0351f31fcb4fa6d408a4b0c4c7c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/165459
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-03-07 16:39:06 +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 godoc/redirect: display Gerrit/Rietveld CL disambiguation page when needed 2019-01-10 01:58:56 +00:00
static cmd/godoc,cmd/gorename,refactor/rename: skip tests on GOOS=android 2019-03-06 15:27:20 +00:00
util tools: add import comments. 2014-12-09 22:42:16 +00:00
vfs godoc/vfs/zipfs: join paths to get correct RootType 2018-09-28 16:24:37 +00:00
corpus.go godoc: show version information for stdlib 2018-07-17 18:09:30 +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 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 godoc: don't clear user-set page mode for package builtin 2019-02-19 18:51:02 +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 go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
page.go godoc/env: replace with golangorgenv 2019-03-07 16:39:06 +00:00
parser.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
pres.go godoc: remove unused CLI-only identifiers 2019-02-19 18:50:39 +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 counting of package files in GetPageInfo 2018-04-16 18:17:07 +00:00
server.go godoc: don't clear user-set page mode for package builtin 2019-02-19 18:51:02 +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.