Configuration 如何使用Kramdown links_def选项在Jekyll_config.yml中预定义链接?

Configuration 如何使用Kramdown links_def选项在Jekyll_config.yml中预定义链接?,configuration,jekyll,kramdown,Configuration,Jekyll,Kramdown,说Jekyll的链接定义可以使用Kramdown的link\u defs选项预定义,但我无法让它工作 表示link_defs的值必须是一个散列,其中链接标识符作为键,并且是一个由两部分组成的值数组(URL和标题)。以下是我的\u config.yml的相关部分: kramdown: link_defs: check: - first - second syntax_highlighter_opts: disable: true 下面是我运行bun

说Jekyll的链接定义可以使用Kramdown的
link\u defs
选项预定义,但我无法让它工作

表示
link_defs
的值必须是一个散列,其中链接标识符作为键,并且是一个由两部分组成的值数组(URL和标题)。以下是我的
\u 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']
也没有帮助。

来自@gettoon的解决方案有效,可以与YAML的折叠多行字符串组合:

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

这并不漂亮,但很管用…

看来Jekyll正在将“check”字符串转换为:check符号。你能试试“link_defs:{check:[first,second]}”吗?但是,
site.kramdown.link_defs
是一个字符串,而不是散列,当你在Jekyll中处理它时,你不能(例如)循环它来构建一个外部链接表以供参考。有关错误报告,请参阅。