你好:我已经为我的存储库和GitHub页面创建了readme.md文件。但是,当我创建格式为h2/##或h3/###等的标题时,自动创建了页内锚链接。我尝试了不同的标题格式方式,如##、、--- --,但结果都一样。每个标题都会出现这种情况。这发生在存储库中的readme.md文件和转换为GitHub页面的文件中。我在chrome浏览器和edge浏览器中进行了测试,行为相同。
# 示例
将创建标题和一个不想要的页内链接
## 示例
将创建标题和一个不想要的页内链接这些是来自GitHub页面的anchorjs默认CSS规则的一部分。
<h2 id="skills">Skills
<a class="anchorjs-link"
href="#skills"
aria-label="Anchor"
data-anchorjs-icon=""
style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;">
</a>
</h2>
.anchorjs-link {
display: none !Important;
}
GitHub在github/Markup中记录了他们的标记处理过程。请注意,Markdown在第一步中被转换为HTML,但不会向标题添加任何锚点。然而,在与Markdown解析分开的第4步中,文档中的所有标题都会添加锚点。这适用于所有内容,无论是来自Markdown、ReStructured Text、textile、asscidoc等,也不仅限于Markdown。
请注意,上述内容仅适用于用户提供的在github.com上显示的内容。这是他们控制的网站,所以我们不能改变/覆盖该行为。
然而,与GitHub Pages不同的是,默认情况下,GitHub Pages使用Jekyll将Markdown文件转换为HTML。 Jekyll包含一些选项来控制Markdown的处理方式,包括auto_ids
选项。关闭该选项(设置为false),Jekyll将不再为每个标题添加ID。然而,这是Kramdown的一个选项,但据我所知,GitHub Pages使用的是GitHub Flavored Markdown变体的Commonmark,它没有任何此类选项。就此而言,GFM规范也没有指示标题将被分配ID(所以我不确定这些ID来自哪里)。您可以尝试配置Jekyll使用关闭了auto_ids
选项的Kramdown。 配置选项“可以在放置在站点根目录中的_config.yml
或_config.toml
文件中指定。”
.nojekyll
的空文件,GitHub将不会通过Jekyll运行您的文件。通过这种方式,您可以完全控制页面的内容和格式。