В нашем сообществе есть очень большой раздел часто задаваемых вопросов (FAQ). Чтобы сделать каждый вопрос более доступным (для ссылок), мы разбили его на отдельные темы в подкатегории FAQ (она входит в верхнеуровневую категорию «Обучение»).
Вот как это выглядит сейчас, с темой Air и компонентом навигационной панели категорий.
Я пытаюсь понять, как реализовать две вещи (ни одна из которых не выглядит очевидной):
Добавить прямой доступ к подкатегориям в навигационной панели через выпадающее меню.
Отображать темы в режиме «полного текста» как на настольных компьютерах, так и на мобильных устройствах, чтобы пользователи могли просто прокручивать страницу вниз, не открывая темы, и читать всё подряд, если захотят.
Я считаю, что оба варианта можно реализовать с помощью компонентов темы.
Это может вызвать проблемы с производительностью, так как отображаются все сообщения тем (но их можно смягчить с помощью ленивой загрузки?). Если у вас много тем, например, как в разделе «Мета», это может стать неосуществимым (если только не загружать больше тем по мере того, как пользователь доходит до конца страницы).
В чём преимущество размещения этих вопросов в отдельных темах, а не в отдельных сообщениях внутри одной темы? Одна тема в Discourse прокручивается без каких-либо доработок. Кроме того, вы можете, например, добавить оглавление в первое сообщение.
Меня тоже это интересует. Неужели цель состоит в том, чтобы каждая тема FAQ оставалась открытой для ответов и обсуждений?
(Иначе я бы предложил создать один тему пост с включённой функцией Оглавления. Тогда весь материал можно было бы прокручивать, но при этом легко переходить к заголовкам разделов.)
По-моему, disco-toc всё ещё работает в рамках каждого поста. Я тоже об этом подумал; именно так я сделал на другом форуме Discourse. Но я не уверен, что в таком случае легко будет ссылаться на один из вопросов. У заголовков есть якоря, поэтому к ним можно ссылаться, но как только в FAQ добавляется новый вопрос, все ID заголовков после этого заголовка меняются, что ломает все ссылки. Тогда поиск этих ссылок в старых темах поддержки становится бесполезным, потому что они больше не ведут к нужному абзацу, а лишь к теме. Вот почему я обычно не ссылаюсь на FAQ, а каждый раз цитирую его.
Это позволяет нам легко и напрямую ссылаться на один из вопросов при ответе кому-либо. Одна из проблем в моём сообществе заключается в том, что у нас огромный объём документации, охватывающий практически всё, но люди, приходящие сюда («мой кот умирает»), чувствуют себя перегруженными и не читают её. Кроме того, те, кто отвечает, не очень технически подкованы, поэтому просить их (в Facebook) скопировать и вставить ссылку на Google Doc в своём ответе — это слишком сложно, они просто этого не делают.
Discourse делает для нетехнических пользователей намного проще ссылаться на материалы внутри сообщества: нажмите на маленькую кнопку со ссылкой, начните вводить ключевое слово или название того, на что хотите сослаться, — и готово. Мы хотим упростить направление людей к отдельному элементу в FAQ, а не ко всему FAQ целиком.
Да, к сожалению, бюджета нет, я уже трачу свои деньги на хостинг
Более серьёзно: если я хочу начать собирать что-то под свои нужды, есть ли в Meta категория, где можно получить помощь? Я не имею в виду, чтобы кто-то сделал это за меня (я реалист), но чтобы отвечали на вопросы «новичка-разработчика» о том, как сделать xyz в моём компоненте и т.д.
Но проблема здесь в том, как создать ссылку на заголовок раздела: если я нажимаю кнопку создания ссылки и начинаю вводить текст, предложит ли Discourse выбрать заголовки разделов для прямой ссылки или только темы/категории?