Плагин словаря Discourse 🆎

Краткое описание: Плагин Discourse Dictionary позволяет пользователю добавить словарное значение слова к первому сообщению в теме. Вот короткое видео, демонстрирующее работу.

:link: GitHub: GitHub - fzngagan/discourse-dictionary: A discourse plugin to add meanings of a given word to the post · GitHub
:arrow_right: Установка: Следуйте руководству по установке плагинов.

Возможности

  • Позволяет пользователю (по умолчанию уровень доверия TL2) выбрать словарное значение слова через редактор. При наведении курсора на выбранное слово появится всплывающая подсказка с выбранным значением.
  • В настоящее время поддерживается API Oxford Dictionary.
  • В настоящее время поддерживается единственное число слов, т. е. fungi не сработает, нужно использовать fungus.
  • Значения кэшируются в базе данных для быстрой загрузки в будущем и во избежание исчерпания лимитов API.
  • Вы можете изменить значения после их загрузки в редакторе.

Настройка

  • Получите свои учетные данные API на сайте https://developer.oxforddictionaries.com/
  • Используйте app id для настройки сайта discourse dictionary oxford app id
  • Используйте api key для настройки сайта discourse dictionary oxford api key
  • Вы можете установить минимальный уровень доверия пользователей, имеющих доступ к этой функции, с помощью настройки discourse dictionary min trust level

Планы на будущее

  • Поддержка множественного числа слов
  • Поддержка других словарных API
  • Добавление тестов

Благодарности

Огромное спасибо @sam

  • Я вдохновился кодом всплывающих подсказок из плагина discourse-footnote.
  • Документация по Markdown на meta была незаменима при написании этого плагина.
21 лайк

Большое спасибо за это, @fzngagan! Если руководства можно улучшить каким-либо образом, не стесняйтесь сообщить нам об этом! :tada:

7 лайков

Я очень рад попробовать этот плагин. Пока точно не знаю, как именно, но, скорее всего, найду способ его интегрировать.

Одна мысль, которая пришла в голову: насколько это может быть полезно для изучения языков. Я зашел в документацию Oxford Dictionary и увидел, что, похоже, можно искать слова и на других языках: https://developer.oxforddictionaries.com/documentation/languages

Я не очень хорошо разбираюсь в программировании на Ruby, но, судя по тому, что я вижу, мне, возможно, будет легко доработать плагин для использования испанского или суахили, просто изменив строку dataset: 'en-us' на es или sw в этом блоке кода:

    def self.fetch_from_api(word)
      response = client().entry(
        word: word,
        dataset: 'en-us',
        params: { fields: 'definitions' }
      )
  1. Вы считаете, что это всё, что нужно изменить?
  2. Вы думали о добавлении возможности использовать другие языки?

Спасибо за создание этого!

1 лайк

Думаю, да. :slight_smile:

1 лайк

Моя цель заключалась лишь в том, чтобы запустить это и посмотреть, есть ли интерес в сообществе. Этот плагин немного особенный для меня, так как я составил его спецификацию почти 3 года назад, когда у меня ещё не было знаний о том, как его реализовать. :slight_smile:

Вот моя публикация

1 лайк

@jimkleiber
Я также позаботился о том, чтобы новые источники словарей можно было легко добавлять. Буду рад принять PR по этому вопросу.

2 лайка

Тогда, возможно, этот плагин поможет мне также научиться создавать плагины (и сделать PR) :smiling_face: Я посмотрю в один из дней и дам знать. Спасибо!

1 лайк

Единственное, что я не трогал, — это API лемм для получения единственной формы слов. Это важно, потому что API Оксфорда (и, вероятно, другие) работают именно с единственной формой. Это тоже было бы ценно.

1 лайк

Привет, @fzngagan… У меня есть интересный кейс, и я хотел бы узнать, может ли ваш плагин мне помочь.

Я управляю форумом для людей с нарушениями слуха, и здесь очень много терминов, которые нужно изучить новичкам. У нас есть вики с некоторыми определениями, но было бы очень удобно, если бы мы могли добавить системные определения, и чтобы определенные термины и аббревиатуры автоматически подчеркивались без необходимости пользователю устанавливать тег [dict]. Хотя определения от Oxford очень полезны, я предполагаю, что для многих из этих слов потребуются собственные определения.

Спасибо!

1 лайк

У нас есть компонент темы Auto-Linkify Words, но он ограничивается преобразованием вхождений слова в ссылку. Его, безусловно, можно форкнуть для реализации того, что вы предлагаете. Вы можете нанять разработчика в канале Marketplace, если готовы профинансировать эту работу.

@abrambailey вы думали о компоненте темы abbrify слова (со стилями)? Я использую его для отображения определений при наведении курсора на слова на своём сайте… вы можете увидеть его в действии здесь: The Future of the Metaverse in Daily Life - Tech News and Tips - n👀bish.me

1 лайк