在GitHub Pages上为README.md文件生成目录(Table of Contents,简称ToC)可以通过使用Markdown扩展语法来实现。以下是具体的步骤和示例代码:
目录(ToC):在文档中,目录是一个列出文档主要部分及其对应页码的列表,方便读者快速定位到感兴趣的内容。
GitHub Pages支持使用Jekyll等静态站点生成器,可以通过添加插件或手动编写代码来生成ToC。
在README.md文件的顶部添加以下代码块:
<!-- TOC -->
- [标题1](#标题1)
- [子标题1.1](#子标题11)
- [子标题1.2](#子标题12)
- [标题2](#标题2)
<!-- /TOC -->
然后,在每个标题下方添加锚点:
## 标题1 {#标题1}
### 子标题1.1 {#子标题11}
### 子标题1.2 {#子标题12}
## 标题2 {#标题2}
如果你使用Jekyll来构建你的GitHub Pages站点,可以安装jekyll-toc
插件来自动生成目录。
_plugins
目录下创建一个名为toc_generator.rb
的文件,并添加以下内容:module Jekyll
class TocGenerator < Generator
safe true
priority :low
def generate(site)
site.pages.each do |page|
if page.extname == '.md'
toc = page.data['toc'] || {}
toc_content = "<ul>"
page.data['toc_items'].each do |item|
toc_content += "<li><a href='##{item[:anchor]}'>#{item[:title]}</a></li>"
end
toc_content += "</ul>"
page.content = "#{toc_content}\n\n#{page.content}"
end
end
end
end
end
_config.yml
文件中添加以下配置:toc:
enabled: true
{% raw %}
{% toc %}
{% endraw %}
问题:生成的目录没有正确显示或链接失效。 原因:可能是锚点ID与标题不匹配,或者Markdown解析器没有正确处理扩展语法。 解决方法:
_config.yml
中启用。通过以上方法,你应该能够在GitHub Pages上的README.md文件中成功生成目录。
领取专属 10元无门槛券
手把手带您无忧上云