Jekyll 是一个静态网站生成器,它使用 Markdown 和 Liquid 模板引擎来生成静态网页。_config.yml
文件是 Jekyll 的配置文件,用于存储全局设置和变量。Jekyll Hooks 是在特定生命周期事件中执行的脚本,允许你在构建过程的特定阶段插入自定义逻辑。
_config.yml
中定义的变量在 Jekyll Hooks 中访问 _config.yml
中定义的变量可以通过以下几种方式实现:
site
对象在 Liquid 模板中,site
对象包含了 _config.yml
中的所有配置变量。你可以在 Hook 脚本中通过 site
对象访问这些变量。
如果你需要在 Hook 脚本中直接使用 Ruby 代码访问这些变量,可以通过 Jekyll::Site
实例来获取。
假设你在 _config.yml
中定义了一个变量 my_variable
:
my_variable: "Hello, Jekyll!"
{{ site.my_variable }}
创建一个 Ruby 脚本(例如 my_hook.rb
)并将其放在 _plugins
目录下:
Jekyll::Hooks.register :site, :post_read do |site|
puts "My Variable: #{site.config['my_variable']}"
end
Jekyll Hooks 主要有以下几种类型:
:post_read
、:pre_render
等。:post_render
。_config.yml
中的变量原因:可能是由于 Hook 脚本没有正确注册或执行时机不对。
解决方法:
_plugins
目录下。例如,如果你需要在读取站点配置后立即访问变量,可以使用 :post_read
钩子:
Jekyll::Hooks.register :site, :post_read do |site|
puts "My Variable: #{site.config['my_variable']}"
end
通过这种方式,你可以在 Jekyll 构建过程中灵活地访问和使用 _config.yml
中定义的变量。
领取专属 10元无门槛券
手把手带您无忧上云