如何在不重命名文件的前提下修改GitHub Wiki的页面/Topic标题?
GitHub Wiki修改页面标题不破坏原有链接的解决方案
根本解决方案:固定文件名,仅修改页面内一级标题
这个方案可以从根源上避免修改标题导致的链接失效问题,操作逻辑如下:
- GitHub Wiki的页面展示标题优先读取Markdown文件内的第一个一级标题(
# 标题内容),页面URL则完全由Markdown文件名决定,二者是独立的 - 首次创建页面时,就给文件设置永久不变的语义化英文名,比如
quick-start.md、api-reference.md,不要使用会变动的版本号、临时标题作为文件名 - 后续需要修改页面展示标题时,只需要修改文件内的第一个
#开头的一级标题内容即可,文件名保持不变,对应的页面URL就不会发生任何变化,所有原有链接都能正常访问 - 内部链接统一使用文件名作为相对路径,例如
[快速入门](./quick-start),不要用页面展示标题作为链接目标,避免标题修改后内部链接失效
已修改文件名导致链接失效的补救方案
如果已经修改了文件名导致原有链接无法访问,可以通过以下方法修复:
- 批量修复内部链接:将Wiki仓库克隆到本地,使用编辑器的全局搜索替换功能,批量将所有旧文件名链接替换为新文件名链接,修改完成后推送即可
- 保留旧文件做跳转:不要删除旧文件名对应的Markdown文件,在旧文件中添加跳转提示,示例内容如下:
本页面已迁移至 新页面名称
若你通过旧链接跳转至此,请更新你的书签为新地址。
如果需要实现自动跳转,可以在旧文件顶部添加如下内容(部分浏览器可能会拦截自动跳转,建议保留手动跳转提示):
<meta http-equiv="refresh" content="0; url=./new-page-name">
注意事项
- 不要通过GitHub Wiki的GUI界面直接修改页面标题,该操作会自动同步修改文件名,进而导致URL变更
- 所有链接优先使用相对路径,不要填写完整的HTTP链接,避免仓库迁移、改名后链接失效
- 文件名一旦确定后不要随意修改,所有的标题变动都仅在文件内调整即可
内容的提问来源于stack exchange,提问作者beartoothhiker
相关产品推荐
相关产品推荐

