Я пытаюсь создать документацию для моего проекта, которая имеет определенный протокол связи через последовательный интерфейс.
Протокол работает так:
Request data: 'command id''argument1''argument2'
Response: 'command id''response'
Где 'идентификатор команды' - это один символ, и между идентификатором и аргументами нет пробела.
Мне нужно выделить каждый аргумент, чтобы человек, который его читает, мог определить, где начинается и заканчивается каждый аргумент, и предоставить определение каждому аргументу позже.
Лучший результат, который мне удалось получить, это использование опции glossary
от sphinx. Проблема в том, что глоссарий является глобальным, поэтому я не могу повторить ни одного термина из любой команды.
Вот код rst
с решением glossary
command: L (0x4C)
-----------------
Description: Example command.
Usage: :term:`L`\ :term:`argument1`\ :term:`argument2`
.. glossary::
L
command identifier.
argument1
first argument1
argument2
second argument
Answer: :term:`L`\ :term:`response`
.. glossary::
L
command identifier.
response
response example.
Я также пытался использовать:
:samp: `L{argument1}{argument2}`
но при этом невозможно различить каждый аргумент в выходной документации. Способ чередовать цвет каждого аргумента?
Также пытались чередовать каждый аргумент с полужирной разметкой, но это переопределяется стилем темы, если это не блок контента.
Как мне достичь результата, подобного приведенному в примере, но ограничив glossary
строкой, которую я описываю? Ссылка, созданная с glossary
между термином и его определением, не требуется.
Я использую тему, предоставленную readthedocs, но это не является обязательным требованием.
Заранее спасибо.