У меня есть сайт 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
, он автоматически генерирует более легкие для запоминания / использования имена переменных на основе номера идентификатора продукта во frontmatter. Затем я могу включить имена переменных в статью, например {{ product-name }}
, и она автоматически разрешает переменные, созданные из vars
include.
ПРОБЛЕМА: Когда я обновляю jekyll, чтобы использовать все 4,0 переменные пусты. Если поместить {{ product-name }}
где-то в post.md
в поле vars
include, оно автоматически преобразуется в название продукта. На 4.0 становится пустым. Единственное изменение, которое я делаю, - это обновление до Jekyll 4.0. Если я понижаю все переменные, они работают нормально.