前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建本地 golang 文档服务器

搭建本地 golang 文档服务器

作者头像
李海彬
发布2018-03-20 14:51:21
3.1K0
发布2018-03-20 14:51:21
举报
文章被收录于专栏:Golang语言社区Golang语言社区

平时我们看 golang 文档的方式通常有:

  1. go doc <package>
  2. golang.org/pkg 或者国内的 godoc.golangtc.com/pkg/
  3. 看源码,当然这是最好的方式,只是需要更多的时间和耐心。

如果没有网络,我一般会选择 方式1 + 方式3,但缺点是可读性差。

后来了解到,godoc -html <package> 可以生成 HTML 文档,所以就思考如何搭建本地的 localhost:3000/pkg

先取个名字,godocserver

步骤如下:

  1. 获取所有 golang built-in packages 名称
  2. 遍历所有 packages 运行 godoc -html <package>
  3. 保存所有文件,启动一个静态文件服务器

利用 Ruby 实现 步骤1、2,要注意遍历 $GOPATH/src/ 时要过滤一些不需要的目录,创建文件时,要先创建对应的目录。

启动静态服务器用 golang 和 ruby 都可以,我用的是 negroni,就三行代码。

问题是,这样的页面完全没有样式啊,所以我不得不去 golang.org/pkg 上 copy css 和 js 文件。

然后将 Index 的样式修改成这样:

最后实现 package 导航:

这个功能我们需要知道所有已存文档的名称,所以我们需要维护一个文件 all_documents.json 供前端使用,然后我们需要做一个带有过滤功能的列表。这里用 Vue.js 作双向数据绑定(好用,好用,好用)。

至此,我们就可以愉快的在本地看 golang 文档啦。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档