我一直在与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类似,后者可能被误解为询问软件包而不是项目的文档。 我想要一个可以在原则上可以包含许多软件包和应用程序的项目中使用的构建步骤。
答案 0 :(得分:2)
您可以尝试使用Golds,它是备用的Go docs生成工具(和本地docs服务器/代码阅读器)。
在项目目录下,您可以运行以下任何命令来为Go项目生成HTML文档:
第一个命令生成最紧凑的文档,最后一个命令生成完整的文档,其大小是紧凑文档的6倍。
顺便说一句,我是黄金的作者。希望您能使用此工具满足您的需求。
答案 1 :(得分:0)
我一直在努力做到这一点,最后,对我有用的是
打开一个cmd并使用以下命令启动godocs服务器
godoc -http =:6060
我已将本地路径配置为此端口。 4.打开另一个cmd并运行以下命令。
wget -r -np -N -E -p -k http://localhost:6060/pkg/myproject
您可以提及要为整个项目下载html文档的项目路径。
答案 2 :(得分:0)
即使使用godoc,有没有一种规范的方法可以生成供离线使用的文档?
Go 1.12 (February 2019)在这方面更清楚:
godoc
和go doc
在Go 1.12中,
godoc
不再具有命令行界面,而只是Web服务器。
用户应该使用go doc
代替命令行帮助输出。
go doc
now supports the-all
flag,这将导致它打印所有导出的API及其文档,就像以前使用的godoc
命令行一样。
cmd/doc
:添加-all
标志以打印软件包的所有文档与旧
godoc
的符号不同,您需要-u
标志才能看到未导出的符号。
这似乎是正确的行为:这是一致的。
答案 3 :(得分:0)
这也可以使用简单的 wget 命令来实现。示例:snippet
我对此也有类似的问题。我将GitLab用于我的项目,并且决定为Go项目创建并与一些方便的GitLab CI YAML模板共享,这些模板将自动生成静态HTML Go文档,而无需任何外部软件包:https://gitlab.com/tymonx/gitlab-ci
两个不错的功能: