Существует ли плагин облака тегов для Discourse?
Карл
Существует ли плагин облака тегов для Discourse?
Карл
Нет такого… есть ли конкретная причина, по которой вы хотите его получить? Как бы оно использовалось?
Это было бы круто по двум причинам. Во-первых, облако тегов, по которому можно кликать, чтобы сразу показать все темы, содержащие это слово, например «подписчик». Во-вторых, так можно было бы отображать и другие виды поиска, например, самых активных авторов или что-то ещё, что захочется. Скорее всего, это можно реализовать как задачу cron, запускаемую раз в день или чаще.
Мне показалась эта идея забавной
… поэтому я её создал*
Сейчас проект находится на очень ранней стадии «просто работает» и нуждается в большой доработке, дополнительных опциях и, возможно, в реализации кликабельности:
Она добавляет ссылку в ваше гамбургер-меню. ![]()
Обратите внимание, что в данный момент статистика слов строится по всем сообщениям, независимо от их типа и расположения. Это может фактически привести к косвенной утечке данных о приватности (возможно, потребуются дополнительные меры защиты для исключения слов из сообщений в закрытых разделах). Однако для просмотра и доступа к данным необходимо быть авторизованным … слова отображаются в формате SVG … и показывается только топ из нескольких сотен слов, поэтому для большинства сайтов это вряд ли станет серьёзной проблемой. Я поработаю над улучшением безопасности, но текущий подход обеспечивает очень быстрое выполнение запроса.
Приятного использования. ![]()
*Проект использует несколько довольно изящных существующих библиотек, ссылки на которые указаны в репозитории. Особая благодарность @DiscourseMetrics, чей запрос я использовал.
Очень круто. Думаю, вам также стоит исключить некоторые слова из облака тегов?
Конечно, здесь требуется множество разумных исключений, а регулярные выражения нужно доработать, чтобы убрать форматирование Markdown и т.п., не усложняя при этом решение. Это лишь начало. Я добавил немного цвета.
Просто чтобы прояснить, это круто, ха-ха
Добавлен локализованный список игнорируемых слов:
что должно сделать результаты немного более интересными…
Также я добавил много логики для очистки данных, поэтому результат стал значительно лучше.
Отлично!
Мне нравится эта идея. Молодец. Если можно попросить добавить функции:
/wordcloud/categoryВот как это выглядит на моём форуме района.
Отличный отзыв, спасибо, и отличные идеи!
Да, это звучит как хороший подход. Сейчас я полностью погружён в работу с клиентами, но рассмотрю возможность выбора категории в следующем обновлении.
Выбор категории находится здесь:
Если вы не выберете категорию (по умолчанию), будет выполнен сканирование всех сообщений форума (включая личные сообщения и всё остальное). Если добавить только одну категорию, статистика слов будет ограничена ею и так далее.

Также внесены огромные улучшения в регулярные выражения (
), которые теперь аккуратно очищают «сырые» данные и удаляют большую часть, если не весь, Markdown.
NB: Статистика слов обновляется каждый час (что, вероятно, всё ещё избыточно, но на данный момент упрощает проверку изменений в Production, так как мы проходим через значительную начальную эволюцию кода).
NB#2: Я пока не рассматривал другие языки, кроме английского (они определённо не протестированы). Текущая обработка слов может работать некорректно в некоторых языках. Предложения и pull-реквесты приветствуются.
Круто! Вот обновлённое облако слов, включающее только самые релевантные категории.
Мое сообщество небольшое и ещё довольно новое. Если честно, то информация, представленная в облаке слов, выглядит красиво, но не особенно осмысленна или полезна. Думаю, её можно было бы использовать как визуальный элемент в теме ретроспективы о сообществе или что-то в этом роде. Было бы интересно увидеть больше примеров того, как люди используют это.
Некоторые из включённых слов являются общими и бессмысленными, например: youd, off, got, add и т. д. Интересно, работает ли настройка «часть облака слов, которую нужно игнорировать» (для меня она равна 100, значение по умолчанию)? Или, возможно, существует другой/более подходящий список слов для игнорирования?
Да, я с радостью рассмотрю возможность использования более обширного списка (я нашёл список из 200 слов здесь, но предпочёл Википедию как более «авторитетный источник»).
OK, я:
Обратите внимание: если есть ещё слова, которые вы хотите исключить, просто добавьте их в начало:
как я сделал здесь (например, ‘ive’, ‘its’, ‘topic’, ‘post’).
Чтобы быстрее увидеть эффект от любых изменений, просто перезапустите задачу через Sidekiq:
На этом пока всё. Возможно, я создам отдельную тему.
Хорошо, возможно, вам понравится это:
Обновление: Я упростил настройку списка игнорируемых слов, поэтому больше нет параметра для выбора «части» списка игнорируемых слов. Теперь вам достаточно просто добавлять или удалять слова из списка игнорируемых, используя встроенную локализованную настройку:
Нужно ли удалять старую версию, чтобы получить это?
Вам, вероятно, потребуется лишь обновить плагин. Возникли проблемы?
Извините, мы уже разобрались. ![]()
Никаких проблем ![]()