Как с помощью AsciiDoctor передавать переменные в исходный код и блоки примеров?

Кто-нибудь знает, как передать переменные {var} в блоки [source] и блоки примеров (с ====) в Asciidoc?

Я пробовал следующее

:country: France
:city: Shanghai

[source]
----
print("{country} is a country")
print("{city} is a city")
----

.Example
====
{country} is a country +
{city} is a city
====

.Example with better alignment
====
    {country} is a country
    {city} is a city
====

Но вот что я получаю:

результат

На самом деле первый «пример» работает, но это не идеальное решение, потому что:

  • У него нет серой области, как в других примерах.
  • Мне нужно добавить + в конце каждой строки

Ждем ваших отзывов. Заранее спасибо!


person Jean-Francois T.    schedule 27.09.2018    source источник


Ответы (1)


Как описано здесь, вам необходимо включить замену атрибутов в блоках кода. Вы можете добиться этого с помощью примера [subs="attributes"]complete, который должен выглядеть примерно так:

[source, subs="attributes"]
----
  print("{country} is a country")
  print("{city} is a city")
----

.Example with better alignment
====
[subs="attributes"]
    {country} is a country
    {city} is a city
====
person EhmKah a.k.a. Michael Krauße    schedule 27.09.2018
comment
Потрясающий! Обратите внимание, что вы можете упростить с помощью [source, subs="attributes"]... но остается вопрос для примера с лучшим выравниванием, в котором используется ====: есть идеи? - person Jean-Francois T.; 28.09.2018
comment
Просто поместите [subs=attributes] под =. (Трудно прочитать в комментарии) .Пример с лучшим выравниванием ==== [subs=attributes] {country} это страна {city} это город ==== Или я вас не так понял? (Обновленный ответ) - person EhmKah a.k.a. Michael Krauße; 28.09.2018