У меня есть сайт Jekyll со статьями о продуктах. В верхней части каждого post.md
я добавляю файл с {%- include vars -%}
. vars
— это включаемый файл, содержащий {%- include varfiles/product.html id=page.product -%}
. Он автоматически захватывает номер продукта на странице, а затем передает его product.html
в папку varfiles
. Далее product.html
{%- assign product = site.data.products | where:"id",include.id | first -%}
<!-- product name -->
{%- if product.name -%}
{%- capture product-name -%}
{{ product.name }}
{%- endcapture -%}
{%- endif -%}
plus a lot more similar to the code above
Файл, по сути, представляет собой множество типов создателей имен переменных на основе свойств продукта, извлеченных из файла данных продуктов, который представляет собой список продуктов. В результате, когда я добавляю {%- include vars -%}
вверху любого post.md
, автоматически генерируются более простые для запоминания/использования имена переменных на основе идентификационного номера продукта во вступительной части. Затем я могу включить имена переменных в статью, например {{ product-name }}
, и она автоматически разрешается из переменных, созданных из включения vars
.
ПРОБЛЕМА: когда я обновляю jekyll до версии 4.0, все переменные пусты. Если поместить {{ product-name }}
где-нибудь в post.md
под vars
, он автоматически преобразует его в название продукта. На 4.0 становится пусто. Единственное изменение, которое я делаю, это обновление до Jekyll 4.0. Если я понизил, все переменные работают нормально.