Категории документации Discourse

:discourse2: Краткое описание Категории документации Discourse позволяют выделять определённые категории для документации, активируя для них дополнительные функции.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-doc-categories
:open_book: Руководство по установке Как установить плагины в Discourse

:warning: Обратите внимание, что этот плагин находится в активной разработке и ещё не полностью завершён.

Функции

Плагин Discourse Doc Categories позволяет размещать структурированную документацию на существующем форуме Discourse. Он работает, выделяя определённые категории для документации и предоставляя функции, упрощающие поиск конкретных тем документации.

Вы можете увидеть его в действии в категории Documentation.

При маркировке категории как места для документации для неё активируются следующие функции:

  • Указанная тема, используемая в качестве индекса для всех тем документации в категории
  • Новая боковая панель для навигации между различными темами в категории, включая встроенные функции фильтрации и поиска
  • Новые отчёты, помогающие поддерживать целостность тем индекса

Кроме того, плагин обрабатывает перенаправления для сайтов, мигрирующих с устаревшего плагина Docs. Ссылки на документацию из того плагина будут перенаправляться на их существующие URL тем, а также существует настройка для перенаправления вашей предыдущей главной страницы документации на основную категорию документации.

Настройка

Настройки конфигурации доступны по адресу example.discourse.com/admin/site_settings/category/doc_categories. Здесь вы найдёте следующие параметры:

  • doc categories enabled: Выберите, чтобы включить плагин Doc Categories.
  • doc categories docs legacy enabled: Выберите этот параметр, если вы мигрировали с устаревшего плагина Docs.
  • doc categories homepage: При включении предыдущего параметра главная страница устаревшего плагина Docs будет перенаправляться на этот URL.

Чтобы указать, какие категории будут использоваться для документации, назначьте им тему индекса. Для этого откройте настройки категории, нажав на иконку :wrench: на странице категории. Затем нажмите ссылку «Настройки» и прокрутите вниз до раздела «Режим документации». Используйте поле «Тема индекса», чтобы указать тему, которая будет использоваться в качестве индекса категории.

Темы индекса

Темы индекса для категории документации выполняют две функции:

  1. Они представляют собой центральный список всех тем, включённых в категорию.
  2. Боковая панель, включённая в этот плагин, заполняется содержимым темы индекса.

Форматирование тем индекса

Темы индекса могут содержать любой контент. Чтобы боковая панель работала корректно, они должны включать маркированный список (или несколько маркированных списков) тем документации. Это могут быть просто URL тем в списке, в этом случае боковая панель будет отображать полное название для каждой темы документации.

Отображение полного названия в боковой панели может быть неудобным, если названия состоят более чем из нескольких слов. Чтобы задать более короткие названия для конкретной темы, поставьте перед URL сокращённое название, за которым следует двоеточие (:). Весь текст до двоеточия будет отображаться в боковой панели, и он будет вести на URL темы.

Вы можете разделить тему индекса на разделы и использовать несколько списков с заголовками (любого уровня) над каждым из них — тогда они будут отображаться в боковой панели в этих разделах.

Вот пример темы индекса для начала:

Вы можете начать с краткого описания категории (необязательно).

## Первый раздел
* https://discourse.example.com/t/topic-title/12
* https://discourse.example.com/t/another-topic-title/34
* Короткое название: https://discourse.example.com/t/topic-with-a-long-title/56
* Другое название: https://discourse.example.com/t/another-topic-with-a-long-title/78

## Второй раздел
* Название темы: https://discourse.example.com/t/documentation-topic/98
* https://discourse.example.com/t/new-topic/76

Этот пример создаст боковую панель документации, которая выглядит так:

:eyes: Посмотрите тему индекса Documentation > Site Management, чтобы увидеть пример работы индекса категории документации: https://meta.discourse.org/t/site-management-index/308032

Поддержка тем индекса

Хотя темы индекса не обновляются автоматически при добавлении, удалении или редактировании контента в категории, плагин включает новые отчёты, которые выделяют несоответствия в темах индекса.

  • Темы, не включённые в индекс:
    example.discourse.com/admin/reports/doc_categories_missing_topics
    Этот отчёт показывает любые темы в категориях документации, которые не были добавлены в индекс.

  • Лишние элементы:
    example.discourse.com/admin/reports/doc_categories_extraneous_items
    Этот отчёт показывает элементы, включённые в индекс, которые, по-видимому, не должны там быть. Отчёт указывает причину включения темы в отчёт — например, если она была удалена или находится в другой категории, чем тема индекса, в которую она включена.

Дополнительная информация

Добавление строки in:docs к поисковому запросу выполнит поиск во всех категориях, помеченных для документации (т. е. у которых назначена тема индекса).

Максимальное количество элементов в индексе определяется настройкой сайта «Максимальное количество onebox на пост», по умолчанию равной 50. Если вам нужно более 50 элементов индекса, увеличьте это значение в соответствующей настройке.

38 лайков
New documentation plugin in development
Discourse vs Skool
Discourse Docs
How to create a sidebar similar to meta documentation sidebar?
Using Discourse as Learning Platform
Sub-sections on the sidebar without sub-categories
I am very interested in the 'documentation' feature
Using Discourse as an enterprise wiki library
How to arrange sub categories as list items under a category
Sub-sections on the sidebar without sub-categories
Custom topic ordering
Collections
Bulk Export of Raw Post Sources with Markup
Bulk Export of Raw Post Sources with Markup
Discourse Doc Categories is now available on Business
Discourse Docs
Discourse as an LMS / Discourse integration with an LMS
Topics (with replies) bumped on title edit
Theme customize - sidebar content
Questions about subcategories displaying in wiki sidebar
Doc pages - Schema Article
Structuring an active support community migrating from Facebook
Introducing simple mode for Discourse Doc Categories
Sidebar activation issues after recent Doc Categories update
How to add this header, colored categories, and sidebar categories?
What is the best way to Publish a book with chapters?
Sidebar spacing change?
Is there a plugin that allows you to organize all the URLs of a category into one topic?
Use more often placeholder forms in documentation topics?
Published Pages for documentation?
Need Help on Category on left sidebar
Displaying "full topic" text on category page + access to subcategory from menu bar
Custom Platform
Click a category to open a subcategory page
Discourse Doc Categories links not rendering
A better way to manage indices for Doc Categories?
A better way to manage indices for Doc Categories?
Create index topic

Это довольно приятно. Я как раз изучал другие решения для самохостинга документации (структура форума иногда может быть немного запутанной для новых читателей).

Удачи Discourse (по сравнению с Gitbook и другими :smiley:)

6 лайков

Я бы предположил, что компонент discourse-doc-sidebar (правильно ли я запомнил название?) больше не нужен?

3 лайка

Да — компонент, изначально созданный для новой боковой панели документации, был перенесён в этот плагин.

4 лайка

Похоже, это больше не работает с тегами? :slight_smile:

4 лайка

Мне нравится такой подход, так как он аккуратно интегрируется в основную навигацию по дискурсу, а не представляет собой совершенно новую систему, как в плагине Docs.
Мы с радостью готовы перейти на неё!

2 лайка

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

5 лайков

Что-то вроде функции сносок, но с глобальной активацией по ключевым словам, было бы отличным дополнением к таким функциям.

3 лайка

Если у нас есть предпросмотр при наведении, который отображается на любой внутренней ссылке на вашем форуме, вам даже это не нужно. Замена слов/ссылок может справиться с этим: достаточно навести курсор на слово, чтобы прочитать полный пост, не открывая его :smiley:

Такие функции очень удобны (ведь никому не нравится читать документацию, верно?), а с выходом этого плагина, в разгар моего поиска лучшего решения для хостинга документации, мне стало гораздо сложнее :stuck_out_tongue: Я изучал возможность переноса моей документации в Quartz с управлением контентом в Obsidian.

2 лайка

Есть ли шанс, что это будет совместимо с 3.3 stable?

3 лайка

Да, это полностью совместимо с Discourse 3.3 :slight_smile:

2 лайка

Нет, это не так:

/var/www/discourse/plugins/discourse-doc-categories/lib/doc_categories/initializers/invalidate_cache_on_enabled_setting_change.rb:8:in `apply': undefined method `on_enabled_change' for an instance of Plugin::Instance (NoMethodError)

** НЕ СОВМЕСТИМЫЙ ПЛАГИН **

Вы не можете запустить Discourse из-за ошибок в плагине по адресу
/var/www/discourse/plugins/discourse-doc-categories

См. DEV: Add plugin API to perform actions when the plugin is turned on/o… · discourse/discourse@366dfec · GitHub

4 лайка

Отлично было бы, если бы эмодзи отображались в заголовках и элементах боковой панели!

3 лайка

Привет, ребята!

Извините, это была моя ошибка.

Когда Хью спросил меня, совместим ли плагин, я ошибочно предположил, что новые API, которые я добавил в ядро при его разработке, войдут в стабильную версию 3.3.

К сожалению, это оказалось не так, и первая стабильная версия, с которой плагин будет совместим, — 3.4.

Ещё раз извините за путаницу.

6 лайков

Как насчёт группового тега и тегов?

3 лайка

Спасибо за уточнение, @saquetim!

Не совсем понимаю, что вы имеете в виду — не могли бы вы немного прояснить?

В плагине Docs мы могли отображать теги группами в боковой панели для фильтрации.

Можно ли сделать то же самое с новым плагином?

2 лайка

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

2 лайка

Да, да, большое спасибо!

1 лайк

Должно быть, я совсем глупый, но, кажется, всё сделал правильно: назвал тему индексом для категории и указал плагин документации на эту тему, но боковая панель всё равно не появляется. Есть ли пошаговое руководство с скриншотами? Я в тупике, пытаясь настроить категорию документации. Спасибо!

1 лайк