【问题标题】:How to pre-define links in Jekyll _config.yml using Kramdown links_def options?如何使用 Kramdown links_def 选项在 Jekyll _config.yml 中预定义链接?
【发布时间】:2021-02-22 17:44:25
【问题描述】:

https://jekyllrb.com/docs/configuration/markdown/ 说 Jekyll 的链接定义可以使用 Kramdown 的 link_defs 选项预定义,但我无法使其工作。

https://kramdown.gettalong.org/options.html 表示link_defs 的值必须是一个哈希值,其中链接标识符作为键和一个由两部分组成的值数组(URL 和标题)。这是我的_config.yml 的相关部分:

kramdown:
  link_defs:
    check:
      - first
      - second
  syntax_highlighter_opts:
    disable: true

这是我运行时遇到的错误bundle exec jekyll build

jekyll 3.9.0 | Error:  undefined method `gsub' for :check:Symbol

将链接 ID 从 check 更改为其他任何值都没有任何区别;使用内联数组 ['first', 'second'] 也无济于事。

【问题讨论】:

  • 似乎 Jekyll 正在将“check”字符串转换为 :check 符号。你能试试 'link_defs: "{check: [first, second]}"` 吗?

标签: configuration jekyll kramdown


【解决方案1】:

@gettalong 的解决方案有效,可以与 YAML 的折叠多行字符串结合使用:

kramdown:
  link_defs: >
    {
      check: [first, second],
      another: [third, "fourth"]
    }

它并不漂亮,但它确实有效......

【讨论】:

  • 但是,site.kramdown.link_defs 是一个字符串,而不是一个哈希,当你在 Jekyll 中处理它时,你不能(例如)循环它来构建一个外部链接表以供参考。有关错误报告,请参阅 github.com/jekyll/jekyll/issues/8588
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
相关资源
最近更新 更多