可提及项

:information_source: 摘要 将主题中的表格转换为可搜索的项目,成员可以使用 + 提及这些项目,并附带链接和 Onebox 预览。
:hammer_and_wrench: 仓库 Discourse Mentionables
:open_book: 安装指南 在自托管的 Discourse 站点上安装插件
:heart: 赞助 请考虑赞助持续开发,以帮助维护这些插件并确保它们与当前版本的 Discourse 兼容。

为您的社区提供关于其讨论内容的共享词汇表:书籍、
产品、项目、地点、支持资源或任何带有 URL 的内容。
成员输入 + 和部分名称,选择一个建议,即可获得一个可读的链接,而无需记住地址。

从 mentionables 自动补全中选择共享资源

功能

  • 仅使用 URL 开始。 导入器获取名称并生成 slug;您可以添加自己的名称和 slug 作为可选覆盖。
  • 边写边搜索。 输入 + 或使用编辑器工具栏按钮搜索您的目录。适用于 Markdown 和富文本编辑器。
  • 可读的内联链接。 提及显示为使用项目显示名称的紧凑胶囊,并在帖子的 Markdown 中包含稳定的 slug。
  • 原生 Onebox。 将提及单独放在一行以显示 Onebox,使用 Discourse 现有的布局和支持的目标。
  • 桌面预览。 悬停或聚焦内联胶囊以打开浮动预览,其中包含打开原始页面链接。普通点击打开目标页面。
  • 管理员可在 Discourse 中编辑的目录。 从主题首帖中的 Markdown 表格导入。不需要 Google 账户或 API 凭据。
  • 管理员表格按钮。 从编辑器工具栏插入空的 mentionables 表格,然后填写您的项目。

Onebox 的外观取决于目标和 Discourse 的正常 Onebox 支持。不支持的目标保持为链接。浮动卡片需要登录;
访客仍然可以跟随目标链接。代码中的提及保持不变,
列表和引用中的提及保持内联。

基础 Mentionables 和 Pro 扩展

基础 Mentionables 是基础插件。Pro 是一个可选的伴随插件,
与其一起安装;Pro 通过该依赖关系包含基础功能。

功能 基础 Mentionables 带 Pro 扩展
从主题首帖导入 Markdown 表格 是 是
将源主题保留在受限类别中 是 是
仅限管理员的编辑器按钮以插入表格骨架 是 是,包括图标列
在 Markdown 和富文本编辑器中使用 + 搜索 是 是
内联提及胶囊和独立的原生 Onebox 是 是
桌面悬停或键盘焦点时的浮动预览 是 是,在默认悬停模式下
使用服务账户从 Google Sheets 导入 — 是
在主题表格和 Google Sheets 之间选择 仅主题表格 是
每 12 小时自动同步 — 可选,默认关闭
导入可选的图标名称和 HTML 颜色 — 是,来自任一来源
点击或轻触时打开浮动预览,包括触摸设备 — 可选

Pro 的 icon 和 icon_colour 列在提及名称前添加彩色图标。
例如,对手册使用 book 和 #2563eb。启用
mentionables_pro_click_to_preview 后,点击或轻触胶囊会打开其
预览;预览中的打开原始页面链接会将您带到目标页面。

快速设置

  1. 使用上述安装指南安装基础插件。安装后重建 Discourse。

  2. 为您的目录创建一个主题。作为管理员,使用编辑器工具栏中的插入 mentionables 表格或将此表格粘贴到首帖中:

    | name               | url                                 | slug               | image_url |
    | ------------------ | ----------------------------------- | ------------------ | --------- |
    | Getting started    | https://example.com/getting-started | getting-started    |           |
    | Community handbook | https://example.com/handbook        | community-handbook |           |
    | Events calendar    | https://example.com/events          | events-calendar    |           |
    
  3. 用您自己的 URL 替换示例 URL,保存帖子,并将
    mentionables_topic_id 设置为该主题的数值 ID。保持 mentionables_enabled
    处于启用状态。对于此设置,Pro 安装应在 mentionables_source 中选择 topic_table。

  4. 打开管理 → 插件 → Mentionables,点击开始导入,然后点击
    刷新以检查报告。后台作业工作进程必须正在运行。

  5. 重新加载浏览器,打开编辑器,输入 + 来尝试您的项目。

使用小写的列名。只有 url 是必需的,必须以 http://
或 https:// 开头。仅包含 URL 的行会从目标获取名称并生成
slug。您可以提供 name、slug 或两者来覆盖这些默认值,在一个表格中混合
使用这些选项。如果没有可用的标题,URL 将成为显示名称。当源省略 slug 时,现有 URL 保留其 slug。
image_url 和 description 是可选的。

导入器读取首帖中第一个未引用的包含 url 列的表格。
回复、引用的表格和围栏代码示例将被忽略。源主题
必须是常规且未删除的主题,而不是个人消息。

源隐私和更新您的目录

您可以将源主题保留在 Staff 或其他受限类别中,以便只有
受信任的人才能维护它。**导入的名称、URL 和图片
对 mentionables 的用户可用。**限制主题不会使
导入的目录私有。请勿在表格中保留机密信息。

每次导入都按 URL 同步:匹配的 URL 会更新,新的 URL 创建记录,
从源中移除的 URL 删除记录。完整的源必须
有效;重复的 URL 或 slug、无效的行、获取失败和空数据集
会使目录保持不变。有意清除时使用全部删除。
永远不会修改源主题和电子表格。Pro 的可选
mentionables_pro_sync_enabled 设置每 12 小时运行一次相同的导入。
导入后重新加载浏览器。现有的已渲染帖子不会自动
重新渲染,显式更改 slug 可能会破坏早期的 +slug 引用。

设置和更多信息

设置 目的
mentionables_enabled 启用或禁用 Mentionables。
mentionables_topic_id 在其首帖中包含源表格的主题。
mentionables_autocomplete_limit 建议的最大数量;默认为五个。
mentionables_onebox_fallback 当提供名称时也获取缺失的图片/描述;默认关闭。

请参阅 README 了解完整的设置指南、导入行为和
故障排除。截图使用插件测试固件中的示例数据。

24 个赞

主题能否通过可提及项进行过滤?我正在考虑创建一个美国各州的数据集,以便每篇帖子都能关联到一个州。

目前还没有。从抽象的角度来看,您认为这个过滤器会如何工作?您可以将任何外部数据集设立为可提及的集合。或许您可以在数据中添加一列,用于告知带有自定义可提及数据的帖子应如何排序。此外,您还需要处理同一帖子中出现多个提及的情况。如果您能从抽象层面详细规划该功能,我们就能大致了解实现它所需的投入。

原名是可选的,可以从 og 标签中派生——这一功能在重构过程中丢失了。

我已推送修复:使名称再次变为可选 · paviliondev/discourse-mentionables@a7007b2 (github.com)

1 个赞

好的,我已经完成了几个拉取请求(PR),让它恢复运行:

将 API 迁移到 Google 的官方 API,删除了一个中间 gem(以及其他几个),并添加了 CI,以便将来能更可靠地运行。

请注意设置的重大更改:

  • mentionables_google_spreadsheet_url:“Google 电子表格的 URL”

变为:

  • mentionables_google_spreadsheet_id:“Google 电子表格的 ID”

  • mentionables_google_worksheet_gids:“限制 Google 电子表格导入到工作表 GID。如果为空,将导入所有工作表。”

变为:

  • mentionables_google_worksheet_names:“范围内的源工作表(选项卡)的名称”

并且有一个新设置:

  • mentionables_google_worksheet_max_row:“扫描的最大行数”

这修复了前端(同时添加了测试)

3 个赞

看起来是个死胡同……

感谢您的报告,我已更新链接。

2 个赞

为什么这么技术化?我甚至无法设置和使用它。

如果有一个上传电子表格的按钮,像我这样的普通用户就可以使用了。

或者一个在线表单编辑器。可惜,这太高级了。

我部分同意你的看法。这个插件确实是为相当技术性的受众构建的。但只有设置比较困难,之后就相反了。

事实上,它试图通过利用 Google 表格的功能来使用一个熟悉的编辑器。

设置完成后,任何非技术人员都可以比上传文件更容易地使用该插件。

我怀疑这不适合 @frold 的用例,因为他的用例是展示由第三方网站渲染的财务图表。Mentionables 的设计初衷并非如此。

如果有人愿意通过聊天指导,欢迎联系我。

我不认为在公开论坛分享代码是安全的……

@frold 这里没有用于共享第三方图表的代码。此插件将无法帮助您。它纯粹是为了允许网站让用户搜索和调用产品列表,这些产品以灰色气泡的形式显示,并链接到每个产品页面。

1 个赞

好的 - 我以为它会在帖子中插入一个链接。

这个网址可以是图片,我以为

它会的。

不,它只是一个灰色气泡里的无聊描述 :sweat_smile:

这里再加一张截图可能会有帮助 :slight_smile:

这对于联盟链接集来说简直是完美的。

已更新 OP。

2 个赞

在进行设置和配置之前,我想确认一下 mentionables 是否适用于起草法律文件的主题,这些文件需要包含对法律和案例的引用,并且连接的“mentionables”电子表格包含相关的法律引用和判例汇编?

1 个赞

这听起来很有可能。如果你有关于积满灰尘的旧书的漂亮图片,那将会有帮助 :wink:

1 个赞

有一天,我一直想为按“+”键多次访问的同一项目添加替代代码片段。

好的,这是我的设置(我使用的是设置说明中提供的测试数据 Google 表格),以及我遇到的错误……(显然该插件已损坏,并且开发人员需要付费?当然没问题,只是告知您!)

如果您能提供任何帮助,我将不胜感激!

它仍然有效,请确保您的私钥以 -----BEGIN PRIVATE KEY----- 开头,并以 -----END PRIVATE KEY----- 结尾。

1 个赞

不,它运行正常——而且是免费的。你为什么会这么想?

1 个赞