Diff Navigator for GitHub
ID
aoojogkiedabnddmokieplfnmjehlneoGitHub Diff Navigator 可让你轻松浏览在 GitHub 上编辑的文件中的改动。
应用截图
详细介绍
GitHub Diff Navigator 可让你轻松浏览在 GitHub 上编辑的文件中的改动。
代码地址:https://github.com/daattali/github-diff-navigator-extension/
说明
=========
这是一款 Chrome 扩展程序,可让你轻松浏览在 GitHub 上编辑的文件中的改动。
你可能注意到,通过 GitHub 编辑文件并预览改动后,没有方便的方法以“下一处/上一处改动”的方式浏览。大多数文件格式只显示修改过的行及其周围的几行,因此通常不会造成太大不便,但 Markdown 文档(.md)的情况有所不同。预览改动时,GitHub 会显示整个 Markdown 文档,这意味着如果你在一篇很长的文档中只做了几处细微修改,就很难找到这些修改并查看变化。R Markdown(.Rmd)文档的表现也类似,其他 Markdown 类文档可能也一样。
这就是 GitHub Diff Navigator 的用武之地。
开发动机
=========
这个扩展程序的想法来自我阅读 Hadley Wickham 的《Advanced R》一书时的经历。每次我在某个章节(即一个 Markdown 文档)中发现几处错别字,都会在 GitHub 上编辑并提交拉取请求。
为了避免出丑,我想在预览标签页中再次检查自己的修改,却发现了上面描述的问题。我不相信自己的眼睛能在这么大的文件中找到那几处修改,最后借助 DOM 和 JavaScript 控制台找到了修改的位置。
后来我觉得玩 JavaScript 控制台还不够硬核,于是决定花接下来的两天制作一个扩展程序,帮助我以后快速找到这样的改动。
功能
=========
- GitHub Diff Navigator 不会干扰使用,只有在查看通过 GitHub 编辑文件的预览时才会出现。
- 当你没有打开符合条件的 GitHub 编辑页面时,GitHub Diff Navigator 不会占用任何资源,也不会出现在 Chrome 任务管理器中。
- 支持同时打开多个 GitHub 标签页(每次切换标签页时,扩展程序都会更新并显示该标签页中的改动)。
- 自动检测正在编辑的文件是否为 Markdown 类文件,并顺畅支持这两种情况。
- 界面简洁直观,未找到改动时会显示有帮助的提示。
免责声明
=========
我不建议将我的代码作为学习编写 Chrome 扩展程序的模板或资料。我在两天内学习并完成了整个扩展程序,因此不确定最佳实践是什么,也不清楚如何恰当地组织代码。这只是一个让我尝试 Chrome 扩展程序如何工作的借口。我还在里面留下了一点难看的代码——请不要评判我 :)