Discourse 文档类别

|||
-|-|-|
:discourse2: | 概要 | Discourse Doc Categories 允许为特定类别预留用于文档,从而为它们启用附加功能。
:hammer_and_wrench: | 存储库链接 |
:open_book: | 安装指南 | 如何在 Discourse 中安装插件

:warning: 请注意,此插件正在积极开发中,尚未完全完成。

功能

Discourse Doc Categories 插件允许您在现有的 Discourse 论坛上托管结构化文档。它通过为特定类别预留文档,并提供更易于查找特定文档主题的功能来工作。

您可以在 Documentation 类别中实际查看它。

当将类别标记为文档位置时,将为该类别启用以下功能:

  • 指定一个主题作为该类别中所有文档主题的索引
  • 用于在类别中的不同主题之间导航的新侧边栏,包括内置的过滤和搜索功能
  • 新的报告可帮助您维护索引主题的完整性

此外,该插件还会处理从已停用的 Docs 插件迁移的站点的重定向。来自该插件的文档链接将重定向到其现有主题 URL,并且有一个设置可将您以前的文档主页重定向到您的主文档类别。

配置

配置设置可在 example.discourse.com/admin/site_settings/category/doc_categories 找到。您将在此处找到以下设置:

  • doc categories enabled:选择以启用 Doc Categories 插件。
  • doc categories docs legacy enabled:如果您已从已弃用的 Docs 插件迁移,请选择此项。
  • doc categories homepage:启用上一设置后,已弃用的 Docs 插件的登录页面将重定向到此 URL。

要指定将哪些类别用于文档,请为其分配一个索引主题。为此,请通过单击类别页面上的 :wrench: 图标来打开类别设置。从那里,单击“设置”链接,然后向下滚动到“文档模式”部分。使用“索引主题”字段指定将用于类别索引的主题。

索引主题

文档类别的索引主题有两个目的:

  1. 它们是类别中所有主题的中央列表
  2. 此插件包含的侧边栏由索引主题内容填充

格式化索引主题

索引主题可以包含您喜欢的任何内容。为了使侧边栏正常工作,它们需要包含文档主题的符号列表(或多个符号列表)。这些可以简单地是列表中的主题 URL,在这种情况下,侧边栏将显示每个文档主题的完整标题。

如果您的标题比几个词长,那么在侧边栏中显示完整标题可能不切实际,因此要为特定主题设置较短的标题,请在 URL 前面加上一个缩短的标题,后跟一个冒号(:)。冒号之前的所有文本都将在侧边栏中显示,并且它将链接到主题 URL。

您可以将索引主题划分为多个部分,并在每个部分上方使用带有标题(任何级别)的多个列表 - 然后它们将在侧边栏中按这些部分显示。

这是一个索引主题示例,供您开始:

您可以从可选的类别简要描述开始。

## 第一部分
* https://discourse.example.com/t/topic-title/12
* https://discourse.example.com/t/another-topic-title/34
* 短标题:https://discourse.example.com/t/topic-with-a-long-title/56
* 另一个标题:https://discourse.example.com/t/another-topic-with-a-long-title/78

## 第二部分
* 主题标题:https://discourse.example.com/t/documentation-topic/98
* https://discourse.example.com/t/new-topic/76

该示例将生成如下所示的文档侧边栏:

:eyes: 请参阅 Documentation > Site Management 索引主题,了解文档类别索引的实际示例:

维护索引主题

虽然索引主题不会随着类别中内容的添加、删除或编辑而自动更新,但该插件包含新的报告,可突出显示索引主题中的不一致之处。

  • 未索引的主题:
    example.discourse.com/admin/reports/doc_categories_missing_topics
    此报告显示文档类别中未添加到索引的任何主题。

  • 多余的项目:
    example.discourse.com/admin/reports/doc_categories_extraneous_items
    此报告显示索引中包含的不应存在的内容。报告将指明主题包含在此报告中的原因 - 例如,如果它已被删除,或者它与包含它的索引主题位于不同的类别中。

附加信息

将字符串 in:docs 添加到搜索词中将搜索所有标记为文档的类别(即,它们已分配了索引主题)。

索引中的项目最大数量由 Max oneboxes per post 站点设置确定,该设置默认为 50。如果您需要超过 50 个索引项目,请增加该设置中的数字。

33 个赞

这相当不错……我一直在关注其他的自托管文档解决方案(论坛结构有时对新读者来说有点令人困惑)。

祝 Discourse 好运(对抗 Gitbook 和其他产品 :smiley:

6 个赞

我猜组件 discourse-doc-sidebar(我记得名字对吗?)不再需要了?

3 个赞

是的,最初为新文档侧边栏构建的组件已移至此插件。

4 个赞

我猜这不再支持标签了? :slight_smile:

4 个赞

我喜欢这种方法,因为它能很好地融入核心的讨论导航,而不是像 Docs 插件那样全新创建一个。
我们很乐意进行切换!

2 个赞

我只是在这里放一下,完全不是本地功能请求。即使这些可能不专门应用于此插件,但我确实认为它们是任何文档环境中极佳的功能——作为一项优势,它们也可以成为核心的绝佳补充。 :thinking:

5 个赞

类似于脚注功能,但全局关键字触发对于这种功能来说将是史诗级的。

3 个赞

如果我们拥有悬停预览,即显示在你论坛的任何内部链接上,你甚至都不需要这个,单词/链接替换可以处理这个问题,只需将鼠标悬停在某个单词上即可阅读完整帖子而无需打开它 :smiley:

像这样的功能非常方便(因为没有人喜欢阅读文档,对吧?),并且随着这个插件的发布,在我寻找托管文档的最佳解决方案的过程中,这让我更加难以抉择 :stuck_out_tongue: 我正在探索将我的文档迁移到 Quartz,内容管理在 Obsidian 中。

2 个赞

它有可能与 3.3 稳定版兼容吗?

3 个赞

是的,这与 Discourse 3.3 完全兼容 :slight_smile:

2 个赞

不,不是这样的:

/var/www/discourse/plugins/discourse-doc-categories/lib/doc_categories/initializers/invalidate_cache_on_enabled_setting_change.rb:8:in `apply': undefined method `on_enabled_change' for an instance of Plugin::Instance (NoMethodError)

** 不兼容的插件 **
由于插件 /var/www/discourse/plugins/discourse-doc-categories 中存在错误,您无法启动 Discourse。

请参阅 DEV: Add plugin API to perform actions when the plugin is turned on/o… · discourse/discourse@366dfec · GitHub

4 个赞

标题和侧边栏中的表情符号渲染将非常棒!

3 个赞

大家好!

抱歉,这是我的错误。

休(Hugh)问我插件是否兼容时,我犯了个错误,以为我在开发过程中在核心中引入的新 API 已经进入了 3.3 稳定版。

不幸的是,事实并非如此,插件兼容的第一个稳定版本将是 3.4。

再次为造成的困惑表示歉意。

6 个赞

组标签和标签怎么样?

3 个赞

感谢您的澄清,@saquetim

我不确定您的意思——您能再解释一下吗?

Docs 插件,我们可以在侧边栏中按组显示标签以进行筛选。
有了新插件,我们能做同样的事情吗?

2 个赞

新插件目前无法做到这一点。这可能是我们将来会探索的内容,但目前我们不会将其添加到其中。

2 个赞

是的,是的
非常感谢!

1 个赞

我一定很笨,但我相信我做对了一切,我将一个主题命名为类别索引,并将文档插件指向该主题,但我仍然看不到侧边栏。是否有带有截图的分步演示?我绞尽脑汁想设置一个文档类别。谢谢!

1 个赞