平时我们看 golang 文档的方式通常有:
go doc <package>
如果没有网络,我一般会选择 方式 1 + 方式 3,但缺点是可读性差。
后来了解到,godoc -html <package>
可以生成 HTML 文档,所以就思考如何搭建本地的 localhost:3000/pkg
先取个名字,godocserver
步骤如下:
godoc -html <package>
利用 Ruby 实现 步骤 1、2,要注意遍历 $GOPATH/src/
时要过滤一些不需要的目录,创建文件时,要先创建对应的目录。
启动静态服务器用 golang 和 ruby 都可以,我用的是 negroni,就三行代码。
问题是,这样的页面完全没有样式啊,所以我不得不去 golang.org/pkg 上 copy css 和 js 文件。
然后将 Index 的样式修改成这样:
最后实现 package 导航:
这个功能我们需要知道所有已存文档的名称,所以我们需要维护一个文件 all_documents.json 供前端使用,然后我们需要做一个带有过滤功能的列表。这里用 Vue.js 作双向数据绑定 (好用,好用,好用)。
至此,我们就可以愉快的在本地看 golang 文档啦。
更多阅读: