写了一个可以在线下载 Github 仓库子文件夹的用户脚本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
isa
V2EX    分享创造

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

  •  
  •   isa
    oe 2020-09-26 01:48:50 +08:00 2403 次点击
    这是一个创建于 1840 天前的主题,其中的信息可能已经有所发展或是发生改变。

    无需克隆 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 条回复    2020-09-26 11:25:29 +08:00
    lxk11153
        1
    lxk11153  
       2020-09-26 02:10:48 +08:00
    [doge] 我也看到一个,是从这 /t/710179 递归到的 ↓
    https://i.otherhill.com/index.php/topic/show/271/2
    isa
        2
    isa  
    OP
       2020-09-26 11:25:29 +08:00
    @lxk11153 嗯, 就是用的 downgit. downgit 和 gitzip 用起来都不太便利, 后续有空会考虑把下载文件夹的功能直接集成到 userscript 中去
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3497 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 10:32 PVG 18:32 LAX 03:32 JFK 06:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86