Boost не предъявляет никаких требований к дизайну HTML-документации для библиотечных пользователей. Если вы отправляете библиотеку, для которой документация уже существует в HTML или в форме, легко конвертируемой в HTML, вам не нужно читать этот документ. Однако, если вы еще не написали документацию, или если вы ожидаете, что вам придется перевести документацию, написанную в формате, который нелегко конвертировать в HTML, этот документ может дать вам много информации о том, как писать документацию в HTML.
В некоторых местах этот документ предполагает, что вы пишете документацию в соответствии со структурой, описанной в документеСтруктура документации. Нет никаких требований к тому, чтобы содержание документации соответствовало этим рекомендациям, но они обеспечивают эффективный способ передачи технических спецификаций для библиотеки простым, но точным способом, знакомым многим пользователям Boost.
Этот документ также содержит ссылки наHTML-файлы шаблонов, которые могут быть использованы для быстрой разработки документации для представления в библиотеку. Эти шаблоны соответствуют рекомендациям, представленным здесь и в документеСтруктура документации.
Common Pages Included in
HTML Documentation
Большинство проектов HTML-документации содержат несколько общих страниц. Общие руководящие принципы для этих общих страниц приведены ниже.
Index
Страница индекса - это первая страница, представленная пользователю при просмотре документации. Как правило, эта страница не должна содержать какой-либо фактический контент, а вместо этого содержит список ссылок на конкретный контент. Этот список должен содержать ссылку на каждую HTML-страницу, содержащуюся в документации. По желанию, подсписки могут быть предоставлены для отдельных страниц, ссылающихся на конкретные темы на странице. Эти подсписки должны формировать иерархию «дерево» на основе уровня тега заголовка, используемого для конкретной темы. Включение таких подсписков для каждой страницы может сделать индекс довольно длинным, и поскольку каждая страница должна включать свой собственныйPage Index, это может облегчить навигацию по документации, если таких подсписков избежать. Однако в этом руководстве есть одно исключение: справочная документация должна содержать ссылку на каждый файл заголовка в библиотеке и подсписок со ссылкой на каждый макрос, значение, тип, класс, функцию и объект (см.Структура документации), найденный в заголовке. Пользователи не всегда уверены, в каком файле заголовка может содержаться любой из них, поэтому эта структура в индексе позволяет легко перемещаться по справочной документации.
Список индексов, как правило, должен быть построен с использованием HTML-списка определения (
и
теги). Список определений не имеет пуль или упорядоченных спецификаций и производит более чистую компоновку, чем неупорядоченный список (
и
теги) или упорядоченный список (и
теги). Если вы решите использовать общийBoost Style Sheet, вы должны добавить пару атрибутов / значений<class="index">к тегу
.
Для использования предусмотрена страница индексашаблон.
Overview
Страница обзора используется для ознакомления читателя с библиотекой. Он должен дать высокоуровневый обзор цели библиотеки и познакомить читателя с любыми понятиями, с которыми он может быть незнаком. Это также может быть подходящим местом для некоторого «легкого» обоснования, хотя более тщательное изложение любого обоснования было бы лучше размещено наРациональной странице.
Как и большинство страниц контента, страница обзора должна включать индекс страницы.
Для использования предусмотрена страница обзорашаблон.
Definitions
Страница определений используется для предоставления списка определений терминов, с которыми пользователь может быть незнаком.
Список определений, как правило, должен быть построен с использованием HTML «список определений» (
и
теги). Список определений не имеет пуль или упорядоченных спецификаций и производит более чистую компоновку, чем неупорядоченный список (
и
теги) или упорядоченный список (и
теги). Если вы решите использовать общийBoost Style Sheet, вы должны добавить пару атрибутов / значений<class="definition">к тегу
.
Поскольку содержание этой страницы должно содержать только список определений, она не должна иметь индекс страницы.
Для использования предусмотрен шаблон страницы определений.
Rationale
Страница Rationale используется для предоставления длинных описаний обоснования дизайна библиотеки. Эта информация помогает пользователям понять, почему библиотека была разработана именно так, и может уменьшить частоту часто задаваемых вопросов. Для лучшего описания того, почему рациональное обоснование важно см.Рациональное обоснованиев общих руководящих принципах представления.
Как и большинство страниц контента, страница Rationale должна включать индекс страницы.
Для этого используется шаблон Rationale.
Configuration
Information
Страница Configuration Information используется для документирования макросов конфигурации, используемых библиотекой. Такие макросы относятся к одной из трех групп: макросы, используемые библиотечными усилителями, определенными в<<boost/config.hpp>>, макросы, используемые пользователями библиотеки для обнаружения информации о конфигурации платформы, и макросы, определенные пользователями библиотеки для настройки поведения библиотеки.
Как и большинство страниц контента, страница обзора должна включать индекс страницы.
Для использования предусмотрен шаблон страницыконфигурации.
Frequently Asked Questions
По мере взросления библиотеки у пользователей возникают вопросы об использовании библиотеки. Часто пользователи задают одни и те же вопросы снова и снова. Вместо того, чтобы иметь дело с ответом на вопрос каждый раз, когда его задают, часто задаваемые вопросы (обычно известные как часто задаваемые вопросы) можно использовать для документирования вопросов и ответов. Это настолько ценная документация не только для пользователей, но и для тех, кто ее обслуживает, что страница часто задаваемых вопросов должна быть предоставлена с самого начала. Если нет вопросов, которые, очевидно, станут FAQ, начальная страница может просто указать, что FAQ еще нет. Этот пустой держатель места помогает указать пользователям, что вы планируете обращаться к любым часто задаваемым вопросам по мере их возникновения.
Page Indexдля страницы FAQ должен содержать список всех вопросов, содержащихся в документе. Фактические записи вопросов должны быть отформатированы с вопросом в теге заголовка и ответами в стандартном формате абзаца. Это обеспечивает чистую презентацию, которую легко читать.
Для часто задаваемых вопросов используется шаблон.
Bibliography
Страница библиографии используется для документирования любой библиографической информации, связанной со ссылками, сделанными в документации, на внешние ресурсы. Парентетические ссылки используются в документации, которая ссылается на записи на странице Библиографии. Библиографические записи предоставляют подробную информацию о внешнем ресурсе и могут содержать гиперссылки на ресурс, если он доступен онлайн. Существует несколько формальных стилей, используемых для написания библиографий. Вы можете использовать любой стиль, который вы хотите, но один из лучших стилей, который вы можете рассмотреть, можно найти здесь.
Поскольку страница библиографии должна содержать только библиографическую информацию, нет необходимости в индексе страницы.
Для использования предусмотрена страница библиографиишаблон.
Acknowledgment
Страница подтверждения используется для предоставления кредита там, где кредит должен быть. Когда люди вносят вклад в разработку или реализацию, или когда вы используете чужую работу, вы должны признать их. Это любезность, которую вы ожидаете от других, поэтому вы должны стремиться признать усилия всех остальных в вашей собственной документации.
Поскольку страница подтверждения должна содержать только список подтверждения, нет необходимости в индексе страницы.
Справочные страницы заголовка являются наиболее важными страницами в вашей документации. Они документируют все заголовки библиотек, включая все макросы, значения, типы, классы, функции и объекты, определенные в них. В целом, при написании контента для этих страниц может оказаться полезным следовать рекомендациямСтруктура документации.
Как и большинство страниц контента, эталонные страницы заголовка должны включать индекс страницы.
Для использования предусмотрен шаблон заголовка.
Layout
Есть определенные концепции макета страниц, которые будут часто использоваться на многих ваших страницах. В этом разделе излагаются некоторые общие рекомендации, которым вы можете следовать при разработке каждой из этих концепций макета для вашей документации.
Page Banner
Баннер страниц расположен в самом верху страницы и предоставляет быструю информацию о содержании страницы. Это включает в себя логотип Boost, который указывает читателю, что эта страница является частью веб-сайта Boost, заголовок для документации (обычно название библиотеки) и заголовок страницы. Логотип Boost должен иметь гиперссылку на домашнюю страницу Boost на странице индекса и на страницу индекса на всех других страницах. Это позволяет пользователю легко перемещаться по сайту Boost и по документации. Тег
для страницы HTML должен состоять из заголовка документации и заголовка страницы, разделенного дефисом.
Баннер страницы должен быть отделен от остальной части страницы с помощью тега
. Это помогает четко отделить фактический контент от информации о заголовке и создает более чистый текст.
Page Index
Индекс страницы используется для быстрой навигации по различным разделам документации на странице, а при наличии должен располагаться чуть ниже баннера страницы.
Список индексов, как правило, должен быть построен с использованием HTML-списка определения (
и
теги). Список определений не имеет пуль или упорядоченных спецификаций и производит более чистую компоновку, чем неупорядоченный список (
и
теги) или упорядоченный список (и
теги). Если вы решите использовать таблицу стилей Boost, вы должны добавить пару атрибутов / значений<class="page-index">в тег
.
Большинство страниц должны содержать индекс страницы.
Documentation Content
Фактическое содержание документации страницы будет отформатировано в соответствии с конкретными потребностями отдельных страниц и должно быть размещено сразу после индекса страницы, если он присутствует, или после баннера страницы, если нет. В целом содержание документации будет принимать форму текста абзаца, содержащегося под заголовками разделов.
Footnotes
Сноски могут использоваться в документации страницы. В содержании документации ссылка на сноску должна иметь форму номера сноски в скобках (скобки облегчают читателю переход по гиперссылке), гиперссылки на фактическую сноску в нижней части содержимого документации страницы. Вы можете использовать тегдля форматирования таких номеров сносок, или, предпочтительно, вы можете использовать класс стилей CSS, чтобы различать номер как сноску, а не как часть фактического текста. Если вы решили использовать общийПовысить таблицу стилей, для этой цели определен класс<footnote>.
Revision
Information
В нижней части каждой страницы должна быть некоторая информация о пересмотре, указывающая, когда страница была в последний раз пересмотрена. Эта информация должна быть отделена от остальной части страницы выше тегом
. Для отслеживания этой информации о пересмотре можно использовать следующий фрагмент HTML-кода (этот код использует некоторые серверные компоненты, которые существуют на веб-сайте Boost, чтобы автоматически отслеживать даты пересмотра без необходимости ручного редактирования текста даты):
Нижняя часть страницы должна содержать любую информацию об авторских правах, которая относится к документу.
Format
В этом разделе приведены общие рекомендации по форматированию документации с использованием HTML. В описании различных "общих страниц" приводятся конкретные детали форматирования конкретных разделов документации, которые должны отменять эти руководящие принципы.
Code
Код в документации должен быть размещен в тегахили
. Для кода, который размещен в соответствии с другим текстом, вы используете теги/code>, в то время как тегииспользуются для кодовых «блоков». Если для определения форматирования этих тегов используется каскадная таблица стилей, следует использовать шрифт с фиксированной шириной без засечек. Это гарантирует, что код легко отличим от остальной части текста. Также может быть полезно установить стиль для тегов, чтобы помочь отделить блоки кода от других структурных блоков HTML.Повышенная таблица стилейопределяет форматирование для этих тегов.
Примечание:"Код" включает в себя имена переменных, имена функций и т.д.
Lists
Списки должны быть построены как неупорядоченные (
и
теги), упорядоченные (и
теги) или списки определений (
и
теги) в HTML. Вы используете неупорядоченный список, когда вам нужна коллекция элементов, которые не имеют логического порядка, например, список типов данных, которые определены библиотекой и могут быть использованы для аргумента шаблона. Вы используете упорядоченный список, когда набор элементов должен быть сгруппирован в логическом порядке, например, при перечислении шагов, которые логически выполняет действие. Вы используете список определений, когда список состоит не только из элементов, которые не имеют логического упорядочения, но также содержит определения / описания / и т. д. элементов. Хорошим примером этого являются спецификации функций, описанные вСтруктура документации.
Graphics
Графика должна использоваться очень экономно, если вообще. Графические изображения значительно влияют на время загрузки для многих людей, что может помешать пользователям читать документацию. Если вам нужны графические изображения, чтобы проиллюстрировать что-то в вашей документации, подумайте о том, чтобы предоставить только ссылку на изображение в документации, а не вставлять его непосредственно в текст. Если изображение будет включено в текст документа, вы должны указать размер изображения в теге, чтобы браузер пользователя мог оптимизировать форматирование текста до загрузки изображения.
Non-breaking
Spaces
Неразрывных пространств ( ) следует избегать в тексте HTML. Как правило, существуют более подходящие способы форматирования документа, такие как использование конструкций списков или указание отступов в качестве атрибута стиля или в каскадных таблицах стилей.
Cascading Style
Sheets
Каскадные таблицы стилей позволяют применять некоторые продвинутые стили форматирования к HTML-документу. Что еще более важно, они позволяют изменять форматирование в одном файле и влиять на все страницы с помощью таблицы стилей. Вместо того, чтобы пытаться создать определенный формат в HTML, часто проще и гибче указать форматирование в таблице стилей.
Boost Style
Sheet
Концепция использования каскадных таблиц стилей для форматирования HTML настолько хороша, что может быть полезно применить ее на всем сайте Boost. Конечно, мы не можем требовать этого (если бы Boost требовали таких мелочей для представлений, вполне вероятно, что многие программисты были бы лишены возможности внести свой вклад). Тем не менее, стандартная таблица стилей Boost (http://www.boost.org/boost.css) предоставляется в любом случае, так что вкладчик может быстро и легко создать четкую и последовательную документацию, которая отражает «бренд Boost», если они того пожелают. Если позже будет принято решение об обновлении «бренда Boost», это может быть сделано в этом файле, и все документы, использующие таблицу стилей, будут автоматически обновлены.
Поставляемый Boost стильный лист не только определяет стили для многих стандартных тегов, но и определяет несколько стилей «классов». Класс определяется для данного тега вместо того, чтобы применяться ко всем экземплярам данного типа тега. Ниже приведен список классов, указанных в таблице стилей Boost, и описание того, когда их использовать:
index Used for <dl> tags when writing index lists.
page-index Used for <dl> tags when writing page index
lists.
Footnote Used when writing Footnote numbers.
function-semantics Used for <dl> tags when writing
function semantic lists.
Templates
Вместо ручного кодирования каждой HTML-страницы можно использовать HTML-шаблоны. В приведенном ниже списке приведены ссылки на шаблоны, которые могут использоваться при написании документации для вклада в Boost. Ссылки, представленные в этих шаблонах, предполагают, что файлы будут находиться в «традиционной» иерархии каталоговboost/libs/library/doc. Им может потребоваться исправление, если файл будет находиться в другом месте.
Примечание:Поскольку эти «шаблоны» — это просто HTML-страницы, просто нажав на ссылки ниже, вы загрузите шаблон в свой браузер. Вам нужно будет использовать определенный браузерный метод для загрузки файлов вместо их загрузки в браузер (например, в большинстве браузеров Windows вы можете щелкнуть по ссылке и выбрать соответствующую команду из контекстно-чувствительного меню).
Статья Writing Documentation for Boost - HTML Design раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.