# 长主题的自然断点或“章节”？

**URL:** <https://meta.discourse.org/t/natural-breakpoints-or-chapters-for-long-topics/16461>\
**Category:** Feature\
**Created:** [2014年六月12日 00:08 UTC](https://meta.discourse.org/t/natural-breakpoints-or-chapters-for-long-topics/16461 "2014-06-12T00:08:49Z")\
**Posts on this page:** 1\
**Showing post:** 57

<div class="post-metadata">

**Author:** ![elijah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elijah/32/104055_2.png) [@elijah](https://meta.discourse.org/u/elijah)\
**Post date:** [2021年四月1日 05:36 UTC](https://meta.discourse.org/t/natural-breakpoints-or-chapters-for-long-topics/16461/57 "2021-04-01T05:36:00Z")

</div>

我一直在思考这个问题。根据我对“超级主题”和非超级但更新缓慢的主题的经验，用户非常讨厌他们正在关注的主题被关闭，即使有替代主题。

这表明有两种可能的解决方案，但这两种方案可能都需要核心代码或插件方面的协助。

1. 一种新的主题拆分方式，将 **较旧** 的内容放入新主题，而保留较新的帖子。
2. 一种拆分主题或生成续集的方式，能够 **复制** 用户的关注/跟踪/静音设置到新主题中。

以下是每个想法的更多细节：

### 主题顶部拆分器

我设想的工作方式是：版主选择某篇帖子，然后点击“及其之前的所有内容”，这将触发一个新的或修改后的“创建新主题”弹窗。新主题默认与原标题相同，包含起始和结束日期，并默认创建为锁定主题。第一篇和最后一篇（最后一篇为系统生成）帖子将包含指向拆分来源的主主题的链接。现有主题将保留第一篇文章，在移动帖子的位置生成一篇新帖子（忽略其他拆分主题的特殊帖子），其余保持不变。

**可能** 还需要一个 Rake 任务来修复其他主题中的引用链接，但这可能比较棘手。

### 复制关注设置拆分器

这个方案可能更容易实现，但不知为何让我觉得不太令人满意。首先，类似 `example.discourse/t/_/12345` 的通用链接（即指向主题而非具体帖子）会失效。如果主题被用于外部讨论（例如“在此提交应用创意！”），这类链接很可能存在。使用该功能时，现有主题将被关闭，标题将更改以显示日期范围（默认情况下），并在同一类别中创建一个新主题，复制标题、第一篇文章以及所有跟踪/静音设置。旧主题的系统关闭消息中会添加指向新主题的链接。

**可能** 还需要对未参与该主题的用户取消对已关闭主题的关注/跟踪。我考虑的场景是：用户 Elijah 活跃了几个月后消失了一年，他曾明确关注某个主题，可能并不关心他离开期间创建并关闭的两个中间主题，但当他回来时，可能仍对最新版本感兴趣。

---

_[View the full topic](https://meta.discourse.org/t/natural-breakpoints-or-chapters-for-long-topics/16461)._
