В этой статье рассматриваем дополнительные возможности HTML-разметки текста и кастомного CSS, чтобы качественно оформленный контент облегчил изучение вашей базы знаний.
Статьи добавляются по пути: аккаунт администратора → раздел «Центр поддержки» → подраздел «Статьи». Также можно добавить новую статью и из аккаунта сотрудника через раздел «База знаний», если у сотрудника есть соответствующее разрешение в дополнительных правах доступа.
Основные возможности форматирования доступны в верхней панели WYSIWYG-редактора:
Если возможностей визуального редактора для оформления статьи вам мало, потребуется вносить изменения через HTML-разметку. Чтобы перейти в режим редактирования исходного кода, нажмите на иконку < > в панели.
Мы подготовили примеры оформления блоков, которые могут пригодиться вам в работе.
1. Предварительно отформатированный текст
Примеры кода, автоответов и другого текста, которые пользователю нужно копировать в исходном виде, следует прописывать через открывающий и закрывающий теги pre:
<рre>[код]</рre>
Пример кода API-запроса для создания обращения:
{ "case" : { "user_email" : "user@domain.com", "user_full_name" : "John", "subject" : "I need help", "content" : "Can I change the domain?", "labels" : [101, 102] } }
Далее в статье все примеры кода мы отобразим именно таком виде.
2. Спойлеры
Спойлер — разворачиваемый блок, в котором можно скрыть дополнительную информацию, чтобы не перегружать статью. Он добавляется с помощью тегов details и summary:
<details> <summary>Заголовок спойлера</summary> <p>Скрытая часть (текст, фото и т. п.)</p> </details>
Пример отображения:
Персонализация центра поддержки
Статья о персонализации центра поддержки доступна в базе знаний вашего центра поддержки, который вы получаете после регистрации. Чтобы прочесть предварительно добавленные статьи или добавить новую, перейдите в аккаунт администратора — раздел «Центр поддержки» — подраздел «Статьи»
PRO подсказки:
Чтобы спойлер всегда был свернут при открытии статьи, используйте дополнительное свойство открывающего тега: <details closed=""> либо сохраняйте статью со свернутым спойлером.
Используйте стандартные HTML-теги в режиме исходного кода, чтобы оформить скрытую часть, или после добавления тегов спойлера переключитесь в визуальный редактор и отредактируйте текст на свой вкус в нем.
3. Цитаты
Чтобы выделить цитату на фоне основного текста, используйте такую HTML-разметку:
<div class="omni_quote"> <blockquote>[Цитата]</blockquote> <figcaption>[Автор], <cite>[источник, описание автора, должность и т. п.]</cite></figcaption> </div>
Пример цитаты:
Язык нужно было завершить к выходу нового релиза браузера — Netscape Navigator 2. Мы хотели, чтобы скрипты встраивались в HTML-код, хотя это вызывало возражения у некоторых людей. В итоге JavaScript разрабатывался в большой спешке — фактически мы сделали его всего за 10 дней.
Если вам не нужна подпись к цитате, в которой указывается её автор и источник, просто не добавляйте тег figcaption:
<div class="omni_quote"> <blockquote>[Цитата]</blockquote> </div>
При таком варианте цитата выглядит проще:
Язык нужно было завершить к выходу нового релиза браузера — Netscape Navigator 2. Мы хотели, чтобы скрипты встраивались в HTML-код, хотя это вызывало возражения у некоторых людей. В итоге JavaScript разрабатывался в большой спешке — фактически мы сделали его всего за 10 дней.
PRO подсказка:
Изменить отображение цитаты можно либо через кастомный CSS для центра поддержки, либо через inline-стили в исходном коде статьи. Во втором случае, чтобы, к примеру, поменять цвет границы на зелёный, для открывающих тегов blockquote и figcaption нужно добавить стиль в виде <[тег] style="border-color: green !important;">. В результате цитата будет выглядеть так:
В моей диссертации целый раздел посвящен недостаткам CSS. Да, они есть, в том числе и по нашей вине. Но самой большой проблемой первой версии был не дизайн самого языка (на мой взгляд, он довольно неплох), но реализация его в браузерах.
!important приоритизирует стиль над глобальными стилями;
в примере выше ссылка на источник оформлена следующим образом:
<cite>Создатель CSS. <a href="https://dev.opera.com/articles/css-twenty-years-hakon/">Источник</a></cite>
4. Информационные блоки
Информационные блоки позволяют акцентировать внимание читателя на важных моментах, выделяя их на фоне остального текста. Есть три способа отображения информационных блоков в базе знаний:
а. Готовые информационные блоки
Для выбора доступны два варианта блоков:
i) Готовые информационные блоки с заголовками
Ваш центр поддержки уже содержит стили для готовых информационных блоков, поэтому всё, что нужно сделать, — использовать следующую HTML-структуру:
<div class="omni_[тег]"> <[тег]_title>[Название кастомного блока]<[/тег]_title> [Текст информационного блока, который оформлен стандартными HTML-тегами] </div>
Скопируйте HTML-разметку подходящего блока, перейдите в исходный код статьи и вставьте скопированный HTML.
Блок «Информация»
CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы.
HTML-разметка блока «Информация»
<div class="omni_info"> <info_title>Информация</info_title> <p>CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы.</p> </div>
Блок «Заметка»
Подобрать кастомный CSS можно через браузер: наведите курсор на элемент, стиль которого хотите изменить → нажмите правую кнопку мыши → выберите опцию «Просмотреть код» → измените параметры и значения стилей. Пример есть тут.
HTML-разметка блока «Заметка»
<div class="omni_note"> <note_title>Заметка</note_title> <p>Подобрать кастомный CSS можно через браузер: наведите курсор на элемент, стиль которого хотите изменить → нажмите правую кнопку мыши → выберите опцию «Просмотреть код» → измените параметры и значения стилей. Пример есть <a href="https://support.omnidesk.ru/knowledge_base/item/121972" target="_blank">тут</a>.</p> </div>
Блок «Предупреждение»
При обновлении страницы все изменения, внесённые через «Просмотреть код», сбрасываются.
HTML-разметка блока «Предупреждение»
<div class="omni_warning"> <warning_title>Предупреждение</warning_title> <p>При обновлении страницы все изменения, внесённые через «Просмотреть код», сбрасываются.</p> </div>
Блок «Подтверждение»
После вставки HTML-разметки нужного вам блока достаточно изменить текст из примера на ваш и сохранить изменения.
HTML-разметка блока «Подтверждение»
<div class="omni_confirmation"> <confirmation_title>Подтверждение</confirmation_title> <p>После вставки HTML-разметки нужного вам блока достаточно изменить текст из примера на ваш и сохранить изменения.</p> </div>
Блок «Технические детали»
Внутри информационных блоков вы можете использовать любые теги, чтобы дополнительно отформатировать текст: жирный, курсив и т. д.
HTML-разметка блока «Технические детали»
<div class="omni_details"> <details_title>Технические детали</details_title> <p>Внутри информационных блоков вы можете использовать любые теги, чтобы дополнительно отформатировать текст: <strong>жирный</strong>, <em>курсив</em> и т. д.</p> </div>
ii) Готовые информационные блоки без заголовков
Облегчённая версия, в которой отображаются только иконка и текст. Чтобы получить упрощенную версию, достаточно удалить вторую строку с <тег_title> из HTML-разметки блока:
<div class="omni_[тег]"> [Текст информационного блока, который оформлен стандартными HTML-тегами] </div>
Блок «Информация» без заголовка
CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы.
HTML-разметка кастомного блока «Информация»
<div class="omni_info"> <p>CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы.</p> </div>
Блок «Заметка» без заголовка
Подобрать кастомный CSS можно через браузер: наведите курсор на элемент, стиль которого хотите изменить → нажмите правую кнопку мыши → выберите опцию «Просмотреть код» → измените параметры и значения стилей. Пример есть тут.
HTML-разметка кастомного блока «Заметка»
<div class="omni_note"> <p>Подобрать кастомный CSS можно через браузер: наведите курсор на элемент, стиль которого хотите изменить → нажмите правую кнопку мыши → выберите опцию «Просмотреть код» → измените параметры и значения стилей. Пример есть <a href="https://support.omnidesk.ru/knowledge_base/item/121972" target="_blank">тут</a>.</p> </div>
Блок «Предупреждение» без заголовка
При обновлении страницы все изменения, внесённые через «Просмотреть код», сбрасываются.
HTML-разметка кастомного блока «Предупреждение»
<div class="omni_warning"> <p>При обновлении страницы все изменения, внесённые через «Просмотреть код», сбрасываются.</p> </div>
Блок «Подтверждение» без заголовка
После вставки HTML-разметки нужного вам блока достаточно изменить текст из примера на ваш и сохранить изменения.
HTML-разметка кастомного блока «Подтверждение»
<div class="omni_confirmation"> <p>После вставки HTML-разметки нужного вам блока достаточно изменить текст из примера на ваш и сохранить изменения.</p> </div>
Блок «Технические детали» без заголовка
Внутри информационных блоков вы можете использовать любые теги, чтобы дополнительно отформатировать текст: жирный, курсив и т. д.
HTML-разметка кастомного блока «Технические детали»
<div class="omni_details"> <p>Внутри информационных блоков вы можете использовать любые теги, чтобы дополнительно отформатировать текст: <strong>жирный</strong>, <em>курсив</em> и т. д.</p> </div>
б. Кастомные информационные блоки через кастомный CSS
Готовые информационные блоки, конечно, не покроют 100% юзкейсов. Поэтому при необходимости вы можете либо создать полностью кастомные блоки, либо немного изменить стили готовых.
Добавить кастомный CSS для центра поддержки можно по пути: аккаунт администратора → раздел «Центр поддержки» → подраздел «Персонализация» → поле «Кастомный CSS».
Например, создадим кастомный блок с просьбой почистить кэш браузера:
Сочетание клавиш Ctrl+F5 обновит страницу, игнорируя кэш, а Ctrl+Shift+Del откроет очистку кэша браузера.
Кастомный CSS блока
.broom_block { display: block; position: relative; overflow: initial; background: #f4ebff; padding: 20px 20px 2px 50px; margin-bottom: 20px; border-radius: 8px; } .broom_block::before { content: "\e5d1"; font-family: "Font Awesome 6 Pro"; font-weight: 700; color: #754CA6; position: absolute; height: 1rem; left: 1.3rem; } .broom_block broom_title { margin-bottom: 15px; font-weight: 700; color: #754CA6; position: relative; display: block; }
Как видно из структуры, мы создали класс .broom_block, к которому относятся два объекта: ::before (для иконки) и broom_title (для заголовка). Именно эти теги следует использовать в HTML-разметке. При этом если не указать основной класс <div class="broom_block">, стили работать не будут.
HTML-разметка блока
<div class="broom_block"> <broom_title>Почистите кеш!</broom_title> <p>Сочетание клавиш <strong>Ctrl+F5</strong> обновит страницу, игнорируя кэш, а <strong>Ctrl+Shift+Del</strong> откроет очистку кэша браузера.</p> </div>
Дополнительные нюансы:
В центре поддержки используются иконки шрифта Font Awesome 6 Pro. Вы можете использовать любую иконку, кроме логотипов брендов: выберите иконку → нажмите на unicode, чтобы скопировать (см. скриншот) → вставьте в стиль объекта ::before в параметр content, чтобы получилось content: "\[юникод_иконки]";.
Кастомные стили используются только для центра поддержки. В аккаунте администратора и аккаунте сотрудника они не отображаются.
Учитывая, что в HTML-редакторе форматирование не отобразится так, как в базе знаний, для проверки кастомных блоков рекомендуем сначала создать статью с ограниченным доступом, а после получения нужного внешнего вида сделать ее доступной не только для сотрудников, но и для клиентов.
в. Кастомные информационные блоки через стили в HTML-разметке
Этот вариант позволяет прописать нужные стили прямо в исходном коде статьи. Его есть смысл использовать для разовых изменений, если вы не планируете создавать стили для блока, который будете вставлять в разные статьи.
В этом случае стили можно добавить к большинству тегов через атрибут style в формате <[тег] style="[параметры стиля]">.
Пример добавления атрибута style в теги div и p:
<div style="display: flex; flex-direction: column; position: static; background: #e5fadb; padding: 15px 10px 0px 20px; margin-bottom: 20px !important; overflow: initial; border-left: 3px solid darkgreen;"> <p style="margin-bottom: 15px !important; color: #006400;"><strong>Оформление кастомного блока через исходный код статьи</strong></p> <p>Кастомный блок прописан в HTML-разметке самой статьи. Этот вариант подойдет, если вам нужно использовать кастомный блок только в этой статье.</p> </div>
В результате получаем:
Оформление кастомного блока через исходный код статьи
Кастомный блок прописан в HTML-разметке самой статьи. Этот вариант подойдет, если вам нужно использовать кастомный блок только в этой статье.
Обратите внимание, что указанные в HTML-разметке свойства с помощью атрибута style, как правило, перезатирают глобальные свойства CSS. В некоторых случаях следует прописывать !important, если вы хотите, чтобы стили в HTML-разметке имели приоритет. К примеру, background: #e5fadb !important;.
Стилизация с помощью inline-CSS доступна для большинства тегов, однако рекомендуется при возможности прописывать стили в кастомном CSS для центра поддержки, так как могут возникнуть проблемы с совместимостью браузеров, а сам HTML-документ станет заметно больше.
5. Другие полезные блоки
У HTML и CSS достаточно много возможностей, и все разобрать не получится. Но мы расскажем о ещё нескольких вариантах оформления статей :)
а. Блок, оформленный с помощью разделителей
Тег hr добавляет горизонтальную линию, которая может выделить текст в отдельный блок:
Нужна помощь? Напишите нам или обратитесь к базе знаний.
Если вы только начали изучать Омнидеск, рекомендуем ознакомиться с краткими видеоруководствами.
HTML-разметка блока с разделителями
<hr> <p style="text-align: center;"><strong>Нужна помощь?</strong> Напишите нам или обратитесь к <a href="https://support.omnidesk.ru/knowledge_base/">базе знаний</a>.</p> <p style="text-align: center;">Если вы только начали изучать Омнидеск, рекомендуем ознакомиться с <a href="https://omnidesk.ru/features/">краткими видеоруководствами</a>.</p> <hr>
б. Блоки со ссылками и кнопками
Содержание объёмной статьи, ссылки на полезные статьи или ссылки на сторонние ресурсы тоже можно оформить отдельными блоками.
i) Вертикальное меню
Оформите в отдельный блок ссылки на статьи схожей тематики или содержание большой статьи, как мы сделали в начале этой инструкции.
Этот блок требует добавления большого количества стилей, поэтому прописать их в HTML-документе (inline-стили) не выйдет — нужно добавлять через кастомный CSS для центра поддержки.
Кастомный CSS блока «Похожие статьи»
.relart { margin-bottom: 20px; } .relart r_title { display: block; position: relative; font-family: Roboto, Helvetica, Arial, sans-serif; font-weight: 600; margin-bottom: 15px; font-size: 18px; } .relart r_links { position: relative; border: 1px solid #eee !important; border-radius: 5px; padding: 0px; position: relative; display: flex; flex-direction: column; } .relart a { outline: none; text-decoration: none; flex: 1; font-family: Roboto, Helvetica, Arial, sans-serif; color: #595959 !important; line-height: 2.5; padding-left: 15px; padding-right: 15px; border-radius: 5px; color: #05a !important; background-color: #ffffff !important; } .relart a::after { content: "\f054"; font-family: "Font Awesome 6 Pro"; font-weight: 300; color: #05a; position: absolute; height: 1rem; right: 1rem; } .relart a:link { background-color: #fbfbfb; } .relart a:visited { background-color: #fbfbfb; } .relart a:focus { text-decoration: none; background: #e5edff; color: #1261ff !important; } .relart a:hover { text-decoration: none; background: #f8f8f8 !important; border-radius: 0px; color: #05a !important; opacity: 1.0 !important; } .relart a:first-child:hover { border-radius: 4px 4px 0 0; } .relart a:last-child:hover { border-radius: 0 0 4px 4px; } .relart a:active { background: #e5edff; color: #05a !important; opacity: .7 !important; }
HTML-разметка блока «Похожие статьи»
<div class="relart"> <r_title>Похожие статьи</r_title> <r_links> <a href="https://support.omnidesk.ru/knowledge_base/item/203471">Краткий гид по центру поддержки</a> <a href="https://support.omnidesk.ru/knowledge_base/item/84167">Как создать базу знаний</a> <a href="https://support.omnidesk.ru/knowledge_base/item/203474">Как устроен личный кабинет пользователя</a> <a href="https://support.omnidesk.ru/knowledge_base/item/4">Персонализация центра поддержки</a> </r_links> </div>
ii) Ссылка с нижней границей
Явно выделить ссылку можно через добавление нижнего подчёркивания и иконки:
Кастомный CSS ссылки «Узнать больше»
.superlink super_button { font-size: 18px; display: inline-block; background: inherit; padding: 0px; border-bottom: 3px solid #377FEA; padding: 0px 0px 3px; margin-bottom: 20px; } .superlink a { outline: none; text-decoration: none; font-family: Roboto, Helvetica, Arial, sans-serif; font-weight: 700; color: black !important; } .superlink a::after { content: "\e09f"; font-family: "Font Awesome 6 Pro"; font-weight: 700; color: black; width: 13.5px; display: inline-block; margin-left: 6px; } .superlink a:link { background: inherit; } .superlink a:visited { background: inherit; color: #black; } .superlink a:focus { text-decoration: none; background: inherit; color: #3882f0 !important; } .superlink a:hover { text-decoration: none; background: inherit; color: #3882f0 !important; opacity: .8 !important; } .superlink a:hover::after { text-decoration: none; background: inherit; color: #3882f0 !important; opacity: .8 !important; transition: all .35s ease-out !important; } .superlink a:active { background: inherit; color: #3882f0 !important; }
HTML-разметка ссылки «Узнать больше»
<div class="superlink"> <super_button><a href="https://support.omnidesk.ru/knowledge_base/item/4">Узнать больше</a></super_button> </div>
iii) Горизонтальное меню с кнопками
Если список важных ссылок недостаточно привлекает внимание пользователей, попробуйте оформить их в виде кнопок:
Кастомный CSS горизонтального меню с кнопками
.linelinks { display: grid; gap: 15px; align-items: center; margin: 20px 0; grid-template-columns: repeat(3,1fr); grid-template-rows: 1fr; align-items: center; box-sizing: border-box; } .linelinks a { color: #fff !important; font-weight: 600 !important; font-size: 17px; background-color: #377de9; border: 0; border-radius: 6px; text-align: center; box-shadow: 1px 2px 5px rgba(0,0,0,.2), 0px 1px 1px rgba(0,0,0,.3); padding: 15px; }
HTML-разметка горизонтального меню с кнопками
<div class="linelinks"> <a href="https://omnidesk.ru/features/" target="_blank">Видеоруководство</a> <a href="https://support.omnidesk.ru/knowledge_base/17438" target="_blank">Популярные юзкейсы</a> <a href="https://omnidesk.ru/pricing/" target="_blank">Настройка под ключ</a> </div>
в. Кастомный блок для кода
Если стандартный вариант с тегом pre, который отвечает за отображение предварительно отформатированного текста, не подходит, используйте альтернативный тег code.
Стили можно кастомизировать, чтобы получить, к примеру, вот такое отображение кода:
.code_block {
padding: 0px;
display: block;
position: relative;
}
.code_block code {
color: #000666;
font-family: Consolas, Menlo, Monaco, monospace;
line-height: 1.5rem;
min-width: 100%;
word-break: normal;
border: 1px solid #d9d9d9;
border-radius: 3px;
padding-top: 15px !important;
}
.code_block code::before {
background: #28b077;
color: #f8f8f8;
font-family: "Font Awesome 6 Pro";
content: "\e322";
left: 0;
padding: 3px 0;
position: absolute;
text-indent: 15px;
top: 0;
width: 100%;
border-radius: 3px 3px 0 0;
}
.code_block code::after {
color: #f8f8f8;
font-family: Consolas, Menlo, Monaco, monospace;
content: "CSS";
left: 0;
padding: 3px 0;
position: absolute;
text-indent: 40px;
top: 0;
}
Обратите внимание, что в стиле .code_block code::after в параметре content указано название, которое отображается в шапке блока, — CSS. Его можно заменить на произвольное.
HTML-разметка, которую нужно использовать в исходном коде статьи для отображения кастомного блока с кодом из примера выше:
<div class="code_block">
<code>[Ваш текст разметки, кода или другого предварительно отформатированного текста]</code>
</div>