如何从 Jekyll 钩子中的 _config.yml 文件中读取值

How to read values from _config.yml file in Jekyll hook

我正在尝试在我的 Jekyll 挂钩方法中读取 _config.yml 的特定部分,如下所示:

Jekyll::Hooks.register :site, :after_init do
    lm = Jekyll.config("latex-macros")
end

_config.yml 中是:

latex-macros:
  - ["\RR", "\mathbb{R}"]

所以在 lm 变量中应该是:

[["\RR", "\mathbb{R}"]]

我已经尝试使用 Jekyll.configuration({})["latex-macros"] 并且它有点工作,但它会忽略 --config 终端选项并在每次调用时读取文件。这让我无法使用它。


我也试过了

Jekyll::Hooks.register :site, :after_init do
    lm = context.registers[:site].config["latex-macros"]
end

但它抛出 运行 时间错误:

katex.rb:8:in '<top (required)>': undefined local variable or method 'context' for main:Object (NameError)


我的问题是,如何正确读取 jekyll hook 中的 _config.yml 值?如何修复第二种方法?

感谢您的帮助

因为我使用 Jekyll 已经有很长时间了,所以我从头开始写这篇文章。您需要将 site 变量传递给挂钩。

Jekyll::Hooks.register :site, :after_init do |site|
  # Access using site.config[key]
  puts site.config['latex-macros']
end