配置允许的嵌入选择器

:bookmark: 本指南介绍如何在 Discourse 中配置“允许的嵌入选择器”设置。当从外部站点发布帖子到 Discourse,或使用 JavaScript 在外部站点嵌入 Discourse 评论时,此设置至关重要。

:person_raising_hand: 所需用户级别:管理员

:computer: 更高级的使用需要具备一定的 CSS 知识

当从外部站点向 Discourse 发布帖子,或在外部站点嵌入 Discourse 评论时,您可能会遇到“显示完整帖子”按钮无法拉取正确内容的问题。本指南将帮助您配置“允许的嵌入选择器”设置以解决此问题。

理解问题

当用户点击“显示完整帖子”按钮时,Discourse 可能无法从您的外部站点拉取正确的帖子内容。这时就需要用到“允许的嵌入选择器”设置。

定位设置

您可以在以下两个位置找到“允许的嵌入选择器”设置:

  1. 在您的站点设置页面搜索“允许的嵌入选择器”。
  2. 导航至 管理 > 自定义 > 嵌入,并在爬虫设置部分查找“嵌入中允许元素的 CSS 选择器”。

识别正确的 CSS 选择器

要找到合适的 CSS 选择器:

  1. 前往您已发布到 Discourse 的外部站点上的某篇帖子。
  2. 打开浏览器的网页检查器,检查帖子的 HTML 结构。
  3. 识别紧邻主要帖子内容周围的 HTML 元素。

例如,在典型的 WordPress 帖子中,内容通常位于 article 标签内的 .entry-content div 中。在这种情况下,您可以使用 article .entry-content 作为 CSS 选择器。

配置设置

要从外部站点拉取多种类型的内容,您可能需要添加多个选择器。例如:

article .entry-content img, article .entry-content p, article .entry-content ul

此示例针对文章条目内容中的图像、段落和无序列表。

测试与故障排除

找到正确的选择器可能需要一些尝试和错误。请注意:

  1. Discourse 会缓存外部帖子内容 10 分钟,因此更改可能不会立即生效。
  2. 为解决此问题,请使用多篇帖子进行测试,或在开发站点上使用 Rails 控制台中的 Rails.cache.clear 清除缓存。

处理图像

如果您在从网站拉取图像时遇到问题,请确保您的 CSS 选择器包含适当的图像元素。例如:

article .entry-content img

此选择器针对文章条目内容中的图像。

其他注意事项

  • “允许的嵌入选择器”设置既适用于通过 API 发布的帖子,也适用于使用 Discourse 嵌入脚本拉取的帖子。
  • 您可能需要根据您特定的网站结构和内容类型调整选择器。
  • 更新设置后,请务必保存更改。
14 个赞

我的网站可以显示图片吗?我看不到图片?

应该可以从您的网站引入图片。可能需要一些试错才能找到添加到您的 允许的嵌入选择器 网站设置中的正确 CSS 选择器。

2 个赞

是的,它奏效了,我们可以自动为 RSS 添加图片到帖子标题。