我曾让主题摘要按预期工作——也就是说,它们在所有情况下都遵循 post_excerpt_maxlength 设置。我最初是通过一个插件实现这一点的(该插件有效),后来了解到 SiteSetting.always_include_topic_excerpts = true,于是切换到该设置。它仍然有效。
大约两天前,或许是在应用 2.4.0.beta4 之后,摘要开始被截断为 50 个字符。非常奇怪。
我尝试过切换 SiteSetting.always_include_topic_excerpts 设置、重新安装插件,以及修改 post_excerpt_maxlength 的值,但都没有变化。仍然被限制在 50 个字符。
其他人也遇到这个问题了吗?不知道还能尝试什么其他方法。
另一个问题是,这仅影响新主题。较旧的主题(带有较长的摘要)仍然保留摘要。
向此类主题添加帖子并不会缩短摘要(这并不意外),但编辑第一个帖子确实会导致摘要重新在 50 个字符处被截断。
因此,虽然我还没有深入查看(Discourse 新手),但摘要似乎是一个数据库字段,而截断仅发生在记录更新时。
LQ
neil
(Neil Lalonde)
4
Johani
(Joe)
5
该插件已近两年未更新,且早于 always_include_topic_excerpts 设置的引入。您根本不应再使用它。我已添加弃用通知,并将在大约一周后删除该仓库。
请移除该过时插件,启用 always_include_topic_excerpts 设置,并反馈您是否仍遇到相同问题。
这似乎有效。我之前被误导了,因为应用该插件后,我得到了想要的(300 字符)摘要,而之前完全没有。我推测只有随后创建的主题才表现出硬编码的 50。
一个小问题:已有 50 字符摘要的现有主题仍然保留这些摘要。似乎需要编辑这些主题的原帖(OP),才能将其摘要长度扩展为 post_excerpt_maxlength。有什么方法可以自动化这个过程吗?谢谢。
LQ
Johani
(Joe)
7
您需要重新烘焙帖子,以便它们遵循新的限制。更多信息请在此查看。
如今这两者真的可以互换使用吗?
rake posts:rebake
bundle exec rake posts:rebake
因为第一个 rake 任务顺利执行,但并未重新生成摘要。不过,站点仍在运行。
随后尝试使用 be。结果退出并显示:
rake aborted!
PG::ConnectionBad: FATAL: Peer authentication failed for user "discourse"
……随后是堆栈跟踪。现在,主题页面无法访问。首页可以访问,大部分管理后台也可访问——但管理首页上的图表无法加载。运行 …
rake posts:rebake
……也无法解决问题。最终重启了 Droplet,但问题依旧。任何帮助都将不胜感激。
LQ
Johani
(Joe)
9
是的,我刚刚测试了两种方式
$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake
Rebaking post markdown for 'default'
297 / 297 (100.0%)
297 posts done!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake
Rebaking post markdown for 'default'
297 / 297 (100.0%)
297 posts done!
两者都能正常运行,没有任何问题。
这表明你还有其他问题。在搭建站点时,你是否遵循了支持的安装指南?
是的。完全按照 INSTALL-cloud.md 中的说明进行了安装。
唯一的区别是系统版本为 19.04。我没有手动更新过任何 gem 或其他类似操作。
以下是 bundle exec rake posts:rebake --trace 的完整输出:
Johani
(Joe)
11
我不敢肯定,但我觉得你可能遇到了两个独立的问题。
尝试以下步骤以进一步缩小问题范围:
- 移除所有非官方插件
- 重新构建应用
- 尝试 安全模式,查看应用是否能正常加载
在出错的页面上,你的浏览器控制台是否显示任何错误?
已移除脚注和复选框插件。不确定这些是否为官方插件。已重新构建。在非安全模式加载下控制台无错误。站点已恢复。
测试安全模式以检查控制台错误是否有任何益处?如果没有,那看起来就是这些插件的问题之一。
Johani
(Joe)
13
是的,这些是官方的,但请确保你没有使用某种分支版本。官方插件在管理界面中名称旁边会有一个勾选标记
并且托管在 https://github.com/discourse/ 下。
我刚刚在最新版本上测试了这两个插件,无法复现你遇到的问题——即网站无法加载。
如果在正常(非安全)模式下没有错误,那么就不需要在安全模式下检查了。
我猜摘要部分还没有更新?
你检查过 your.site.com/logs 吗?
没有,但这是一个较新的实例。我就不管它了。
是的,没什么特别的。我启用了 unattended-upgrades,看起来 dpkg 可能在重新构建时正在运行。不必担心。
感谢帮助。
LQ