我需要在 GH 页面上显示目录内容。
比较喜欢
- 自动,无需 index.html
- 用于自动生成 index.html 的工具或库
- 任何其他方法
因此,如果我的 GH Pages 存储库中有一个 FS:
http://github.com/[用户名]/[用户名].github.io/
:
script/
- app/
- core/
- init.js
- lib/
- Element.animate.js
- Object.overlay.js
- mod/
- anim/
- global/
- carousel/
- carousel.js
- global.js
- ext/
- cfgs.js
index.html
我希望每个目录 URL 像往常一样索引。
http://[用户名].github.io/script/
:
- app/
- lib/
- mod/
- ext/
http://[用户名].github.io/script/mod/anim/global/
:
- carousel/
- global.js
我唯一能想到的是偏好#2,编写或找到一个脚本来从 GitHub Repo 页面或我 FS 上的本地 Repo 自动生成 index.html。
最佳答案
如果您想要一个不需要任何更新的动态索引,我发现的唯一方法是使用 github contents api 在客户端生成它.
这是一个简单的示例,它创建指向项目顶级目录中文件的链接。如果要使用此方法支持子目录,则必须递归请求每个文件夹的内容。
<html>
<body>
<script>
(async () => {
const response = await fetch('https://api.github.com/repos/:user/:repo/contents/');
const data = await response.json();
let htmlString = '<ul>';
for (let file of data) {
htmlString += `<li><a href="${file.path}">${file.name}</a></li>`;
}
htmlString += '</ul>';
document.getElementsByTagName('body')[0].innerHTML = htmlString;
})()
</script>
<body>
</html>
Here's an example我用它为我拥有的平面 repo 创建了一个简单的目录。
关于git - 如何在 GitHub 页面上启用目录索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39048654/