AsciiDoc: как указать выходные шрифты HTML?

Ищу простые инструкции для минималистического способа указать выходные шрифты по умолчанию (а именно, изменить семейство шрифтов на что-то вроде Calibri, но также хотите контролировать полужирный шрифт, курсив и другие стили) в AsciiDoc введите файл .txt, чтобы изменить вывод HTML.

Необязательно: хотелось бы сделать пользовательские выноски для изменения шрифта для определенных частей документа (скажем, одной или двух строк в содержании).

Если требуется управление css, я могу справиться с этим, но мне нужен каждый функциональный шаг, прописанный в процедуре/настройке.


person Johnny Utahh    schedule 08.04.2013    source источник
comment
Я вижу: powerman.name/doc/asciidoc-index#_my_compact_css_styles , но не уверен как отформатировать входной файл .txt, чтобы он соответствовал .css, и любые другие необходимые подключения.   -  person Johnny Utahh    schedule 08.04.2013


Ответы (3)


Я сам новичок в AsciiDoc, но этого может быть достаточно, чтобы вы начали. К сожалению, не существует действительно простого способа установить пользовательские стили с помощью простых директив во входном файле AsciiDoc. В конечном счете, AsciiDoc просто include добавляет файл таблицы стилей в ваш вывод (после довольно сложной логики, в зависимости от бэкенда).

Самая простая альтернатива — создать собственную тему. В руководстве пользователя AsciiDoc есть инструкции о том, как это сделать (вроде), но по существу:

  1. Найдите каталог themes там, где установлен AsciiDoc.
  2. Скопируйте существующую тему (кажется, фляга по умолчанию). До версии 8.6.6 это просто набор файлов CSS. В версии 8.6.6 и выше это набор каталогов.
  3. Отредактируйте тему по своему вкусу.
  4. Укажите таблицу стилей с помощью атрибута документа theme или параметра командной строки --theme <name> (8.6.6 и выше) или --attribute theme=<name> (до версии 8.6.6).

Недостатком этого подхода является то, что ваша тема должна существовать вместе с другими темами. Кажется, нет способа изменить это, или я просто не знаю этого. Символические ссылки могут работать, если это вариант для вашей ситуации.

Другой вариант немного более экстремальный, но позволяет вам сохранить свой стиль вместе с вашими данными, если вы предпочитаете это. Небольшой отказ от ответственности: я понял это, копаясь в исходном коде AsciiDoc, и он не задокументирован, поэтому он может измениться в более позднем выпуске. Сомневаюсь, но отметить стоит. Я также сделал только быстрый тест с ним, но, похоже, он работает.

  1. Создайте файл конфигурации, если у вас его еще нет.
  2. В нем создайте раздел [header] (который не является задокументированным разделом конфигурационного файла, но я заметил его в .conf файлах для бэкендов).
  3. Я не знаю, какой бэкенд вы используете, но какой бы он ни был, найдите его файл .conf, найдите раздел [header], скопируйте весь раздел и вставьте его в свой файл конфигурации. Их может быть несколько, поэтому ищите то, что «выглядит правильно».
  4. Отредактируйте раздел [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>
    
  5. Скажите AsciiDoc использовать ваш файл конфигурации, используя параметр командной строки или атрибут документа.

Попробовал этот последний подход, чтобы «удалить» заголовок XHTML из образца, который я пробовал, но я не пошел дальше этого. Если первый подход вам не по душе, надеюсь, второй сработает.

Что касается пользовательского вызова изменения шрифта, я бы, вероятно, использовал сквозной блок:

++++++++++++++
<span id="foo">content goes here</span>
++++++++++++++

Но обратите внимание, что это зависит от бэкэнда, и этот пример - HTML, если я правильно понял (я немного заржавел). Я недостаточно знаком с AsciiDoc, чтобы предложить что-то лучшее.

person McMustard    schedule 14.05.2013

Я только начал смотреть Asciidoc и был раздражен, что не нашел документированного способа

  1. связывание с пользовательскими таблицами стилей CSS
  2. исключая раздел CSS в заголовке выходного файла.

Не выполняя всех шагов, описанных в разделе Напишите свою собственную тему AsciiDoc для бэкенда HTML5 с помощью SASS, я нашел на как минимум следующее для командной строки:

asciidoc -b html5 -a linkcss -a stylesdir=$PWD myfile.txt

В этом случае имя таблицы стилей должно быть по умолчанию, т. е. asciidoc.css Это соответствует требованиям, упомянутым выше.

person Christian Sund    schedule 26.04.2014
comment
Вы можете добавить -a stylesheet=mystyle.css, чтобы переопределить имя таблицы стилей по умолчанию. - person DrFriedParts; 05.05.2015

Расширение трюка сквозного блока (также упомянутого выше), о котором я только что узнал из https://stackoverflow.com/a/29456923/200509 , поместив это где-нибудь в файл .adoc, вы сможете переопределить любой стиль темы (см. /etc/asciidoc/themes/flask/flask.css для значений по умолчанию), включая шрифты:

++++
<style>
body { font-family: Calibri,sans-serif; }
</style>
++++
person eMPee584    schedule 16.02.2021