如何从 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
我正在尝试在我的 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