我一直在努力使用godoc,发现“go doc”更多的是从命令行提供使用帮助,例如:
go doc -cmd -u
列出包注解和任何函数(或其他实体)
go doc *function*
然后显示单个函数(或其他实体)的文档
似乎有一个相关的工具叫 godoc。godoc似乎也在每个包和函数的基础上生成html。例如:
godoc -html hello
生成只包含stdout的包注解的html
- godoc* 是一个非常令人困惑的名字,因为我们也有 go doc!
如何为整个项目创建静态文档?
这类似于Godoc, create html for entire package,它可能被误解为询问包的文档而不是项目。我想要一个构建步骤,我可以在一个项目中使用,原则上可能包含许多包和应用程序。
4条答案
按热度按时间xxslljrj1#
是否有一种规范方法来生成离线使用的文档,即使使用godoc?
Go 1.12(2019年2月)在这一点上更清晰:
godoc
和go doc
在Go 1.12中,
godoc
不再有命令行界面,只是一个web服务器。用户应该使用
go doc
作为命令行帮助输出。go doc
now supports the-all
flag,这将导致它打印所有导出的API及其文档,就像godoc
命令行所做的那样。cmd/doc
:添加-all
标志以打印包的所有文档与旧的
godoc
不同,您需要-u
标志来查看未导出的符号。这似乎是正确的行为:是一致的
vql8enpb2#
我一直在努力做到这一点,最后,对我有用的是
1.确保你已经安装了“wget”(我用的是mac,所以不得不用x-code安装)
1.以root用户身份登录并修改名为“robots.txt”的文件,删除“Disallow:/”,因为这会阻止wget递归地下载站点。“robots.txt”文件应位于$GOROOT路径中。
1.打开一个cmd并使用下面的命令启动godocs服务器
我已将本地路径配置到此端口。
1.打开另一个cmd并运行下面的命令。
你可以提到项目的路径,以便为整个项目下载HTML文档。
uajslkp63#
您可以尝试Golds,这是一个替代的Go文档生成工具(以及本地文档服务器/代码阅读器)。
在你的项目目录下,你可以运行以下任何命令来为你的Go项目生成HTML文档:
第一个命令生成最紧凑的文档,最后一个命令生成完整的文档,其大小是紧凑文档的6倍。
顺便说一句,我是黄金的作者。希望这个工具能满足你的需要。
62lalag44#
这也可以使用简单的wget命令来实现。示例:snippet
我也有类似的问题。我在我的项目中使用GitLab,我决定为Go项目创建并分享一些方便的GitLab CI YAML模板,这些模板将自动生成静态HTML Go文档,而无需任何外部包:https://gitlab.com/tymonx/gitlab-ci
示例:Go Logger documentation
两个不错的功能: