Правила оформления статей и компоненты VirtualPos
Руководство для авторов справки VirtualPos: как строить статью, как её оформлять и какие визуальные компоненты можно использовать. Компоненты дают шаблон virtualpos и плагины vpmeta и wrap; большинство из них вставляется кнопкой «Компоненты статьи VirtualPos» на панели редактора. Короткая шпаргалка с образцом — статья Компоненты статей VirtualPos, общий синтаксис DokuWiki — Formatting Syntax. Образец готовой статьи — Заявки на пополнение запасов, образец описания API — Customer. Клиенты.
Правило простое: пишите структурно и коротко, а оформление оставляйте компонентам. Не задавайте цвета, размеры шрифтов и отступы вручную: они настроены в шаблоне и одинаковы во всей справке.
Где хранить статью
Справка пользователя лежит в пространстве имён hc:, далее — раздел и статья: hc:<раздел>:<статья>. Например, hc:purchase:requisition — статья «Заявки на пополнение запасов» раздела «Закупки».
| Раздел | Латинское название в нижнем регистре: sales, stock, purchase, pos, api. Разделы соответствуют пунктам левого меню |
| Имя статьи | Латиница в нижнем регистре, слова через нижнее подчёркивание: purchase_order. Не используйте пробелы, заглавные буквы и кириллицу в адресе |
| Картинки статьи | В пространстве имён того же раздела: hc:<раздел>:pasted: для вставленных из буфера и hc:<раздел>: для загруженных вручную |
| Порядок в меню | Задаётся первой строкой страницы раздела start: {{indexmenu_n>50}}. Чем меньше число, тем выше пункт |
| Список статей раздела | Строится автоматически на странице start раздела ({{indexmenu>.#1|nojs msort tsort nsort nogroup}}), вручную перечислять статьи не нужно |
Устаревший функционал не удаляют, а переносят в нужный раздел и помечают в начале статьи блоком «Этот функционал более не поддерживается» (компонент «Внимание», см. ниже).
Структура статьи
Все статьи строятся по одной схеме:
- Метаданные Иконка и путь в программе (две строки до заголовка).
- Заголовок Название функции или раздела: существительное, без слова «Инструкция».
- Лид Абзац из одного-двух предложений: что это и для чего.
- Основная часть Разделы второго уровня: как это работает, как настроить, пошаговые инструкции, справочные таблицы.
- Связанные разделы Карточки со ссылками на смежные статьи. Всегда последний раздел.
~~ICON:assignment_add~~ ~~PATH:Закупки → Заявки на пополнение~~ ====== Заявки на пополнение запасов ====== Заявки формируют потребность в товаре и служат основой для заказов поставщикам. ===== Как это работает ===== ... ===== Связанные разделы ===== <WRAP related> * [[hc:purchase:purchase_order|Заказы поставщикам]] Заказы, созданные на основе заявок </WRAP>
Заголовки
====== ====== | Один заголовок статьи: название. Он же попадает в меню и заголовок вкладки |
===== ===== | Разделы статьи. По ним строится оглавление справа |
==== ==== | Подразделы. Не делайте заголовков глубже третьего уровня |
Заголовок раздела отвечает на вопрос читателя: «Как создать заявку», «Статусы заявки», «Права доступа». Не заканчивайте заголовки точкой.
Стиль текста
- Язык — русский. Пишите от второго лица во множественном числе повелительного наклонения: «Нажмите», «Выберите», «Укажите». Не используйте разговорные обороты и слова «просто», «легко».
- Названия интерфейса — кнопки, пункты меню, поля, вкладки пишите жирным шрифтом: Создать, Настройки. Пункты меню соединяйте стрелкой: Закупки → Заявки на пополнение.
- Термины — во всей справке одно и то же слово для одного понятия: «точка продаж», «поступление», «остаток». Не смешивайте синонимы.
- Коды, значения, параметры — моноширинным шрифтом (двойные апострофы):
NEW,console.requisition.confirm,apikey. - Кавычки — «ёлочки» для названий статусов, документов и цитат.
- Идентификаторы — в описаниях полей вместо «номер» для ид записи пишите «ид»: «Ид клиента», «Ид точки продаж».
- Списки — маркированные для перечислений, нумерованные только для последовательных действий. Каждый пункт — законченная мысль.
- Длина — один абзац — одна мысль, не длиннее пяти-шести строк. Длинные инструкции разбивайте на шаги.
- Не дублируйте общее знание: вместо повторения инструкции дайте ссылку на статью, где она описана.
Базовая разметка
| Что получить | Как написать |
|---|---|
| Жирный | **текст** |
| Курсив | //текст// |
| Код в тексте | ''текст'' |
| Маркированный список | Две пробела, звёздочка: * пункт |
| Нумерованный список | Два пробела, дефис: - пункт |
| Вложенный пункт | Ещё два пробела перед маркером |
| Ссылка на статью | [[hc:purchase:requisition|Заявки на пополнение запасов]] |
| Ссылка на раздел статьи | [[hc:purchase:requisition#статусы_заявки|Статусы заявки]] |
| Внешняя ссылка | [[https://example.com|Название]] |
| Горизонтальная линия | ---- |
| Перенос строки | \\ в конце строки |
| Цитата | > текст |
Ссылки на статьи всегда пишите с названием после | и полным именем страницы (hc:раздел:статья). Ссылки на удалённые или несуществующие страницы отображаются красным: проверяйте их перед публикацией.
Иконка и путь в программе
Две строки в самом начале статьи, до заголовка (плагин vpmeta). Ничего не выводят в тексте, а сохраняют данные страницы для шаблона.
~~ICON:assignment_add~~ ~~PATH:Закупки → Заявки на пополнение~~
| Иконка статьи: имя из каталога Material Symbols в нижнем регистре с подчёркиваниями (inventory_2, receipt_long). Показывается у заголовка, в плитках раздела и в карточках «Связанные разделы» |
| Где искать функцию в программе: пункты меню через стрелку →. Показывается под заголовком |
Иконку задавайте у каждой статьи: разным статьям — разные иконки, по смыслу. Путь указывайте, если функция есть в панели управления или на кассе.
Лид и акцентная цитата
Первый абзац после заголовка — лид: одно-два предложения о том, что это и зачем. Для ключевой мысли раздела используйте акцентную цитату.
Основная цель процесса — закупать то, что нужно, и столько, сколько нужно.
> Основная цель процесса — закупать то, что нужно, и столько, сколько нужно.
Шаги процесса
Карточки с номерами: обзор этапов процесса. Название шага — жирным, описание — после него. Используйте для схемы «из чего состоит процесс», а не для подробной инструкции.
- Создание Кладовщик создаёт заявку и добавляет товары.
- Согласование Руководитель согласует количества.
- Заказы Закупщик создаёт заказы на основе заявки.
<WRAP steps> - **Создание** Кладовщик создаёт заявку и добавляет товары. - **Согласование** Руководитель согласует количества. - **Заказы** Закупщик создаёт заказы на основе заявок. </WRAP>
Инструкция со сквозной нумерацией
Подробная пошаговая инструкция. Нумерация не сбивается, даже если между шагами вставлены скриншоты.
<WRAP procedure>
- Отметьте нужные строки.
- Выберите поставщика.
{{:hc:purchase:pasted:20260325-163311.png?400|Выбор строк и поставщика}}
- Нажмите «Создать заказ».
</WRAP>
Один шаг — одно действие. Результат шага можно описать в следующей строке или в блоке «Результат».
Скриншоты
Картинка на отдельной строке автоматически оформляется как скриншот в рамке. По клику он открывается в полном размере.

{{:hc:purchase:pasted:20260320-184811.png?580|Форма создания заявки}}
?580 | Ширина в пикселях. Без неё скриншот растягивается на всю колонку. Для широких форм — 580–700, для узких диалогов — 300–400 |
|Подпись | Подпись под скриншотом: что на нём показано |
| Вставка из буфера | В редакторе вставьте картинку из буфера (Ctrl+V): плагин imgpaste загрузит её в hc:<раздел>:pasted: |
| В тексте и таблицах | Картинки внутри строки текста и в ячейках таблиц остаются как есть, без рамки |
Правила для скриншотов: снимайте только нужную часть окна; не показывайте реальные персональные данные, ключи доступа и пароли; подписывайте каждый скриншот.
Поля и описания
Список «название — описание» вместо таблицы: для полей формы, параметров, настроек. Слева название жирным, справа пояснение.
| Склад | Склад, для которого формируется потребность |
| Статус | Текущий статус заявки |
<WRAP props> | **Склад** | Склад, для которого формируется потребность | | **Статус** | Текущий статус заявки | </WRAP>
Каждая строка — одна пара, разделители | в начале и в конце строки. Внутри ячейки можно использовать форматирование и код.
Карточки вариантов
Значения параметра и что происходит при каждом из них. Название параметра — курсивом, значение — жирным, пояснение — после него.
- Заполнить автоматически Да Система рассчитает потребность сама.
- Заполнить автоматически Нет Закупщик наполняет заявку вручную.
<WRAP cards> * //Заполнить автоматически// **Да** Система рассчитает потребность сама. * //Заполнить автоматически// **Нет** Закупщик наполняет заявку вручную. </WRAP>
Статусы
Метка статуса документа. Цвет соответствует смыслу: серый — начальный, жёлтый — требует внимания, синий — промежуточный, зелёный — завершён.
Новая На согласовании Подбор поставщиков Закрыта
<wrap status>Новая</wrap> <wrap status warning>На согласовании</wrap> <wrap status info>Подбор поставщиков</wrap> <wrap status success>Закрыта</wrap>
Цепочка статусов
Порядок переходов документа. Стрелки — символ →.
Новая → На согласовании → Закрыта
<WRAP flow> <wrap status>Новая</wrap> → <wrap status warning>На согласовании</wrap> → <wrap status success>Закрыта</wrap> </WRAP>
Действия и переходы
Что делает каждая кнопка документа и в какой статус он переходит. Первая строка пары — название действия и статус, вторая — описание; она заканчивается двумя ||. Описание можно не писать.
| «Утвердить» | Подбор поставщиков |
Требует права console.requisition.confirm. |
|
| «Вернуть на доработку» | Новая |
| Заявка возвращается к формированию потребности. | |
<WRAP actions> | **«Утвердить»** | <wrap status info>Подбор поставщиков</wrap> | | Требует права ''console.requisition.confirm''. || | **«Вернуть на доработку»** | <wrap status>Новая</wrap> | | Заявка возвращается к формированию потребности. || </WRAP>
Подсказки и предупреждения
Цветные блоки для важных замечаний. Начинайте текст жирным словом-меткой. Не злоупотребляйте: не больше одного-двух блоков на раздел.
Подсказка. Полезная информация по теме.
Совет. Как сделать удобнее или быстрее.
Справка. Пояснение, которое нужно не всем читателям.
Результат. Что получится после выполнения действий.
Внимание. На что обратить внимание, чтобы не ошибиться.
Запрет. Чего делать нельзя и к чему это приведёт.
Не забудьте. Что нужно сделать позже или дополнительно.
Скачать. Ссылка на файл или дистрибутив.
<WRAP info> **Подсказка.** Полезная информация по теме. </WRAP> <WRAP tip> ... </WRAP> <WRAP help> ... </WRAP> <WRAP success> ... </WRAP> <WRAP important> ... </WRAP> <WRAP alert> ... </WRAP> <WRAP permission> Требует права ''console.requisition.complete''. </WRAP> <WRAP todo> ... </WRAP> <WRAP download> ... </WRAP>
info | Дополнительная информация, ссылки на связанные статьи |
tip | Совет, способ упростить работу |
help | Справочное пояснение |
success | Ожидаемый результат действия |
important | Предупреждение о возможной ошибке, ограничении, необратимом действии |
alert | Запрет, опасное действие |
permission | Право доступа, необходимое для операции |
todo | Напоминание о дополнительном шаге |
download | Скачиваемый файл, ссылка на дистрибутив |
Блок по центру с заданной шириной
Блоку можно добавить слова center round и ширину в процентах — он будет по центру страницы и уже основного текста. Так оформляют, например, ссылку на скачивание.
Скачать программу: https://example.com/setup.zip
<WRAP center round download 60%> **Скачать программу**: [[https://example.com/setup.zip]] </WRAP>
Блок с кодом или командой
Блок box выводит текст в нейтральной рамке: подходит для команд и коротких значений.
php -S 0.0.0.0:8080 -t wwwroot
<WRAP center round box 60%> php -S 0.0.0.0:8080 -t wwwroot </WRAP>
Подсветка внутри строки
Слова внутри строки можно выделить фоном: <wrap hi>текст</wrap> — важное слово, <wrap info>…</wrap>, <wrap important>…</wrap>, <wrap alert>…</wrap>, <wrap tip>…</wrap>: информация внимание запрет совет. Используйте редко, только для одного-двух слов.
Колонки
Две колонки рядом: для сопоставления текста и картинки или двух списков. На узких экранах колонки встают друг под друга.
- Первая колонка
- Первый пункт
- Вторая колонка
- Второй пункт
<WRAP group> <WRAP half column> * Первая колонка </WRAP> <WRAP half column> * Вторая колонка </WRAP> </WRAP>
Блок <WRAP col2> делит на две колонки содержимое одного блока — используйте его, когда нужно расположить текст и рядом скриншот.
Таблицы
Обычные таблицы DokuWiki. Заголовки колонок — между ^, ячейки — между |. Код в ячейках (NEW) выводится мелким моноширинным шрифтом. В ячейку можно поместить статус.
| Статус | Код | Описание |
|---|---|---|
| Новая | NEW | Черновик заявки |
| Закрыта | COMPLETED | Заявка выполнена |
^ Статус ^ Код ^ Описание ^ | <wrap status>Новая</wrap> | ''NEW'' | Черновик заявки | | <wrap status success>Закрыта</wrap> | ''COMPLETED'' | Заявка выполнена |
Таблицу используйте, когда у данных несколько колонок. Пары «название — описание» оформляйте компонентом «Поля и описания».
Блоки кода
Примеры запросов, ответов, файлов и команд оформляйте блоком code с указанием языка для подсветки.
{"success": 1, "id": "21"}
<root><success>1</success></root>
<code json>
{"success": 1, "id": "21"}
</code>
<code xml>
<root><success>1</success></root>
</code>
<code>
GET https://[компания].myvirtualpos.ru/api/customer?apikey=MySecret
</code>
Поддерживаются json, xml, bash, sql, php и другие языки; без указания языка блок показывается без подсветки. В примерах используйте вымышленные данные, а ключ доступа заменяйте на MySecret.
Связанные разделы
Карточки со ссылками на смежные статьи в конце статьи. Строка: ссылка с названием, затем через пробел — короткое пояснение. Иконка карточки берётся из ~~ICON~~ целевой статьи.
<WRAP related> * [[hc:purchase:purchase_order|Заказы поставщикам]] Заказы, созданные на основе заявок * [[hc:stock:inflow|Приёмка товара]] Оформление поступления товара на склад </WRAP>
Шаблон статьи об API
Статьи раздела hc:api строятся по единому плану:
- Метаданные и лид
~~ICON~~, заголовок и абзац о том, что делает метод. - Ссылка на общие сведения Блок
infoсо ссылкой на статью Общие сведения: ключ, формат, общие ошибки описываются только там. - Методы Таблица «метод — адрес — что делает».
- Запрос Пример вызова в блоке
codeи параметры в компоненте «Поля и описания». Для каждого параметра: тип, обязательность, значение по умолчанию. Отдельно (блокimportant) отметьте, какие параметры читаются только из адресной строки. - Структура ответа Поля ответа и объекта по группам, компонентом «Поля и описания».
- Пример ответа JSON и XML в блоках
code jsonиcode xml. - Примеры запросов Таблица «задача — запрос».
- Ошибки Таблица «сообщение — причина — что делать».
- Связанные разделы Карточки.
Чек-лист перед публикацией
- Есть
~~ICON~~и, если применимо,~~PATH~~. - Один заголовок первого уровня, разделы — второго, лид написан.
- Все ссылки ведут на существующие страницы (не красные).
- Все скриншоты подписаны, без персональных данных, ключей и паролей.
- Названия элементов интерфейса — жирным, коды и значения — моноширинным.
- Блоки
<WRAP>и<code>закрыты. - В конце — «Связанные разделы».
- Статья открыта в браузере и проверена глазами, в том числе в узком окне.
