如何在GitHub Pages网站中实现目录索引/列表功能
给GitHub Pages添加目录索引功能
GitHub Pages本身不支持Apache那样自动生成目录索引的原生功能,不过可以通过以下两种方式实现类似效果:
手动生成目录页面
- 在需要展示目录的文件夹下创建
index.md或index.html文件 - 按照Markdown链接格式,手动列出该文件夹下的所有文件和子文件夹
- 示例
index.md内容:
# 当前目录文件 - [用户手册.pdf](用户手册.pdf) - [示例代码文件夹](demo_code/) - [技术文档.md](技术文档.md)
脚本自动生成目录
如果文件夹内容经常更新,手动维护太麻烦,可以写脚本自动生成index.md:
- Python脚本示例(可根据需求调整):
import os def build_index(folder): # 初始化目录内容 index_text = "# 目录\n" # 按文件名排序遍历内容 for entry in sorted(os.listdir(folder)): # 跳过自身index文件 if entry == "index.md": continue # 添加链接条目 index_text += f"- [{entry}]({entry})\n" # 写入index.md文件 with open(os.path.join(folder, "index.md"), "w", encoding="utf-8") as f: f.write(index_text) # 运行脚本,指定目标文件夹(当前目录用".") build_index("./docs")
- 运行脚本后把生成的
index.md提交到GitHub仓库,GitHub Pages会自动渲染这个页面
额外提示
- 如果使用Jekyll搭建GitHub Pages,可以利用Jekyll的
directory_index插件(属于官方白名单插件),配置后能自动生成目录页面,不过需要在_config.yml中启用相关设置 - 所有自定义的
index文件都需要提交到仓库,GitHub Pages不会动态生成目录
内容的提问来源于stack exchange,提问作者sprydagger
相关产品推荐
相关产品推荐

