【问题标题】:Absolute Links from Subfolder Do Not Respect BaseURL Setting in GitHub Pages子文件夹中的绝对链接不遵守 GitHub 页面中的 BaseURL 设置
【发布时间】:2018-04-19 20:19:16
【问题描述】:

在 GitHub 页面中,绝对链接无法按预期工作。我的目标是文档中的所有链接相对于根目录都是绝对的,并且在 GitHub 页面中呈现时,将其作为项目名称的前缀链接,以便链接中的所有绝对 URL 都能正常工作(例如 /test/page.md 到 @987654322 @。但是,我遇到了子文件夹中页面链接转换不正确的问题。例如,这是一个示例文件结构:

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

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

baseurl: "/<PROJECT_NAME>"

index.md 内,我有以下链接:[Link Text](/folder/index.md)。这会正确地转换为指向 /&lt;PROJECT_NAME&gt;/folder/index.html 的 HTML 链接。 index.md[Link Text](/doc.md) 的链接也可以正常工作。

/folder/index.md 里面我有[Link Text](/folder/doc2.md)。这是错误地转换为/folder/doc2.md,而它应该是&lt;PROJECT_NAME&gt;/folder/doc2.html。同样,[Link Text](/doc.md) 被错误地转换为/doc.md,而它应该是/&lt;PROJECT_NAME&gt;/doc.html

总而言之:绝对链接已正确转换为直接将基本 URL 包含在根目录中,但不包含在任何子文件夹中。

有什么想法吗?

【问题讨论】:

    标签: markdown jekyll github-pages


    【解决方案1】:

    您尝试使用的是亲戚网址,root 的亲戚。

    要使它们起作用,您必须引用您的 site.baseurl

    [Link Text]({{ site.baseurl }}/folder/index.md)[Link Text]({{ site.baseurl }}/index.md) 可以工作。

    【讨论】:

    • 有没有办法在不使用{{ site.baseurl }} 的情况下实现这一点,即不破坏原版 Markdown 中的链接?
    • @joosts 答案可能是一个解决方案,但基本 href 可能会很棘手。见stackoverflow.com/questions/1889076
    【解决方案2】:

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

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

    Source

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2022-09-11
      • 2012-06-13
      • 2021-09-20
      • 1970-01-01
      • 2015-07-24
      • 2011-07-23
      相关资源
      最近更新 更多