github - 如何在github页面上的目录下获取文件列表?

时间:2018-05-30 09:27:34

标签: github github-pages

假设启用了github页面的repo myname/myrepo,那么myname.github.io/myrepo将可用,托管与原始repo相同的内容而无需任何专门部署。

repo
  |-- folder
        |-- file1
        |-- file2

我希望发送像myname.github.io/myrepo/folder这样的http请求来动态获取类似['file1', 'file2']的内容(即使只是我可以通过javascript解析的字符串),例如nginx autoindex。

我怎样才能做到这一点?

注意:我知道我可以编写一个脚本,可能使用bash,python,ruby,perl等任何语言来无休止地命名,以生成索引文件。即使使用CI,我也不希望任何其他部署。

2 个答案:

答案 0 :(得分:0)

目录列表 - GitHub页面

如果使用脚本生成索引文件不是您想要的,那么没有其他方法可以实现。

GitHub页面用于允许 .PHP 文件,您可以更轻松地执行类似操作(请参阅here),但此功能不可用,所以上面提到的脚本为它生成静态文件。

我知道没有其他方法可以实现这一目标。 您为什么不想使用该脚本? (特殊原因?)请提供更多可以使用的信息,以便我们找到其他方法。

更新1:

我发现something可以使其正常工作,但需要安装,因此您可能不喜欢它(请参阅下面的“* note”)。这有点过时了(2月的最后一次提交)。

*注意:大多数人都同意为了达到你想要的效果,你需要服务器端语言,但GHP不支持PHP,如前所述。 See more here.

答案 1 :(得分:0)

octotree(github的chrome插件)的启发,发送API GET https://api.github.com/repos/{owner}/{repo}/git/trees/master以获取根文件夹结构并递归访问"type": "tree"的子项。

由于github API的速率限制为每小时5000个请求,这可能不适用于深层和宽树。