【问题标题】:How to read values from _config.yml file in Jekyll hook如何从 Jekyll 钩子中的 _config.yml 文件中读取值
【发布时间】:2020-04-27 07:16:46
【问题描述】:

我正在尝试在我的 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 '': undefined local variable or method 'context' for main:Object (NameError)


我的问题是,如何正确读取 jekyll 挂钩中的 _config.yml 值?如何解决第二种方法?

感谢您的帮助

【问题讨论】:

    标签: ruby yaml jekyll hook


    【解决方案1】:

    由于我使用 Jekyll 已经很长时间了,所以我从头到尾写这篇文章。您需要将site 变量传递给钩子。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多