Основная конфигурация HeaderDoc

Можно установить значения для некоторых обычно изменяемых переменных, влияющих на поведение HeaderDoc и выводящих стиль. В этой главе описываются формат файла настройки, расположение и доступные ключи конфигурационного файла.

Формат файла настройки

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

Формат конфигурационного файла - это:

 
 key1 => value1
 key2 => value2
 

HeaderDoc ищет эти переменные в трех местах в этом порядке:

  1. В самом сценарии (см. объявление %config хешируйте около вершины headerdoc2html или headerDoc2HTML.pl).

  2. Для HeaderDoc 8.9 и позже, в /usr/share/headerdoc/conf (сборки с открытым исходным кодом) или /path/to/Xcode.app/Contents/Developer/usr/share/headerdoc/conf (когда установлено как часть инструментов разработчика).

  3. В основной папке Library, в /Library/Preferences/com.apple.headerDoc2HTML.config (в большинстве версий)

  4. В корневом каталоге пользователя, в $HOME/Library/Preferences/com.apple.headerDoc2HTML.config

  5. В названном файле headerDoc2HTML.config в той же папке как сценарий.

В итерации через эти расположения HeaderDoc сохраняет последнее значение, которое это видит. Таким образом самая локальная копия любой переменной больше переопределяет универсальное значение.

Ключи конфигурационного файла

В настоящее время конфигурационный файл HeaderDoc позволяет Вам установить следующие вещи:

Поведенческие ключи настроек

В этом разделе описываются ключи конфигурации, управляющие общим поведением HeaderDoc, не включая любое выходное форматирование или моделирование.

apiUIDPrefix

Префикс для именованных привязок (по умолчанию, apple_ref). В выводе HeaderDoc добавляет самоописание, названное привязкой около каждого объявления API — например, <a name=”//apple_ref/c/func/CFArrayAppendValue”>. Они могут быть полезны для индексной генерации и других целей. Посмотрите Маркеры Символа для Документации HTMLBASED для получения дополнительной информации.

compositePageName

Имя файла, содержащего печатаемую страницу HTML (по умолчанию, CompositePage.html). Не используемый, если classAsComposite 1.

defaultFrameName

Имя файла, содержащего frameset инструкции (по умолчанию, index.html).

externalAPIUIDPrefixes

Разделенный пробелом список префиксов для ссылок API. Когда gatherheaderdoc выполнения resolveLinks, это передает этот список префиксов к resolveLinks. Это позволяет Вам использовать (многократные) ссылочные префиксы API кроме apple_ref.

Для получения дополнительной информации посмотрите Маркеры Символа для Документации HTMLBASED.

externalXRefFiles

Разделенный пробелом список путей к внешним файлам, каждый из которых содержит список перекрестных ссылок вне текущего документа. Когда gatherheaderdoc выполнения resolveLinks для соединения содержания, на которое перекрестно ссылаются, это передает эти внешние файлы перекрестной ссылки resolveLinks так, чтобы можно было искать, ссылки API (apple_ref-разработайте разметку) в других документах.

Примечание: Обычно при использовании внешних файлов перекрестной ссылки необходимо работать resolveLinks вручную вместо того, чтобы использовать эту установку.

Для получения дополнительной информации посмотрите Маркеры Символа для Документации HTMLBASED.

ignorePrefixes

Список маркеров для упущения из окончательного результата, если они происходят в начале строки (перед какими-либо другими непробельными символами). Несмотря на то, что эта функция все еще существует, обычно лучше использовать директивы препроцессору C.

masterTOCName

Имя файла, содержащего основное оглавление для серии заголовков (по умолчанию, masterTOC.html). (Эта переменная используется gatherheaderdoc сценарий, и может быть переопределен на командной строке.)

IDLLanguage

Файлы IDL обычно производят apple_ref маркеры с языком "idl". Однако файл IDL по сути нейтрален языком. Этот флаг позволяет Вам говорить HeaderDoc использовать различный язык в apple_ref маркеры, следующие из обработки файла IDL.

Юридические значения являются, на практике, любой произвольной ЗАКОДИРОВАННОЙ URL строкой, но идеально должны быть допустимыми языками программирования, как определено в apple_ref спецификация. Посмотрите Маркеры Символа для Документации HTMLBASED для спецификации.

Общие выходные настройки стиля

В этом разделе описываются в целом выходной стиль (не включая таблицы стилей CSS, описанные в общих Ключах CSS и Объявлении Ключи CSS).

appleTOC

Указывает Apple формат TOC. Этот формат требует обширного JavaScript и поддержки CSS, и таким образом не очень полезен за пределами developer.apple.com веб-сайта. Это документируется только для полноты.

classAsComposite

По умолчанию HeaderDoc разделяет документацию относительно правой стороны в несколько файлов. Эта установка заставляет классы быть выведенными на единственной составной странице вместо этого.

copyrightOwner

Уведомление об авторском праве, появляющееся у основания страниц HTML. Если Вы не укажете значение, никакое авторское право не появится.

dateFormat

Строка, указывающая формат даты, который будет использоваться HeaderDoc. Этот формат даты указан с помощью стандартных флагов форматирования времени. Для примеров правильных форматов даты см. страницу справочника для strftime.

groupHierLimit

Максимальное количество записей, позволенных в списке заголовков, функций, и т.д. прежде gatherheaderdoc вставляет ссылки перехода к определенным буквам в списке. Если этот ключ отсутствует, никакие ссылки буквы не вставляются. Если Вы устанавливаете этот ключ, необходимо также установить groupHierSubgroupLimit к положительному целочисленному значению.

groupHierSubgroupLimit

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

htmlFooter

Строка (обычно серверная сторона включает директиву), который HeaderDoc вставит в нижнюю часть каждой правой стороны и составит страницу HTML, если Вы укажете -H флаг на командной строке. Для более длинных заголовков использовать htmlFooterFile.

htmlFooterFile

Файл, содержащий более длинный нижний колонтитул HTML. Если Вы укажете, содержание этого файла будет добавлено до конца каждой страницы содержания -H флаг на командной строке.

htmlHeader

Строка (обычно серверная сторона включает директиву), который HeaderDoc вставит в вершину каждой правой стороны и составит страницу HTML, если Вы укажете -H флаг на командной строке. Для более длинных заголовков использовать htmlHeaderFile.

htmlHeaderFile

Файл, содержащий более длинный заголовок HTML. Если Вы укажете, содержание этого файла будет добавлено наверху каждой страницы содержания -H флаг на командной строке.

stripDotH

Эта опция причины gatherheaderdoc разделять запаздывание .h с имен имен файлов заголовка в списках заголовка.

TOCFormat

Выбирает стиль форматирования TOC для отдельных документов. Юридические значения default (новый стиль с треугольниками раскрытия), frames (старый стиль), или iframes (8,7 стилей).

Эта опция заменяет -F флаг, хотя тот флаг все еще поддерживается на данный момент.

TOCTemplateFile

Указывает файл шаблона TOC для использования вместо встроенного шаблона TOC. Для получения дополнительной информации посмотрите Создание Шаблонного Файла TOC.

TOCTemplateEncoding

Кодирование используется Вашим файлом шаблона TOC. gatherHeaderDoc инструмент использует это, чтобы гарантировать, что любые отметки даты, вставленные в основной TOCs, находятся в корректном кодировании.

useBreadcrumbs

Установка этой опции к 1 говорит HeaderDoc, что Вы намереваетесь использовать внешний инструмент для создания ссылок навигационной цепочки в документах. При указании этой опции она отключает вставку “[Главной] “ссылки в оглавлении, так как не необходимо, если у Вас есть такой инструмент. Поскольку такие навигационные цепочки специфичны для сайта, никакие такие инструменты не предоставлены как часть HeaderDoc.

Общие ключи CSS

externalStyleSheets

Разделенный пробелом список путей к файлам внешней таблицы стилей на сервере или целевом объеме. Например, при установке externalStyleSheets в/CSS/mysheet.css HeaderDoc вставит следующее:

<link rel="stylesheet" type="text/css" href="/CSS/mysheet.css">

Эти таблицы стилей вставляются до любых HeaderDoc-сгенерированных стилей.

Примечание: Используя эту опцию отключает встроенные стили HeaderDoc. Для Вашего удобства эти встроенные стили перечислены во Встроенных Стилях HeaderDoc.

externalTOCStyleSheets

Как externalStyleSheets, это - разделенный пробелом список путей к файлам внешней таблицы стилей на сервере или целевом объеме. Если никакие листы стиля оглавления не указаны, таблицы стилей, указанные в externalStyleSheets будет использоваться.

Примечание: Используя эту опцию отключает встроенные стили HeaderDoc. Для Вашего удобства эти встроенные стили перечислены во Встроенных Стилях HeaderDoc.

styleImports

Строка CSS, который будет вставлен только до HeaderDoc-сгенерированного CSS, но после любых внешних таблиц стилей. Это было первоначально предназначено для поддержки @import директива для импорта внешней таблицы стилей, но может использоваться для любого произвольного содержимого файла CSS.

Примечание: Используя эту опцию отключает встроенные стили HeaderDoc. Для Вашего удобства эти встроенные стили перечислены во Встроенных Стилях HeaderDoc.

styleSheetExtrasFile

Файл, содержащий локальный HeaderDoc-специфичный CSS. Содержание указанного файла будет вставлено в конце встроенных стилей HeaderDoc (после того, как любые стили, указанные стилями объявления HeaderDoc, такой как varStyle).

Примечание: Эта опция является единственной опцией таблицы стилей, не отключающей встроенные стили HeaderDoc.

tocStyleImports

Подобный styleImports, это - строка CSS, который будет вставлен только до HeaderDoc-сгенерированного CSS, но после любых внешних таблиц стилей. Это было первоначально предназначено для поддержки @import директива для импорта внешней таблицы стилей, но может использоваться для любого содержимого файла CSS.

Если никакой импорт стиля оглавления не указан, значение styleImports будет использоваться для TOC.

Примечание: Используя эту опцию отключает встроенные стили HeaderDoc. Для Вашего удобства эти встроенные стили перечислены во Встроенных Стилях HeaderDoc.

Объявление ключи CSS

Они содержат форматирование CSS для различных частей объявлений. Например:

funcNameStyle => background:#ffffff; color:#000000;

определяет имена функций, которые будут выведены на экран в черном тексте на белом фоне.

charStyle

стиль для символов

commentStyle

стиль для комментариев

funcNameStyle

стиль для имен функций

keywordStyle

стиль для ключевых слов

numberStyle

стиль для чисел

paramStyle

стиль для параметров функции

preprocessorStyle

стиль для директив препроцессору

stringStyle

стиль для строк

стиль текста

стиль для обычного текста, если объявления (в основном круглые скобки, пунктуация и пробелы)

стиль шрифта

стиль для типов данных

varStyle

стиль для имен переменной

Пример конфигурационного файла

Перечисление 3-1 является примером очень основного конфигурационного файла HeaderDoc. Несколько дополнительных примеров включены как часть распределения HeaderDoc.

  Выборка перечисления 3-1 конфигурационный файл HeaderDoc

 
copyrightOwner => My Great Software Company
defaultFrameName => default.html
compositePageName => PrintablePage.html
masterTOCName => TOCCentral.html
apiUIDPrefix => greatSoftware
ignorePrefixes=> CF_EXTERN|CG_EXTERN
htmlHeader=>
dateFormat=> %m/%d/%Y
 

Встроенные стили HeaderDoc

Многие опции CSS в HeaderDoc отключают встроенные стили так, чтобы было проще переопределить те стили во внешних таблицах стилей. Встроенные стили упоминаются ниже для Вашего удобства.

Перечисление 3-2  встроенные стили HeaderDoc CSS

a:link {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}
a:visited {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}
a:visited:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}
a:active {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}
a:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}
h4 {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: tiny; font-weight: bold;}
body {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: 10pt;}