Как создать подвижное оглавление в статье Confluence
В последние пол года я активно работаю с документацией в Confluence - пишу полезные статьи, целью которых является облегчение работы команды тестирования. По ходу дела поняла, что некоторые тексты получаются настолько объёмными, что возникла потребность в структурировании таких массивов, поэтому научилась делать оглавление, которое передвигается рядом с текстом при пролистывании страницы. О том как создать такое оглавление хочу поделиться в своей первой статье для «Хабр».
Создание разметки страницы
В первую очередь необходимо определиться где будет находиться оглавление и сделать с помощью инструмента "Разметка страницы", собственно, эту разметку. Вариантов здесь может быть несколько, на мой взгляд, лучше всего подходит такая разметка страницы, где основной массив текста находится слева, а оглавление - справа "Блок с двумя колонками с правой боковой панелью":

Разметка появится на странице в виде двух блоков, обозначенных пунктирными линиями:

Важные нюансы в структуре текста
При заполнении текста в блоке слева важно соблюдать правила:текст располагать только внутри блока (все символы, которые будут размещены вне этого блока, не попадут в оглавление);
оглавление формируется автоматически с помощью макроса (подключается на самом последнем этапе, об этом ниже), логика этого макроса настроена следующим образом - он триггерится на разный формат текста, например: заголовок (формат текста "Заголовок 3") и подробное описание (формат текста "Абзац"), поэтому важно разбить объёмный массив текста на части, и у каждой такой части сделать заголовок и подробное описание разными форматами текста;
формат текста можно регулировать с помощью раскрывающегося списка "Абзац" на панели инструментов "Confluence" слева:
Раскрывающийся список "Абзац" на панели инструментов "Confluence" с помощью которого можно регулировать формат текста после того как написан заголовок, необходимо нажать "Enter", таким образом Confluence автоматически отделит заголовок от блока описания, после нажатия "Enter" происходит сброс настроек формата заголовка и блок подробного описания уже строится в формате "Абзац" - эта разница и позволит автоматически сформировать оглавление:
Пример оформления заголовка и подробного описания под этим заголовком после того как описан первый блок, необходимо вновь нажать "Enter"
*каждый заголовок и каждый подробный блок описания должен заканчиваться нажатием "Enter" - это и позволит сформировать правильную структуру массива статьи:Правильная структура массива статьи
Создание оглавления
Кликнуть по блоку, обозначенному пунктирной линией справа, чтобы в этом блоке появился курсор:
Курсор в блоке, где будет сформировано оглавление На панели инструментов Confluence выбрать инструмент "+" ("Вставить прочий контент") и выбрать строку с макросом "Оглавление":
Выбор макроса "Оглавление" В предварительном просмотре уже видно как будет выглядеть оглавление - оно состоит из тех частей текста, к которым применён формат текста "Заголовок 3":
Предварительный просмотр оглавления Если нажать на кнопку "Вставить" оглавление появится в блоке справа, но будет статичным, т.е. не будет передвигаться вслед за текстом при пролистывании страницы. Чтобы оглавление стало подвижным, нужно завершить настройки, для этого необходимо пролистать настройки макроса справа до пункта "Имя класса CSS" и ввести в строку значение "floating-block" (без кавычек):
Настройка подвижного оглавления в меню макроса "Оглавление" После нажатия кнопки "Вставить", подвижное оглавление появилось в блоке справа от статьи:
Готовое оглавление После нажатия кнопки "Опубликовать", статья сохраняется, оглавление отображается справа от статьи, при этом блоки разделения с пунктирными линиями не отображаются. При клике на любой пункт оглавления, статья автоматически пролистывается до выбранного заголовка:
Готовая статья с оглавлением При пролистывании страницы оглавление перемещается рядом с текстом
Важный постскриптум
У раскрывающегося списка с форматами текста "Абзац" есть иерархия значений списка - те значения, которые находятся вверху списка, имеют приоритет над теми, которые находятся под ними. Используя это знание, можно делать многоуровневое оглавление с подпунктами, если внутри одного текстового блока сделать несколько подзаголовков в разных форматах текста:Создание многоуровневого оглавления