tree: e018a1b7c22e38d996c1d8610824f5f8ca2dc975 [path history] [tgz]
  1. analysis/
  2. dl/
  3. env/
  4. proxy/
  5. redirect/
  6. short/
  7. static/
  8. util/
  9. vfs/
  10. corpus.go
  11. dirtrees.go
  12. dirtrees_test.go
  13. format.go
  14. godoc.go
  15. godoc17_test.go
  16. godoc_test.go
  17. index.go
  18. index_test.go
  19. linkify.go
  20. meta.go
  21. page.go
  22. parser.go
  23. pres.go
  24. README.md
  25. search.go
  26. server.go
  27. server_test.go
  28. snippet.go
  29. spec.go
  30. spec_test.go
  31. spot.go
  32. tab.go
  33. template.go
  34. versions.go
  35. versions_test.go
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.