爱意满满的作品展示区。
isa

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

  •  
  •   isa ·
    oe · Sep 26, 2020 · 2816 views
    This topic created in 2070 days ago, the information mentioned may be changed or developed.

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

    2 replies    2020-09-26 11:25:29 +08:00
    lxk11153
        1
    lxk11153  
       Sep 26, 2020
    [doge] 我也看到一个,是从这 /t/710179 递归到的 ↓
    https://i.otherhill.com/index.php/topic/show/271/2
    isa
        2
    isa  
    OP
       Sep 26, 2020
    @lxk11153 嗯, 就是用的 downgit. downgit 和 gitzip 用起来都不太便利, 后续有空会考虑把下载文件夹的功能直接集成到 userscript 中去
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3551 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:33 · PVG 18:33 · LAX 03:33 · JFK 06:33
    ♥ Do have faith in what you're doing.