私はジキルと同じようにするのは良い方法はないと思います。 convertible.rb
は、ページ固有のデータを含まないLiquidにsite
オブジェクトのみを渡します。
私は、必要なデータを渡し、メインプロジェクトにプルリクエストを送信して変更を取り込み、ローカルにフォークを使用してサイトを生成するように編集することをお勧めします。オープンソースのためのHooray!
次些細なパッチが(注:context.registers[:page]['url']
にアクセスしたいので、それは、この時点で変換前のハッシュだ、ではないcontext.registers[:page].url
)context.registers[:page]
のような液体で利用可能なページのハッシュを作り、ジキル0.11.0に対してローカルに私の作品:
diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb
index d33abc5..a674ef5 100644
--- a/lib/jekyll/convertible.rb
+++ b/lib/jekyll/convertible.rb
@@ -69,7 +69,7 @@ module Jekyll
#
# Returns nothing.
def do_layout(payload, layouts)
- info = { :filters => [Jekyll::Filters], :registers => { :site => self.site } }
+ info = { :filters => [Jekyll::Filters], :registers => { :site => self.site, :page => payload['page'] } }
# render and transform content (this becomes the final content of the object)
payload["pygments_prefix"] = converter.pygments_prefix
明らかにされていません
def render(context)
page_url = context.environments.first["page"]["url"]
をそれがコードにパッチを適用する必要はありません:
で取得することができ
url
とpath
を含め、現在のページのプロパティのほとんどでハッシュを返すように思われます。完全に直感的ではありません。これを計算してくれてありがとう。 – cboettig
しかし 'initialize'で' context'オブジェクトを取得する必要があればどうしますか? – jackyalcine