Discourse Docs 卡片过滤器

:discourse2: 摘要 Discourse Docs 卡片过滤器需配合 Discourse Docs 插件 使用,允许您放置“卡片”,这些卡片可作为可点击的过滤器,让用户进入 /docs 页面时能更快地筛选结果。
:eyeglasses: 预览 在 Discourse 主题创建器中预览
:hammer_and_wrench: 仓库链接 https://github.com/discourse/discourse-docs-card-filter
:open_book: 初次接触 Discourse 主题? Discourse 主题使用入门指南

安装此主题组件

功能

上述效果可通过 docs 插件中的以下设置渲染:

设置

您可以为每个分类或标签卡片过滤器选择自定义图标。您还可以允许在分类卡片过滤器中渲染分类描述。

名称 描述
category icons 为对应的分类 ID 选择图标及主题排序方式。例如,‘6,heart,title-asc’ 将为分类 6 分配心形图标,并按活动升序排列主题列表。注意:排序方式可为 (title,activity)-(asc/desc)
category description 启用在文档页面的分类卡片过滤器中显示分类描述。
tag icons 为对应的标签 slug 选择图标及主题排序方式。例如,‘featured,heart,activity-desc’ 将为 featured 标签分配心形图标,并按活动降序排列主题列表。注意:排序方式可为 (title,activity)-(asc/desc)
翻译 默认值
topics 主题
topic 主题

:discourse2: 由我们托管? 主题组件可在我们的标准版、商业版和企业版计划中使用。

33 个赞

感谢你们开发这个功能!请问,如果用户没有权限查看某个(私有)分类,该私有分类的卡片是否不会出现在搜索框上方?(或者我想它也不会出现在侧边栏,只是想确认行为是否一致。)

1 个赞

这应该是正确的,因为我们是这样获取分类信息的:

@discourseComputed("category")
  categoryInfo(category) {
    return this.site.categories.findBy("id", category.id);
  },

据我所知,this.site.categories 只会返回当前用户有权查看的分类。

2 个赞

太好了。这将使其成为一个真正易于使用的工具,方便我们多个工作组的成员快速访问其所在小组的参考资料,并迅速区分A组与B组等。谢谢!

3 个赞

/docs 上的计数器是否可能不会统计在类别创建之后移入该类别的主题?

我刚刚创建了一个新类别,添加了文档,移动了几个主题,但计数器仍然显示“0 个主题”。

编辑:似乎需要一段时间才能更新。

是否有办法更改卡片的排序顺序,即使需要修改代码?我希望它是按字母顺序而不是按主题计数。谢谢!

1 个赞

大家好。文档和这个文档的扩展都非常棒。但只有一件事。有人能帮我把这些卡片添加到 top_menu 或 homepage 部分吗?很希望能有一个默认显示“最新”的标准主页,同时将这些卡片放在顶部。然后点击卡片会跳转到过滤后的文档页面。

另外,我还有另一个插件(搜索框)位于 top_menu 部分。我一直没弄清楚如何更改此部分中多个插件的顺序。

谢谢。

3 个赞

@jordan.vidrine

我们试用了 tc,它非常适合你的用例。现在我们可以创建一个 KB。

在这种情况下,我有一个问题:你能否建议一种方法,为每个类别或标签卡添加一些参数?这样我们就可以追加 &order=title 以影响每个单独类别或标签卡的排序。

PS:

嗯……我不确定。

您希望类别和标签卡片的排序如何显示?

嘿 Jordan

我们可以在 category icons 主题设置中添加一个排序参数。例如,对于 6,heart,我们可以添加一个额外的排序命令,例如按主题标题升序排序,它将是 6,heart,title-asc

打开类别卡时,它只会附加文档参数,例如:/docs?ascending=true&category=71&order=title

你觉得怎么样?

1 个赞

虽然这可能在某个网站上效果很好,但由于围绕此主题关于卡片排序能力的内容不多,因此我认为目前投入时间来正确实现这一点并不值得。

话虽如此,我们确实鼓励对组件进行 PR,以及 fork 组件以供您自己使用!

请随时为此功能提交 PR,或 fork 它以供您自己开发。

3 个赞

由于 @jrgong 赞助了这项工作,我可以为这个请求创建一个 PR。

4 个赞

顶一下!有人能解决这个问题吗?

2 个赞

我的解决方案是关闭卡片(因为我的产品类别太多,它们没什么用),并修改文档的排序顺序。您可以在此处了解更多信息:Modifying Discourse Docs to only allow for sorting by Title - #2 by Nick_Chomey

2 个赞

我们非常欢迎为我们的组件做出有益的拉取请求!

如果你要添加对这些卡片进行排序的功能,我建议创建一个新的值列表,你可以在其中按类别 ID 和标签 ID 设置卡片的顺序。我不会将它们添加到已有的、不相关的价值列表中。

:smile:

1 个赞

@jordan.vidrine 感谢您设计出色的组件。有没有办法在移动设备上禁用该组件,但在 PC/Mac 上显示?

没问题。但您能否至少将 category icons 设置更改为值列表?与单个文本字段相比,在多个文本字段中管理卡片要容易得多。:wink:

作为临时解决方法,如果每个文档卡片都有一个带有相应类别或标签 slug 的 CSS 类,那将非常有帮助。

之前:<a>
之后:<a>

1 个赞

这是一个很好的建议 :+1:

2 个赞

如果您需要测试方面的帮助,请告诉我,我很乐意充当小白鼠 :slight_smile:

1 个赞

经过进一步考虑,我决定不将 category icons 设置更改为值列表,因为没有备用选项,这会导致当前用户的组件损坏。

添加备用选项将是检查用户是否在当前字段或新的 value-list 字段中设置了图标,我觉得这对于添加到此组件来说过于麻烦,因为它会增加另一层设置并可能引起混淆。

至于类添加,这是一个好主意,但我无法确定何时会添加,因为有更重要的事情需要我关注。

话虽如此,但只要有可能,我们也欢迎对我们的组件进行 PR,毕竟我们是开源的!

1 个赞