/cop

Confluence Publisher (for Asciidoc)

Primary LanguageJavaApache License 2.0Apache-2.0

Confluence Publisher

Конвертация документов в формате Asciidoc в формат хранения Confluence и публикация на сервер Confluence.

Функциональность

Программа имеет интерфейс CLI. Предназначена для конвертации одного документа в формате Asciidoc в формат хранения Confluence и публикации на сервер Confluence. При этом выполняется также загрузка изображений, используемых в статье.

Заголовок документа (заголовок первого уровня) используется в качестве названия страницы. Он же используется для поиска страницы в пространстве Confluence, если явно не указан её идентификатор.

Предусмотрено два режима публикации страницы: первичная публикация и обновление.

Первичная публикация страницы

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

Обновление опубликованной ранее страницы

При обновлении опубликованной ранее страницы происходит замещение контента существующей на Confluence страницы. При этом, в отличие от первичной публикации, отказ произойдёт, если не удастся найти существующую страницу для обновления.

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

Если идентификатор страницы не задан, производится попытка найти страницу по наименованию. В случае успеха произойдёт обновление публикации. Если страница не найдена, произойдёт отказ.

Особенности загрузки изображений

Изображения загружаются во вложения Confluence под теми именами, которые имеют их файлы. Поэтому, в одной странице не должно быть изображений, файлы которых имеют одинаковое имя.

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

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

При загрузке вложений сверки по их контенту не происходит. Поэтому, при переименовании файла изображения произойдёт загрузка нового вложения, а вложение под старым именем останется, но может стать неиспользуемым.

Конвертация

Примечания (Admonitions)

Примечания (Admonitions) используются для смыслового выделения фрагментов текста. Набор доступных примечаний в Asciidoctor не идентичен вариантам, имеющимся в Confluence. Вариант для Confluence выбирается на основании таблицы:

Asciidoctor Confluence Описание

NOTE

info

Выделение голубым фоном. Применяется для нейтральных полезных дополнений и примечаний.

TIP

tip

Выделение зелёным фоном. Можно использовать для определений, или для обозначения выполненных частей задачи.

IMPORTANT

note

Выделение жёлтым фоном. Используется для привлечения внимания к важной информации.

CAUTION, WARNING

warning

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

Тезаурус

Страница

Она же 'страница Confluence' (по-английски 'page'), базовая единица публикации, которой оперирует данная программа. Иногда в качестве синонима может использоваться 'статья', но 'страница' предпочтительнее, так как 'статья' — это уже, скорее, про содержимое, а с точки зрения публикации важен лишь механический аспект.

Заголовок

Или название страницы. В Asciidoc-документе — это рубрика первого уровня. В Confluence заголовок страницы не содержится в содержимом самой страницы, но обязательно выводится в верхней части страницы при просмотре. Также в Confluence заголовок в пределах пространства (space) должен быть уникален, по нему возможен поиск страницы при обращении через API.

Полезные ссылки