子文件夹中的绝对链接不遵守GitHub页面中的BaseURL设置

时间:2018-04-19 20:19:16

标签: markdown jekyll github-pages

在GitHub页面中,绝对链接未按预期工作。我的目标是文档中的所有链接都是根目录的绝对链接,并且在GitHub页面中呈现时,要使其前缀与项目名称的链接,以便链接中的所有绝对URL都能正常工作(例如/test/page.md/<PROJECT_NAME>/test/page.html。但是,我遇到了子文件夹中的页面链接被错误转换的问题。例如,这是一个示例文件结构:

  • index.md
  • doc.md
  • folder
    • index.md
    • doc2.md

我的_config.yml包含以下内容:

baseurl: "/<PROJECT_NAME>"

index.md内,我有以下链接:[Link Text](/folder/index.md)。这正确地转换为指向/<PROJECT_NAME>/folder/index.html的HTML链接。 index.md[Link Text](/doc.md)中的链接也可以按预期工作。

/folder/index.md内,我有[Link Text](/folder/doc2.md)。这错误转换为/folder/doc2.md,而应为<PROJECT_NAME>/folder/doc2.html。同样,[Link Text](/doc.md)被错误地转换为/doc.md,而它应该是/<PROJECT_NAME>/doc.html

总结:绝对链接被正确翻译为直接在根中包含基本URL,但不包含在任何子文件夹中。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你试图使用的是亲戚的亲戚,亲戚的根。

要让他们工作,您必须引用site.baseurl

[Link Text]({{ site.baseurl }}/folder/index.md)[Link Text]({{ site.baseurl }}/index.md)将有效。

答案 1 :(得分:0)

你可能想尝试这个(在头脑中):

<head>
  <base href="{{ site.baseurl }}">
</head>

Source