Discourse 词典插件 🆎

摘要: Discourse Dictionary 插件允许用户将单词的字典含义添加到主题的第一个帖子中。这是一个演示其工作原理的短视频。

:link: GitHub: GitHub - fzngagan/discourse-dictionary: A discourse plugin to add meanings of a given word to the post
:arrow_right: 安装: 遵循插件安装指南

特性

  • 允许用户(默认为 TL2)通过编辑器选择单词的字典含义。当悬停在选定的单词上时,将显示一个工具提示,其中包含选定的含义。
  • 目前支持牛津词典 API。
  • 目前支持单词的单数形式,即 fungi 将无法使用,您需要使用 fungus
  • 含义会被缓存到数据库中,以便将来快速加载并避免耗尽 API 阈值。
  • 加载到编辑器后,您可以调整这些值。

配置

  • https://developer.oxforddictionaries.com/ 获取您的 API 凭据
  • 使用 app id 作为站点设置 discourse dictionary oxford app id
  • 使用 api key 作为站点设置 discourse dictionary oxford api key
  • 您可以使用 discourse dictionary min trust level 来设置可以访问此功能的用户最低信任级别

待办事项

  • 支持单词的复数形式
  • 支持其他词典 API
  • 包含测试

致谢

非常感谢 @sam

  • 我从 discourse-footnote 插件中的工具提示代码中获得了灵感。
  • meta 上的 markdown 文档对于编写此插件是不可或缺的。
21 个赞

非常感谢您,@fzngagan!如果指南有任何可以改进的地方,请随时告知我们!:tada:

7 个赞

我很期待尝试这个插件。还不确定如何使用,但可能会找到方法将其融入工作流程中。

我想到的一个方面是它对语言学习可能有多大帮助。我查阅了牛津词典的文档,看到似乎还可以查询其他语言的单词:https://developer.oxforddictionaries.com/documentation/languages

我对 Ruby 编程了解不多,但从我所见,似乎可以通过更改此代码块中的 dataset: 'en-us' 行来轻松地将插件调整为使用西班牙语或斯瓦希里语,改为 essw

    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 个赞

我没有触及的一个方面是获取词语单数的 lemma API。这很重要,因为牛津 API(可能还有其他 API)尤其使用单数形式。这也会很有价值。

1 个赞

您好 @fzngagan……我有一个有趣的用例,我想知道您的插件是否能帮到我。

我经营一个面向听力损失人群的论坛,新用户需要学习大量的术语。我们有一个包含一些定义的维基,但如果我们能添加系统定义,并且让已定义的术语和缩写自动带下划线,而无需用户设置 [dict] 标签,那将非常方便。牛津大学提供的定义很有用,但我认为许多这些词语都需要自定义定义。

谢谢!

1 个赞

我们有 Auto-Linkify Words 主题组件,但它只能将单词的外观转换为链接。当然可以对其进行分支以实现您所建议的功能。如果您愿意赞助这项工作,可以从 Marketplace 聘请开发人员。

@abrambailey 你有没有考虑过……abbrify words (with styling) 主题组件?我正在使用它在我的网站上提供行内悬停定义……你可以在这里看到它的实际效果:The Future of the Metaverse in Daily Life - Tech News and Tips - n👀bish.me

1 个赞