Для Asciidoctor вы можете добавить идентификатор к каждому термину в списке определений:
[[apple]]Apple::
A red fruit
[[banana]]Banana::
A yellow fruit
Затем вы можете связать их с синтаксисом перекрестных ссылок на странице:
See <<apple>> for more details.
Как видите, разметка довольно проста. Если вы не хотите добавлять идентификатор вручную, вы можете написать скрипт для его добавления. Например, если у вас есть документ вроде:
= Document
Apple::
A red fruit.
Banana::
A yellow fruit.
Вы можете сделать это:
cat file.adoc | perl -ne 's/^([^:\[]+)::$/[[\L$1\E]]$1::/; print $_'
, который печатает:
= Document
[[apple]]Apple::
A red fruit.
[[banana]]Banana::
A yellow fruit.
Если вам нужно сохранить в результате сделайте следующее:
cat file.adoc | perl -ne 's/^([^:\[]+)::$/[[\L$1\E]]$1::/; print $_' > file_with_id.adoc
Примечание. Если ваш список определений содержит термины с пробелами, вам потребуется проделать дополнительную работу, чтобы преобразовать пробелы в дефисы или другие HTML безопасные символы идентификатора.