Я сам новичок в AsciiDoc, но этого может быть достаточно, чтобы вы начали. К сожалению, не существует действительно простого способа установить пользовательские стили с помощью простых директив во входном файле AsciiDoc. В конечном счете, AsciiDoc просто include
добавляет файл таблицы стилей в ваш вывод (после довольно сложной логики, в зависимости от бэкенда).
Самая простая альтернатива — создать собственную тему. В руководстве пользователя AsciiDoc есть инструкции о том, как это сделать (вроде), но по существу:
- Найдите каталог
themes
там, где установлен AsciiDoc.
- Скопируйте существующую тему (кажется, фляга по умолчанию). До версии 8.6.6 это просто набор файлов CSS. В версии 8.6.6 и выше это набор каталогов.
- Отредактируйте тему по своему вкусу.
- Укажите таблицу стилей с помощью атрибута документа
theme
или параметра командной строки --theme <name>
(8.6.6 и выше) или --attribute theme=<name>
(до версии 8.6.6).
Недостатком этого подхода является то, что ваша тема должна существовать вместе с другими темами. Кажется, нет способа изменить это, или я просто не знаю этого. Символические ссылки могут работать, если это вариант для вашей ситуации.
Другой вариант немного более экстремальный, но позволяет вам сохранить свой стиль вместе с вашими данными, если вы предпочитаете это. Небольшой отказ от ответственности: я понял это, копаясь в исходном коде AsciiDoc, и он не задокументирован, поэтому он может измениться в более позднем выпуске. Сомневаюсь, но отметить стоит. Я также сделал только быстрый тест с ним, но, похоже, он работает.
- Создайте файл конфигурации, если у вас его еще нет.
- В нем создайте раздел
[header]
(который не является задокументированным разделом конфигурационного файла, но я заметил его в .conf
файлах для бэкендов).
- Я не знаю, какой бэкенд вы используете, но какой бы он ни был, найдите его файл
.conf
, найдите раздел [header]
, скопируйте весь раздел и вставьте его в свой файл конфигурации. Их может быть несколько, поэтому ищите то, что «выглядит правильно».
Отредактируйте раздел [header]
файла конфигурации. Ваша цель — вывести любой код принятия решений. Например, для бэкэнда html
, который является просто псевдонимом для xhtml11
, я бы удалил макросы ifdef
и заменил их макросом include1
, чтобы включить мой файл CSS. Итак, в итоге я получил бы что-то вроде этого:
[header]
<DOCTYPE html ... yadda yadda
<!-- snip: a bunch of meta elements and such -->
<title>{title}</title>
<style type="text/css">
include1::style.css[]
</style>
- Скажите AsciiDoc использовать ваш файл конфигурации, используя параметр командной строки или атрибут документа.
Попробовал этот последний подход, чтобы «удалить» заголовок XHTML из образца, который я пробовал, но я не пошел дальше этого. Если первый подход вам не по душе, надеюсь, второй сработает.
Что касается пользовательского вызова изменения шрифта, я бы, вероятно, использовал сквозной блок:
++++++++++++++
<span id="foo">content goes here</span>
++++++++++++++
Но обратите внимание, что это зависит от бэкэнда, и этот пример - HTML, если я правильно понял (я немного заржавел). Я недостаточно знаком с AsciiDoc, чтобы предложить что-то лучшее.
person
McMustard
schedule
14.05.2013