Quarto. Плагин quarto-partials
2025-09-05
·
2 мин. для прочтения
Содержание
1 Общая информация
- Репозиторий: https://github.com/gadenbuie/quarto-partials
- Реализует подстановку mustache (см. Подстановка Mustache)
2 Установка
- Установить расширение в каталог _extensions.
quarto add gadenbuie/quarto-partials
3 Использование
- Используйте шорткод {{< partial file ... >}}для включения частичного содержимого изfile.
- Можно указать именованные пары «ключ-значение» для создания шаблона данные.
3.1 _hello.md
- Пусть - _hello.mdсодержит следующее содержание:- Hello, {{ name }}!
- Укажем наше собственное значение для - {{ name }}:- {{< partial _hello.md name="weary traveler" >}}
- Результат: - Hello, weary traveler!
- Можно включить частичные данные в начало документа, используя ключ - partial-data:
partial-data:
  name: "friend"
{{< partial _hello.md >}}
Or used inline: To you I say "{{< partial _hello.md >}}"
- Результат:
Hello, friend!
Or used inline: To you I say “Hello, friend!”
- В качестве альтернативы второй аргумент шорткода может указывать на пользовательский ключ в вашем YAML-файле, например
my-data:
  friends:
    name: amigo
{{< partial _hello.md my-data.friends >}}
- Результат:
Hello, amigo!
- Другой вариант — предоставить JSON в данные шорткода.
- Любая пара «ключ-значение», начинающаяся с {или[будет преобразован в объект или массив JSON.
3.2 _hello_first_last.qmd
- Содержание файла _hello_first_last.qmd:
::: {.callout-tip title="Hi there!"}
{{#person}}
Hello, {{ honorific }} {{ name.first }} {{ name.last }}!
{{/person}}
:::
- Делаем постановку:
{{< partial _hello_first_last.qmd person='{"honorific": "Mr.", "name": {"first": "Garrick", "last": "Aden-Buie"}}' >}}
- Результат:Hi there! Hello, Mr. Garrick Aden-Buie!
3.3 _favorite_fruits.md
- Содержание файла _favorite_fruits.md:
These are a few of my favorite fruits:
{{#fruits}}
- {{.}}
{{/fruits}}
- Сделаем подстановку.
{{< partial _favorite_fruits.md fruits='["apple", "banana", "coconut", "mango"]' >}}
- Результат:These are a few of my favorite fruits: - apple  - banana  - coconut  - mango
