如何不克隆仓库而直接浏览Github上的Jupyter Notebook文档

在数据分析和机器学习领域的优势是Python变得愈发流行的主要原因之一,而很多数据分析和机器学习的工作是在Jupyter Notebook上进行的,越来越多的notebook(ipynb文件)也被放入了Github仓库里。

诚然自己动手把仓库克隆到本地,用Jupyter Notebook跑一遍代码是最正确的选择,但有时我们只是想看一下跑好的notebook(ipynb),而相当一部分notebook也是当作演示文稿放到仓库里的,所以我们需要一个直接在线观看notebook的途径。幸运的是Jupyter 官网就提供了nbviewer给我们。

nbviewer

nbviewer是Jupyter官方提供的在线notebook查看器,可以直接通过URL,Github 用户名和仓库,Gist ID来查看notebook文档。

例如查看pandas cookbook仓库的示例notebook,直接访问https://nbviewer.jupyter.org/github/jvns/pandas-cookbook/blob/master/cookbook/Chapter%201%20-%20Reading%20from%20a%20CSV.ipynb就可以了。

UserScript脚本

无论是打开nbviewer网站再输入仓库名称,还是直接输入链接访问,都稍微显得麻烦了一点。程序员最擅长创造性地偷懒,于是我写了一个用户脚本来自动在github上的ipynb文件预览页添加一个按钮来访问nbviewer网站。

代码的主要逻辑是:

 if (location.pathname.endsWith('.ipynb')){
        location.assign('https://nbviewer.jupyter.org/github' + location.pathname);
    }

管理用户脚本的浏览器拓展有很多,我最推荐的是TamperMonkey, 支持Chrome, Friefox,Edge和Safari浏览器,并且可以通过云服务备份用户脚本列表。

结语

当然还是希望Github可以直接预览notebook文件,相信微软的产品体验人员也会有这样的看法。

最后祝大家享受生活,享受代码。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信公众号:Java团长

2016 年 7 个最佳的 Java 框架

毫无疑问,Java是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,以减轻全球软件开发人员的日常工作。

1582
来自专栏Java大联盟

这个都玩不转,好意思说自己是程序员吗?

如果你是一名 Java Web 开发人员,是否曾经有过上面这些感受呢?如果你坚持使用原生的 Servlet 做开发,上面这些坑你一定是绕不过去的。Servlet...

1442
来自专栏腾讯Bugly的专栏

三步走起 提升 iOS 审核通过率 上篇

image.png 2016年的第一天,各位小伙伴儿们,新年快乐~~~在过去一年里,负责 iOS 应用开发的同学们,想必已被 APP Store 的审核机制折磨...

4499
来自专栏iOSDevLog

cmd

在 PC 行业的早期,大多数计算机完全是通过在命令行输入命令来操作的。 基于 Unix、CP / M、DR-DOS 等机器争夺地位和市场份额。 最终,MS-DO...

1143
来自专栏北京马哥教育

15个NoSql数据库

随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是...

3968
来自专栏Android 开发者

Android Studio 3.0 Android 分析器 | 中文教学视频

1742
来自专栏JavaQ

解决程序报错的套路

当程序运行发生错误时,你需要学会使用常用套路去分析并解决这些问题,下面介绍一些常用的套路。

913
来自专栏EAWorld

微服务转型,雪崩效应是绕不过的一道坎

记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(...

54312
来自专栏竹清助手

如何理解一个高度抽象化的架构风格本质

REST本身是一个高度抽象化的架构风格,因而总是很难对它有一个比较深入且印象深刻的理解。写这篇文章的目的,是自己对学习REST的一个总结,也希望可以通过这篇文章...

2013
来自专栏java闲聊

浅谈架构(单体架构、 SOA架构、微服务架构)

* 一个典型的单体应用就是将所有的业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。

1994

扫码关注云+社区

领取腾讯云代金券