From 09241f926a6dbd430150b18ec274bd711e873ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Dequ=C3=A8nes=20=28Duck=29?= Date: Fri, 9 Aug 2019 17:17:43 +0900 Subject: [PATCH] pass Jekyll context to Haml renderer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is needed to access the site/page/… variables usually accessible in Liquid templates in Ruby code. --- lib/jekyll-haml/tags/haml_partial.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/jekyll-haml/tags/haml_partial.rb b/lib/jekyll-haml/tags/haml_partial.rb index ba728e8..1b7d024 100644 --- a/lib/jekyll-haml/tags/haml_partial.rb +++ b/lib/jekyll-haml/tags/haml_partial.rb @@ -25,7 +25,10 @@ def render(context) choices = Dir['**/*'].reject { |x| File.symlink?(x) } if choices.include?(@file) source = File.read(@file) - conversion = ::Haml::Engine.new(source).render.delete("\n") + payload = context.registers[:site].to_liquid + payload.page = context.registers[:page] + payload.paginator = context.registers[:page].pager + conversion = ::Haml::Engine.new(source).render(payload.to_h).delete("\n") partial = Liquid::Template.parse(conversion) begin return partial.render!(context)