1
0
mirror of https://github.com/golang/go synced 2024-11-18 11:04:42 -07:00
go/godoc
Andrew Bonventre d1a3278ee7 godoc/util: serve SVG files raw
When a godoc Presentation is serving a file, it will sniff its
contents to determine if it contains "human-readable" text. If
it does, then it serves the contents of the file with surrounding
HTML. SVG files should not be served with any additional HTML even
though their contents are not a binary format (just like CSS or JS
files).

Updates golang/go#9936

Change-Id: Id3dd3b6cda4f103b08f6e924923426a86bd46ec8
Reviewed-on: https://go-review.googlesource.com/c/tools/+/177498
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-05-16 01:51:32 +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 godoc/static: let client use vet check returned by /compile endpoint 2019-05-13 21:41:31 +00:00
util godoc/util: serve SVG files raw 2019-05-16 01:51:32 +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.