This project is the source for http://godoc.org/
The code in this project is designed to be used by godoc.org. Send mail to golang-dev@googlegroups.com if you want to discuss other uses of the code.
Send ideas and questions to golang-dev@googlegroups.com. Request features and report bugs using the GitHub Issue Tracker.
Contributions to this project are welcome, though please send mail before starting work on anything major. Contributors retain their copyright, so we need you to fill out a short form before we can accept your contribution: https://developers.google.com/open-source/cla/individual
-
Install and run Redis 2.8.x. The redis.conf file included in the Redis distribution is suitable for development.
-
Install Go 1.4.
-
Install and run the server:
$ go get github.com/golang/gddo/gddo-server $ gddo-server
-
Browse to http://localhost:8080/
-
Enter an import path to have the server retrieve & display a package's documentation
Optional:
- Create the file gddo-server/config.go using the template in gddo-server/config.go.template.
The GoDoc API is comprised of these endpoints:
api.godoc.org/search?q=Query
—Returns search results for Query, in JSON format.
{
"results": [
{
"path": "import/path/one",
"synopsis": "Package synopsis is here, if present."
},
{
"path": "import/path/two",
"synopsis": "Package synopsis is here, if present."
}
]
}
api.godoc.org/packages—Returns all indexed packages, in JSON format.
{
"results": [
{
"path": "import/path/one"
},
{
"path": "import/path/two"
},
{
"path": "import/path/three"
}
]
}
api.godoc.org/importers/ImportPath
—Returns packages that import ImportPath, in JSON format. Not recursive, direct imports only.
{
"results": [
{
"path": "import/path/one",
"synopsis": "Package synopsis is here, if present."
},
{
"path": "import/path/two",
"synopsis": "Package synopsis is here, if present."
}
]
}
api.godoc.org/imports/ImportPath
—Returns packages that ImportPath imports, in JSON format. Not recursive, direct imports only.
{
"imports": [
{
"path": "import/path/one",
"synopsis": "Package synopsis is here, if present."
},
{
"path": "import/path/two",
"synopsis": "Package synopsis is here, if present."
}
],
"testImports": [
{
"path": "import/path/three",
"synopsis": "Package synopsis is here, if present."
}
]
}
A plain text interface is documented at http://godoc.org/-/about.