DiscPage:一款用于创建静态页面并在文本中插入讨论气泡的插件

:warning: 已弃用

本插件不再维护,且无法与当前版本的 Discourse 配合使用
我们建议从生产站点中移除它,以避免升级问题。
感谢多年来所有使用并为本插件做出贡献的用户。:folded_hands:

通过 DiscPage,您可以将任何主题添加“页面”类别,从而创建静态页面

您还可以插入气球图标,让用户讨论页面的各个小节。

请参阅 旧版演示 新版演示 以及 代码仓库

41 个赞

讨论主题在 /latest 中显示得有些奇怪——或许应该将它们归入一个独立的分类,比如“页面评论”或类似名称?

使用结构化标签真的很棒 :slight_smile:

5 个赞

当然,你可以使用 discpage balloon category 设置来为“气泡”讨论指定一个分类。

6 个赞

太棒了!我的非政府组织肯定用得上!

6 个赞

有没有办法在左侧显示类别/子类别?

是否可以在左侧显示分类/子分类?

DiscPage 静态页面没有自动显示分类的方法。不过,您可以手动添加分类链接。然后,您可以使用主题组件对这些链接进行样式设置,将它们放置在左侧边栏中。

附注:您可能已经知道,但请记得您可以通过汉堡菜单访问分类。

2 个赞

感谢 @syl 提供的出色插件 :slight_smile:

能否请您也解释一下,此插件与以下插件有何不同?

1 个赞

您提到的这个插件看起来很棒。我还没试过,但我想区别在于:

  • 页面创作方式不同:ProCourse 提供了功能丰富的后端,而 DiscPage 仅转换主题(因此您受限于常规的 Markdown 编辑)。
  • ProCourse 不支持在页面内显示讨论气泡。
4 个赞

我今天刚发现这个插件,非常令人印象深刻!非常感谢你的付出,@syl

确认一下,这个功能可以“限制”在某个分类中,不会接管整个论坛,对吗?我们项目中(潜在的)想法是:在一个分类中编写协作指南,同时保留论坛的其他部分(即普通的 Discourse)保持不变。

是的,您说得对。

是的,这听起来像是 DiscPage 可以做的事情。

1 个赞

谢谢 @syl

最后一个问题(暂时): :slight_smile: 插件如何定义权限?谁可以创建/修改/删除这些静态页面?

1 个赞

DiscPage 静态页面本质上只是一个具有特定预设分类的主题。我们称之为“页面”。因此:

  • 任何能在“页面”分类中创建主题的人都可以创建静态页面。您需要根据需求设置“页面”分类的权限。通常的做法是将“创建”权限限制为管理员,如此处所述,这样只有管理员才能创建静态页面。

  • 静态页面可以由主题作者和管理员用户(与正常主题一样)进行修改或删除。

1 个赞

为什么您的插件会修改汉堡菜单图标?它把图标变成了红色,现在我不得不想办法重写 CSS 将其恢复为正常状态。我很喜欢您的插件,但请修复这个问题好吗?

你好 @Erik_Manger,你的问题在 此处 有描述:

我的汉堡菜单变红了,该怎么办?

汉堡菜单
汉堡菜单变红表示 DiscPage 已关闭。这通常发生在以下情况:

  1. 错误阻止了 DiscPage 启动(在这种情况下,请检查调试控制台以查找与 DiscPage 相关的错误),以及
  2. 你手动关闭了 DiscPage(见下文)。

@syl 我在这几步上真的遇到了很大困难。抱歉,我知道这是个超级新手的问题。但是,你能提供一个简单的复制粘贴模板吗?或者一个简短的视频教程?或者如果你能亲自指导我完成这个过程,我会为其他超级新手制作一个 YouTube 视频。

  • 编辑静态页面,请点击页面右上角的“铅笔”按钮(你也可以从汉堡菜单中关闭 DiscPage,然后像往常一样编辑主题)。
  • 设置静态页面的样式,请使用 .dpg-page-content 类。要为单个页面设置样式,请使用 html[data-dpg-page-id] 数据属性。例如,进入 设置 > 自定义 > 浅色主题 > 编辑 CSS/HTML,并在 通用 > CSS 部分输入以下内容:
1 个赞

静态页面可以导入或链接到 JavaScript 文件吗?

1 个赞

静态页面的渲染方式与标准 Discourse 主题相同,因此适用于主题中 JS 脚本的规则。我认为 meta 上有几个相关讨论:这意味着需要创建一个主题组件并进行自定义(此外还有一个 Discourse 设置允许链接外部脚本)。

您可能还想查看 此页面 上的“自定义静态页面”部分,并查看 静态页面中 JS 的示例(顶部的组合框)。

1 个赞

您已经创建了静态页面吗?能看到铅笔按钮吗?

为静态页面设置样式与为标准的 Discourse 主题页面设置样式类似:您需要创建一个主题组件并进行自定义。这里有一个示例 链接。您也可以在 meta 上搜索“主题组件”。.dpg-page-content 类允许创建仅应用于静态页面而非所有主题页面的 CSS 规则。

说到这个,假设我有一个根据用户输入获取图片的 API。在你发送的那个链接中,顶部有一些组合框。如果用户从组合框中选择某项,JavaScript 会根据该用户输入显示相应内容。这在静态页面中可以实现吗?

1 个赞

我认为您的工具 100% 正常运行。问题在于我缺乏如何使用它的知识 :frowning: 我会查看您提供的那个包含 .dpg-page-content 的链接

页面:https://community.tigergraph.com/t/this-is-a-test-page/606

点击“编辑”按钮。插入一段 代码片段。点击“设置”。进入“自定义”。插入 代码片段,您应该能看到一个基本的 HTML 网页出现。这对像我这样的超级新手会有帮助!哈哈!

非常感谢您抽出时间回复我的问题 :slight_smile:

我会随时向您汇报我的进展。希望我也能做出一个像您那样的页面!

1 个赞