【问题标题】:Internal links not working for me in Jekyll内部链接在 Jekyll 中对我不起作用
【发布时间】:2018-04-27 20:06:54
【问题描述】:

我环顾四周,一切都告诉我[link](path) 应该创建链接标记。然而,由于某种原因,我无法让它工作。

我最初尝试[my link]({{ site.baseurl }}{% link _my_collection/my-file.md %}),它只是打印出[my link](my/correct/path),但没有创建标记。我也尝试了[link text](https://google.com),结果相同。有谁知道我可能会错过什么,也许是一些宝石?

使用 jekyll 3.7.2

【问题讨论】:

  • 你的文件扩展名是什么?
  • .md 就像我的第二个例子
  • 好的.. 需要一个指向您的存储库的公共链接,以查看是否还有其他东西在起作用(例如,配置设置、插件、前端问题等)

标签: markdown jekyll liquid kramdown


【解决方案1】:

您可能在html block 元素(p、h1、...)中使用了降价。而 kramdown 默认情况下不会解析此类标签中的 markdown。

为了解析html块元素中的md,你可以像这样配置kramdown:

_config.yml

kramdown:
  parse_block_html: true

【讨论】:

  • 我对这个抱有希望,但它没有用。我看到另一个帖子具有相同的原因,建议在块元素上添加 markdown="1" 。但这也没有用。也没有合并修复。
  • 存储库是私有的。当我有时间的时候,我可以尝试制作一个类似的公开的。我想你只需要 _config.yml 或者 package.json / Gemfile,对吧?
  • 和一个 .md 页面重现您的问题。
【解决方案2】:

我忘记了这个问题。 Jekyll 似乎没有任何方法可以直接翻译此标记,但我确实使用markdown 文本过滤器管理了一个解决方法:

{%- capture links -%}
  [my link]({{ site.baseurl }}{% link _my_collection/my-file.md %})
  [my link](my/correct/path)
  [link text](https://google.com)
{%- endcapture -%}
{# Remove <p> tags that markdownify seems to add #}
{{ links | markdownify | remove: '<p>' | remove: '</p>' }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 2014-08-13
    • 2016-04-12
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    相关资源
    最近更新 更多