Ответ 1
С Jekyll 2.x вы можете использовать этот плагин.
Это позволяет вам сделать что-то вроде {{ site | debug }}
.
С Jekyll 3 у вас есть {{ variable | inspect }}
.
Я хочу пик в мозгу Джекила и посмотреть, что происходит, в php у вас get_defined_vars, поэтому я попытался сделать что-то похожее на это:
{% for local_variable in local_variables %}
<p> {{ local_variable }} </p><br>
{% endfor %}
Какой выход ничего нет. Я слишком стараюсь? Есть ли какой-нибудь метод в рубине или jekyll для этого? Я просто хотел бы сориться и убедиться, что все установлено правильно и, возможно, узнать о переменных, о которых я не знаю.
С Jekyll 2.x вы можете использовать этот плагин.
Это позволяет вам сделать что-то вроде {{ site | debug }}
.
С Jekyll 3 у вас есть {{ variable | inspect }}
.
inspect
не позволяет вам заглядывать внутрь переменных, где jsonify
делает именно это.
{{ variable | jsonify }}
Не нужно никаких плагинов.
Пожалуйста, имейте в jsonify
что jsonify
будет использовать столько памяти, сколько нужно для своей работы без каких-либо конкретных ограничений. Скажем, если у вас есть сотни постов или страниц, и вы хотите jsonify их все сразу, это может работать не так, как вы ожидаете. В худшем случае система может выйти из ОЗУ и перестать отвечать на запросы. Осуществлять должную осторожность.
Другие ответы не касаются части вопроса "все переменные".
Хотя Jekyll не предлагает эквивалент get_defined_vars
, в документации объявляются все доступные глобальные переменные (которые на данный момент представляют собой site
, page
, layout
, content
и paginator
).
Поэтому вы можете отлаживать/печатать все переменные с помощью ряда jsonify
фильтра jsonify
(фильтрация также jsonify
с помощью escape
поскольку некоторые из них будут содержать HTML):
<pre>
site: {{ site | jsonify | escape }}
page: {{ page | jsonify | escape }}
layout: {{ layout | jsonify | escape }}
content: {{ content | jsonify | escape }}
paginator: {{ paginator | jsonify | escape }}
</pre>