写了一个可以在线下载 Github 仓库子文件夹的用户脚本

2020-09-26 01:48:50 +08:00
 isa

无需克隆 GitHub 仓库, 一键在线下载 Github 仓库子文件夹; 同时还能在源码详情页一键复制源码.

脚本安装地址: download github repo sub-folder, 源码地址: github

下载按钮 和 复制按钮无缝和 Github.com 集成, 示例效果如下:

credits: 在线下载 Github 仓库的文件夹功能使用开源项目 downgit(源码) 实现

使用说明

安装脚本管理器

Chrome 用户推荐安装浏览器扩展: Tampermonkey

其他选择可参考: 安装一个用户脚本管理器

安装本脚本

脚本安装地址: download github repo sub-folder, 源码地址: github

脚本管理器配置

本脚本的下载 Github 单个文件的功能依赖脚本管理器的 GM_download 权限, 需遵循脚本管理器的安全策略, 如 Tampermonkey 官方所说:

因安全原因所下载的文件后缀名必须添加至 Tampermonkey 的白名单中

你可以按下述步骤来设置 Tampermonkey:

  1. 在 Chrome 中打开 Tampermonkey 的设置页面, 你可以直接复制 chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav=settings 在 Chrome 地址栏中打开
  2. General 设置组 将 Config mode 改为 Advanced
  3. 然后再滚动到页面底部, 找到 Downloads BETA, 将你需要下载的文件后缀追加至 Whitelisted File Extensions: 中:

    可以添加常用代码文件后缀 /\.(js|ts|jsx|tsx|json|java|go|cpp|c|swift|cmd|sh|md|markdown|rb)$/
    如果嫌麻烦, 也可以添加 /\..*$/ 来允许下载任意后缀文件, 需自行注意所下载文件的安全问题

已知问题:

downgit在线下载 github 文件夹时, 会调用 github api, 由于该网站调用 API 时没使用 Github Auth Token, 会有接口调用频次和权限限制:

  1. 不能下载私有仓库的内容
  2. 下载几个仓库文件夹后即会报错, 原因是超过 GitHub 匿名调用 API 的次数, 需等待一天

若想突破上面限制, 可使用另一个服务 gitzip, 填入你的 GitHub Auth Token 后即可无限制下载了.

2053 次点击
所在节点    分享创造
2 条回复
lxk11153
2020-09-26 02:10:48 +08:00
[doge] 我也看到一个,是从这 /t/710179 递归到的 ↓
https://i.otherhill.com/index.php/topic/show/271/2
isa
2020-09-26 11:25:29 +08:00
@lxk11153 嗯, 就是用的 downgit. downgit 和 gitzip 用起来都不太便利, 后续有空会考虑把下载文件夹的功能直接集成到 userscript 中去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX