fzngagan
(Faizaan Gagan)
1
摘要: Discourse Dictionary 插件允许用户将单词的字典含义添加到主题的第一个帖子中。这是一个演示其工作原理的短视频。
GitHub: GitHub - fzngagan/discourse-dictionary: A discourse plugin to add meanings of a given word to the post
安装: 遵循插件安装指南。
特性
- 允许用户(默认为 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!如果指南有任何可以改进的地方,请随时告知我们!
7 个赞
我很期待尝试这个插件。还不确定如何使用,但可能会找到方法将其融入工作流程中。
我想到的一个方面是它对语言学习可能有多大帮助。我查阅了牛津词典的文档,看到似乎还可以查询其他语言的单词: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 个赞
fzngagan
(Faizaan Gagan)
6
我的初衷是先发布它,看看社区是否有兴趣。这个插件对我来说有点特别,因为我几乎是在 3 年前制定的规范,那时我还不知道如何构建它。
这是我的帖子
1 个赞
fzngagan
(Faizaan Gagan)
7
@jimkleiber
我还确保可以轻松添加新的字典源。也很乐意接受这方面的 PR。
2 个赞
那么这个插件也许也能帮助我学习如何构建一个插件(并进行PR)
我会找个时间看看,然后告诉你。谢谢!
1 个赞
fzngagan
(Faizaan Gagan)
9
我没有触及的一个方面是获取词语单数的 lemma API。这很重要,因为牛津 API(可能还有其他 API)尤其使用单数形式。这也会很有价值。
1 个赞
您好 @fzngagan……我有一个有趣的用例,我想知道您的插件是否能帮到我。
我经营一个面向听力损失人群的论坛,新用户需要学习大量的术语。我们有一个包含一些定义的维基,但如果我们能添加系统定义,并且让已定义的术语和缩写自动带下划线,而无需用户设置 [dict] 标签,那将非常方便。牛津大学提供的定义很有用,但我认为许多这些词语都需要自定义定义。
谢谢!
1 个赞
fzngagan
(Faizaan Gagan)
11
我们有 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 个赞