Ошибка из-за следующего кода в meta
вашего сайта:
<meta name="keywords" content="{{site.tags}}">
site.tags
- это хеш всех сообщений, помеченных для данной строки. A hash здесь обозначает контейнер пар ключ-значение. Например:
{"foo" => "bar", "alpha" => "beta"}
Решения
Используйте некоторую другую переменную для обозначения ключевых слов. Например, keywords
. В вашем конфигурационном файле замените ключ tags
на keywords
.
keywords: [
"HTML",
"Python",
"CSS",
"Coding",
"Blog"
]
Затем обновите head.html
, включив:
<meta name="keywords" content="{{ site.keywords }}">
Относительно рендеринга флажковВам нужно знать, что kramdown рассматривает все строки с 4 ведущими пробелами для обозначения кодового блока. Поэтому следующий
{% for post in site.posts %}
{% for tag in post.tags %}
<input type="checkbox">{{tag}}<br>
{% endfor %}
{% endfor %}
будет производить только
<input type="checkbox">code<br>
<input type="checkbox">test<br>
<input type="checkbox">example<br>
<input type="checkbox">python<br>
(они не отображаются как входные данные HTML, а как необработанный код.)
Чтобы увидетьвнутреннее представление любого объекта, который вы собираетесь использовать в Liquid, вы можете передать его в фильтр inspect
. Например, чтобы увидеть, что на самом деле является site.tags
(или site.categories
), вы можете проверить их с помощью:
<code><pre>{{ site.tags | inspect }}