Jekyllの頭脳にピークを置き、何が起こっているのかを確認したいのですが、phpには get_defined_vars があるので、次のようにしてそれに似たことを実行しようとしました。
{% for local_variable in local_variables %}
<p> {{ local_variable }} </p><br>
{% endfor %}
何も出力しません。頑張ってる? Rubyまたはこれのためのjekyllにいくつかのメソッドがありますか?私はあちこち調べて、すべてが正しく設定されていることを確認し、おそらく私が知らない変数について調べたいと思います。
Jekyll 2.xでは、 このプラグイン を使用できます。
{{ site | debug }}
のようなことができます。
Jekyll 3以降、{{ variable | inspect }}
を使用しています。
他の回答では、質問の「すべての変数」の部分は扱いません。
ジキルはget_defined_vars
同等、 ドキュメント は宣言 使用可能なすべてのグローバル変数 を宣言します(現時点では、site
、page
、layout
、content
、およびpaginator
です)。
したがって、一連のjsonify
filter 呼び出しを使用してall変数をデバッグ/印刷できます(一部の変数はescape
でフィルタリングされるため、 HTMLを含む):
<pre>
site: {{ site | jsonify | escape }}
page: {{ page | jsonify | escape }}
layout: {{ layout | jsonify | escape }}
content: {{ content | jsonify | escape }}
paginator: {{ paginator | jsonify | escape }}
</pre>
変数をきれいに表示するには、これを任意のテンプレートに挿入できます。
<pre id="jekyll-debug"></pre>
<script>
var obj = JSON.parse(decodeURIComponent("{{ site | jsonify | uri_escape }}"));
var pretty_json = JSON.stringify(obj, null, 4); // Pretty-printed JSON (indented 4 spaces).
document.getElementById("jekyll-debug").textContent = pretty_json;
</script>
site
を変更します({{ site | jsonify | uri_escape }}
)を印刷する変数に変更します。
その後、生成されたページに変数がきちんと配置されているのを確認できます。このようなもの: