新的自动完成样式需要什么rebake?

这里有什么变化,如果有的话,将需要重新烘焙带有标签的帖子?

启用此功能后,是否会有任何必需的重新烘焙自动发生,还是会有明确的重新烘焙迁移步骤?

1 个赞

启用该功能后,我刚刚通过 rails 运行了 rebake all posts。

我有大量帖子,绝大多数都不需要修改。我曾希望有一个仅重新烘焙受影响帖子的功能,无论是显式还是隐式的。

3 个赞

重新烘焙甚至可能损害旧帖子:
如何避免重新烘焙所有帖子时可能出现的问题?

2 个赞

此功能刚刚推出。目前没有内置的功能可以重新烘焙所有包含类别/标签提及的帖子。我会密切关注大家对此的需求以及在此期间大家想出的解决方案。

3 个赞

是否可以有一个模式,我们可以用它来重新烘焙所有帖子,但排除带有嵌入/onebox 的帖子?

4 个赞

我想重新烘焙的是所有 cooked 表示形式匹配 class=\"hashtag\" 的帖子,据我所知。\n\n我认为 rebake_match 在这里没有帮助,因为它匹配的是原始文本,而现有的 rails 任务中没有匹配 cooked 文本的选项。所以我想,这需要实际的编码,无论是通过 rails 控制台还是新的任务。

2 个赞

类似

 Post.where("cooked like '%class=\"hashtag\"%'").each do |p| p.rebake! end
6 个赞

非常像那样!我刚刚在我的暂存网站上成功测试了这一点。

我曾考虑过 posts:rebake_match 的延迟选项,但可能它并不重要。

它当然坚持要重新处理受影响帖子中的所有图像,这是不必要的,所以仅为此目的的自动修复可以合理地避免这种情况,但与此同时,有一个前进的方向。

如果一个网站有很多受影响的帖子,我可能会通过反向排序并添加延迟来做到这一点。

1 个赞

@mcwumbly 既然 3.0 已宣布并将此作为主要功能,您认为是否可以进行一次迁移,只修复文本而不重新处理图像,或者允许您在延迟后重新烘焙受影响的帖子,以免因重新处理图像而堵塞队列?

3 个赞

@martin 你能在这里分享一些你 可能 如何处理这个问题的想法吗?

简而言之,我认为人们 理想中 想要的是这样的:

  • 当我启用新的话题标签功能时,我希望有一种方法可以更新我所有旧话题标签的样式,使之与之匹配,而不会改变现有帖子的内容

而且也许还有:

  • 当我禁用它时,我希望有一种简单的方法来做相反的事情。
3 个赞

您已经可以做到这一点了。

Post.where("cooked like '%class=\\\"hashtag\\\"%'").update_all(baked_version: 0)

它将在后台通过计划作业进行处理。

我预计我们将在明年某个时候提高我们的 baked_version

5 个赞

我将创建一个 rake 任务来执行 @sam 上面建议的操作,以便自托管用户可以运行。

我认为这没有必要,因为我们现在已经为新站点默认启用了此功能,并且很快就会完全删除该选项。如果人们想尝试一下,他们可以启用该设置,在 UI 中手动重新烘焙几篇帖子,然后如果他们不喜欢,就关闭该设置并重新烘焙相同的帖子。

不过,很快就没有选择了。

4 个赞

您知道彩色分类链接这个想法是否仍在考虑中?

1 个赞

它仍在考虑中,但我们认为它的范围比表面看起来要大,并且还有一些设计细节需要首先解决,所以它不会立即发生。

太棒了,听起来不错!

4 个赞

我刚刚为此合并了一个 rake 任务:

bundle exec rake hashtags:mark_old_format_for_rebake

7 个赞

能否提供一份关于如何使用该命令的完整傻瓜指南?

作为用户,有没有办法更改单个帖子(例如,进行少量编辑/保存)?

谢谢。

这通常是 rake 任务的模式:

cd /var/discourse
./launcher enter app
bundle exec rake hashtags:mark_old_format_for_rebake
1 个赞

这应该可以。如果你是员工,可以点击扳手图标并重建 HTML。

1 个赞

这很好用,谢谢。就我而言,这似乎比尝试 rake 任务的风险要低。

1 个赞