文档的已发布页面?

我对这些已发布的页面有些拿不定主意。
背景:我有大量的文档在 Google Docs 中。随着我们的社区从 Facebook 迁移到 Discourse,我们正借此机会也将文档迁移到 Discourse。

人们喜欢这些文档是公开的,而且是“类似 Word”的,他们会打印文件以供参考,将副本带给他们的兽医,或通过电子邮件发送链接。

对我来说,页面发布功能的主要优势在于它允许我们公开原本是私密的内容。但是,如果像我将要遇到的情况一样,文档已经在将要公开的分类中,那么也发布它们还有意义吗?

URL 稍微漂亮一些。页面上的“Discourse 装饰”更少,这很好(但另一方面,需要添加页脚或其他内容来表明它是社区文档……也不是什么大问题)。

但我真正开始看到问题的地方是文档中指向其他文档的许多链接(万岁超文本)。如果我使用“已发布页面”的 URL,阅读文档的社区成员在某种程度上会被带出社区,并且可能找不到返回的路。如果我们使用“Discourse 主题”的 URL,那么外部读者将登陆 Discourse 页面,其中包含回复,以及(至少在我的情况下,也许我可以改变这一点?)一长串新的未读主题供他们浏览。

这是一个例子:

谁遇到过类似的困境?你们是如何解决的?这里是否有我可能不知道但可以帮助我的功能?

我提前感谢您的真知灼见。

3 个赞

我没有答案;但是页面发布功能,虽然在做它被设计来做的事情,但功能严重缺乏。 我不相信这是实现您目的的方法:thinking:

3 个赞

确实如此!您刚才阐明了页面发布的主要用例(将私密内容公开)——及其主要限制(链接混淆和缺乏导航)。只需使用您的公共分类,并在需要时对其进行一些样式设置。您可能会发现 Discourse Doc Categories 对导航有所帮助。

3 个赞

我仍然有点矛盾。我确实认为,对于某些文档,如果该用户未连接到 Discourse,侧边栏和未读主题以及其他内容缺失会更好。这样看起来更像一个“文档”。是否有一种方法可以向非 Discourse 用户显示为这样,但在登录时以“带有 Discourse 元素”的方式显示?使用相同的 URL?

是否有一些可以与 WordPress 共同探索的解决方案(我还没有研究它们如何协同工作),但例如,一个 WordPress 页面是否可以作为主题在 Discourse 中被“镜像”?

2 个赞

当然可以。请查看 Search Results for “wp-discourse。它不是官方的,但有一个类别用于此:” | WordPress.org

您可以在此处实时查看 https://monocycle.info,文章会自动发布到论坛 Actualités - Monocycle.info

1 个赞

提醒一下,我已将此内容移至新主题——我认为这很有价值。

我一定遗漏了什么细微差别——为什么不能直接将私密主题设为公开,而不是使用页面发布功能?如果 URL 确实很重要,您可以使用永久链接。请看 https://meta.discourse.org/fun 如何重定向到 https://meta.discourse.org/t/discourse-stickers/390126。

3 个赞

这两个网址我都无法访问。这是预期的吗?

2 个赞

呵呵,我真蠢。它们在一个私有类别中。我会找一个更好的例子。(已编辑。)

2 个赞

感谢您提出这个问题!这可能与我的社区所涵盖的主题有关。除了它们提供的信息之外,我们意识到我们的文档看起来像“真实文档”而不是“网页”这一事实,有助于我们被认真对待。我们的成员可以打印一份看起来像“严肃文章”的文档并向他们的兽医展示——我们这个“次要受众”(实际上非常重要,即使他们不是我们社区的非常活跃的参与者)很可能像大多数医疗专业人员一样,对“互联网上的东西”抱有强烈的负面偏见。

所以我的担忧是,让我们的文档看起来像“互联网论坛上的东西(哦,天哪)”会改变社区外成员对它的看法。

您明白这个问题了吗?

哦,谢谢,我不知道/忘记了那是一个选项!我肯定会使用它。

我认为一些可以帮助我摆脱当前文档困境的想法是:

  • 在主题中拥有特定于文档类别的布局(或者,更笼统地说,能够为特定类别选择不同的外观/布局)
  • 能够为未登录的访客(甚至根据 TL?)在某些类别中以不同的方式显示内容
  • 能够在已登录用户查看已发布页面时添加一些“Discourse 装饰”(当然,打印时移除)

只是一些清晨的模糊想法!

1 个赞

这里有两种简单的方法可以解决这个问题,而无需使用 Discourse 的“家具”:在主题中提供一个指向您的文档索引页面的链接。(用户可能不总是从索引页面进入——但至少他们可以回到可以导航的地方。)

添加索引链接

如果您总是链接到已发布的页面(这些页面打印出来确实更好看),那么可能很简单——只需在每个主题内容的开头添加一个返回索引页面的链接:

[Toute la documentation DF](https://entraide.diabete-felin.com/t/toute-la-documentation-df)

Que tu te sentes prêt·e à te lancer...

或者

添加一个内部隐藏的索引链接

如果您有时链接到已发布的页面,但有时也链接到实际的主题,您可能希望在内部隐藏索引链接:

在指向您的常见问题解答/文档索引的链接周围添加一个 wrap

[wrap=index-link]
[Toute la documentation DF](https://entraide.diabete-felin.com/t/toute-la-documentation-df)
[/wrap]

Que tu te sentes prêt·e à te lancer...

[wrap] 代码允许使用这段自定义 CSS 在查看常规主题时隐藏该链接:

article [data-wrap="index-link"] {
  display: none;
}

但是该链接仍然会显示在已发布的页面上,以便读者可以轻松返回论坛。

谢谢,这看起来很有帮助!我们肯定会在讨论中链接到主题页面,因为在 Discourse 中设置它们的目的就是为了方便人们引用它们。

你好,我刚试过这个方法,但这些实际上是重定向,而不是永久链接,对吗?或者有没有办法让“永久链接”成为加载目标时显示的那个链接?

我遇到的另一个问题是,已发布页面的打印版本目前不太理想(但我仍然需要处理屏幕样式)。这是主题(Theme)的问题吗?如果我想改进打印 CSS,我应该在哪里进行修改?

1 个赞

是的,那些是重定向(一开始为什么不这样命名呢?:thinking:),而且不可能保持相同的 URL。也许可以通过自定义插件……

1 个赞

打印视图加载的是 https://github.com/discourse/discourse/blob/main/app/assets/stylesheets/common/base/crawler_layout.scss。我不确定是否还有其他特定于打印的 CSS。

你可以使用 body 类的 crawler 进行定位。如果你认为更改可以使整个社区受益,可以在 Contribute > Feature 中提出建议 :slight_smile:

编辑:还有一个 discourse/app/assets/stylesheets/common/printer-friendly.scss at main · discourse/discourse · GitHub

据我了解,crawler_layout.scss 专门应用于爬虫的布局。当我们打开打印窗口时,没有爬虫布局的页面仍然会加载 printer-friendly.scss

对于自定义,请使用 @media print { 媒体查询。

如果我说错了,请指正。

1 个赞