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

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

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

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

Download Github screenshot

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 后即可无限制下载了.

相关文章

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

  1. @lxk11153 嗯, 就是用的 downgit. downgit 和 gitzip 用起来都不太便利, 后续有空会考虑把下载文件夹的功能直接集成到 userscript 中去

发表评论

电子邮件地址不会被公开。 必填项已用*标注