1
0
mirror of https://github.com/golang/go synced 2024-11-18 13:04:46 -07:00
go/godoc
Jay Conrod 00f7cd5589 x/tools/cmd/godoc: Fix incorrectly indented literals in examples
godoc formats function examples for text or HTML output by
stripping the surrounding braces and un-indenting by replacing
"\n    " with "\n". This modifies the content of string literals,
resulting in misleading examples.

This change introduces a function, replaceLeadingIndentation, which
unindents more carefully. It removes the first level of indentation
only outside of string literals. For plain text output, it adds custom
indentation at the beginning of every line including string literals.

Fixes golang/go#18446

Change-Id: I52a7f5756bdb69c8a66f031452dd35eab947ec1f
Reviewed-on: https://go-review.googlesource.com/36544
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2017-02-17 21:58:39 +00:00
..
analysis x/tools: support Go 1.9 type aliases 2017-02-13 21:46:59 +00:00
dl godoc/dl: change "All versions" to "Archived versions" 2017-01-06 18:41:26 +00:00
proxy godoc/proxy: use HTTPS when bouncing through to the playground 2016-05-19 07:11:34 +00:00
redirect godoc: don't drop the query params when redirecting 2015-10-06 03:11:16 +00:00
short godoc: hide appengine dependencies behind build tags 2016-01-04 23:08:03 +00:00
static godoc: preserve ?m=... query string 2017-02-08 21:12:11 +00:00
util tools: add import comments. 2014-12-09 22:42:16 +00:00
vfs x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +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 godoc: add missing copyright 2015-04-27 04:29:37 +00:00
corpus.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
dirtrees.go godoc: remove some unused code 2017-01-09 19:59:23 +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 godoc: run TestStructField for Go 1.7 and up only (fix build) 2017-02-01 22:56:31 +00:00
godoc_test.go x/tools/cmd/godoc: Fix incorrectly indented literals in examples 2017-02-17 21:58:39 +00:00
godoc.go x/tools/cmd/godoc: Fix incorrectly indented literals in examples 2017-02-17 21:58:39 +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 godoc: revert support for Go 1.8 aliases 2016-11-04 21:17:32 +00:00
meta.go go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00
page.go godoc: drop outdated comment 2016-10-04 17:46:36 +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: preserve ?m=... query string 2017-02-08 21:12:11 +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.