tree: 536eef70156f619f6e073fc8e09c2cdf7158814d [path history] [tgz]
  1. analysis/
  2. golangorgenv/
  3. redirect/
  4. static/
  5. util/
  6. vfs/
  7. corpus.go
  8. dirtrees.go
  9. dirtrees_test.go
  10. format.go
  11. godoc.go
  12. godoc_test.go
  13. index.go
  14. index_test.go
  15. linkify.go
  16. markdown.go
  17. meta.go
  18. page.go
  19. parser.go
  20. pres.go
  21. README.md
  22. search.go
  23. server.go
  24. server_test.go
  25. snippet.go
  26. spec.go
  27. spec_test.go
  28. spot.go
  29. tab.go
  30. template.go
  31. versions.go
  32. versions_test.go
internal/godoc/README.md

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.