00f7cd5589
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> |
||
---|---|---|
.. | ||
analysis | ||
dl | ||
proxy | ||
redirect | ||
short | ||
static | ||
util | ||
vfs | ||
appengine.go | ||
cmdline_test.go | ||
cmdline.go | ||
corpus.go | ||
dirtrees.go | ||
format.go | ||
godoc17_test.go | ||
godoc_test.go | ||
godoc.go | ||
index_test.go | ||
index.go | ||
linkify.go | ||
meta.go | ||
page.go | ||
parser.go | ||
pres.go | ||
README.md | ||
search.go | ||
server.go | ||
snippet.go | ||
spec.go | ||
spot.go | ||
tab.go | ||
template.go |
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:
-
Make changes to e.g.
static/style.css
. -
Run
go generate golang.org/x/tools/godoc/static
sostatic/static.go
picks up the change. -
Run
go install golang.org/x/tools/cmd/godoc
so the compiledgodoc
binary picks up the change. -
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.