ruby - 如何在 Jekyll 钩子中从 _config.yml 文件中读取值
问题描述
我正在尝试阅读_config.yml
我的 Jekyll 钩子方法中的特定部分,如下所示:
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)
我的问题是,如何_config.yml
正确读取 jekyll hook 中的值?如何解决第二种方法?
谢谢您的帮助
解决方案
由于我使用 Jekyll 已经很长时间了,所以我是从头顶上写这篇文章的。您需要将site
变量传递给钩子。
Jekyll::Hooks.register :site, :after_init do |site|
# Access using site.config[key]
puts site.config['latex-macros']
end
推荐阅读
- javascript - 给定数组,编写一个返回订单对象的函数
- java - Spring OAuth2 通过 Client-Id 获取 UserInfoUri
- python-3.x - LP3THW - python3 ex18.py(及更高版本)不再运行
- powershell - 如何在powershell中将多个值放入一个变量中?
- mysql - 有什么方法可以使用 select 语句(mysql)检索表的 ddl?
- javascript - `!name` 在 javascript 中是什么意思?
- arrays - 如何在c中创建一个链表数组?
- javascript - NetSuite Suitelet子列表分页处理方法及首页索引列表位置调整
- java - Log4j 不断写入旋转删除的日志文件
- python - 在递归函数调用中保存列表