DiscoTOC - 自动目录

你好…

我在使用 DiscoTOC 时遇到了一个问题,也许有人能给我一些建议。

想象一下 DiscoToc 工作得很完美,对于一个主题,例如:

  • 链接 a → 在末尾添加“link-a-1”
  • 链接 b → 在末尾添加“link-b-2”

假设我与某人分享了链接 a:(“…link-a-1”)

现在,想象一下我重新排序了主题(我把“链接 b”放在前面了)。
使用 DiscoToc,它看起来像这样:

  • 链接 b → 在末尾添加“link-b-1”
  • 链接 a → 在末尾添加“link-a-2”

从现在开始,我之前分享的链接不再有效。
我分享了(“…link-a-1”),但现在正确的链接是(“…link-a-2”)

如果有人有什么想法,我将不胜感激。

2 个赞

BUG REPORT!

当 DiscoTOC 处于活动状态时,由 2 个或 3 个连字符组成的组自动生成的 en-dash 和 em-dash 不再起作用。它们将从 – 或 — 变回 -----

2 个赞

希望增加一个一键开启所有帖子的目录功能!

1 个赞

2024-11-02T22:00:00Z
错误报告:点击目录时,显示的内容位置与目录的位置不匹配

基本上,当前页面“https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143”的位置也不正确。

您能更具体一些并提供一个示例吗?TOC 在我所有的 Discourse 论坛实例上都能正常加载和工作。

您链接的页面加载正常,TOC 也在工作。

2 个赞

感谢您的回复。我现在没有找到问题,但当时确实存在问题。

帖子已拆分为新主题:为 TOC 主题组件添加按钮

Reader 模式与 Disco TOC 冲突

似乎我们无法同时拥有目录(来自 DiscoTOC,大文档必需)和 Reader 模式(大文档也必需)。

目录列表重叠并隐藏了 Reader 模式图标(以及帖子操作菜单图标)。

4 个赞

关于主题的问题——是否有函数或插件可以自动生成所有类别主题的列表,以帮助生成目录或甚至是维基类型的帖子内容?

这是一个节省手动工作的修复方法。

需要一点脚本编写,但也许有一个标签可以做到这一点,并且由于它是 Discourse 的原生功能,可以打印出某个类别中的所有主题(标题)并实时链接它们。

不过,我认为这可能在链接按钮功能中实现得更好,当你点击它时,你可以输入搜索你正在寻找的主题,但现在你有一个新的顶层选项,比如

“打印链接:X类别中的所有主题标题”按钮 :slight_smile:

我认为按主题日期新/旧切换排序会很有用。

这可能是一个功能请求,但我想在这里询问,因为它更相关,因为我正在考虑与 DiscoTOC 的用例,以手动完成此操作。

也许人工智能可以做到这一点,但我们不使用人工智能功能,也许它更适合作为链接按钮功能的一个分支,可能比 DiscoTOS 更广泛,并且可能比我所想象的更广泛的应用使用基础。

我想这很明显,但这个组件与博客文章样式组件不兼容,因为它会隐藏侧边栏。

我建议添加一个“内联目录”选项,就像插件以前那样,如果你有兴趣让它们协同工作的话。

内联选项作为一个选项很有用,所以能够切换将是极好的。它在某些用例中非常棒,因为它对用户来说非常明显,而新的选项更智能但有点藏起来,可能会被忽略。

当你的主要目的是让所有用户直接跳转到他们感兴趣的部分时,内联版本将是更好的选择。

1 个赞

我希望就 DiscoTOC 插件分享一些反馈。在大多数 Discourse 主题中,TOC 侧边栏会以适当的宽度显示,确保长标题能够得到妥善处理。但是,在使用 Horizon 主题时,侧边栏的宽度明显变窄,这会导致长标题换行显示。这会影响可读性并破坏界面的整体视觉一致性。

您能否考虑专门针对 Horizon 主题调查此问题,并探索调整侧边栏宽度的选项,以便更好地展示较长的标题?我相信解决这个问题将能改善许多 Horizon 主题用户的体验。

感谢您的辛勤工作和对该建议的考虑。

2 个赞

主题: discoTOC 组件在波斯语区域设置下发生故障

环境: 论坛的默认区域设置为**“波斯语”**。

受影响的组件: discoTOC

描述: 当论坛的默认区域设置为“波斯语”时,discotoc 组件无法正常运行。

具体症状:

  1. 时间线”和“内容”按钮的用户界面元素未显示。
  2. 用户回复主题后,目录视图会自动隐藏,显示时间线视图,并且没有提供恢复目录视图的交互式元素。

关于上述关于使用 discoTOC 组件的说明,我有几个技术问题需要澄清:

  1. 第一步提到编写带有标题的主题,第二步提到使用一个特定的按钮。如果我按照第一步,用 Markdown 标题(例如 #####)来构建我的主题,但省略点击齿轮菜单中的“目录按钮”(第二步),discoTOC 组件是否仍会仅根据标题自动生成或显示目录?本质上,点击按钮是组件正常运行的强制要求,还是仅仅是触发插入特定元素的
  2. 齿轮菜单中“目录按钮”的确切用途或功能是什么?在主题编辑器工作流程中,打算如何使用此按钮
  3. 另外,我遇到了代码片段 <div> </div>。您能否解释它与 discoTOC 结合使用的确切作用?这个 div 元素控制什么,以及如何在主题内容中实现或配置它以影响目录的生成或显示?

感谢您的详细解释。

我不确定这是否足够技术性,但该组件需要 <div> data-theme-toc="true"> </div> 和帖子中的一些标题才能生成正确的目录。

如果不插入 <div> data-theme-toc="true"> </div>,帖子将仅仅是一个带有标题的帖子,而添加该项而不包含任何标题将不会生成目录(组件中还有一个 TOC min heading 设置,默认为 3。因此,您至少需要帖子中有 3 个标题才能生成可见的目录)

“插入目录”按钮会将 <div> data-theme-toc="true"> </div> 插入到帖子中,不过您可以复制粘贴或手动输入以达到相同效果。

希望这有帮助。:crossed_fingers:


**更新:**我刚刚收到一个温和的提醒,如果您使用的是 Auto TOC categoriesAuto TOC tags 组件设置,那么在这种情况下插入 <div> data-theme-toc="true"> </div> 是不必要的。:+1:

7 个赞

另外…现在有一个用于此的设置(为回复启用目录),因此您可以在回复中包含目录。 :partying_face:

4 个赞

[引述=“JammyDodger, posts:456, topic:111143”]
现在有一个设置项(启用回复的目录
[/引述]

想知道是否可以将其设为在不同层级结构的回复中自动生成目录…或者对此有一些担忧?

使用 reply ToC 一段时间后,我觉得这样非常有道理。

只有高阶用户(比如我自己在我们的网站上)才会费心手动添加目录。实现自动生成这个功能将会非常有帮助。

3 个赞

我遇到了一些问题:

  1. 如果我尝试在已创建但没有目录的主题上创建目录,则不起作用。这正常吗?它似乎只有在创建主题时包含目录才起作用。编辑主题不起作用。
  2. 在我成功创建了目录的主题上,当我点击目录中的标题时,它不会滚动到标题。
  3. 它似乎只为 ## 标题创建目录。我有 ### 标题,但它们没有显示出来。

我最近在 Meta 上的这个我的主题组件主题上做过,它起作用了

1 个赞

奇怪……我保存的时候它没有显示,所以也许我需要刷新页面?我本来期望它能立刻显示出来。

很高兴知道它现在显示了。

(澄清一下,我能够添加您在图片中添加的文本,但目录没有显示在右侧)。

至于其他问题,现在也都能正常工作了。我不明白……真是难以理解……

您知道是否可以禁用这种行为,即当父标题“不聚焦”时隐藏子标题吗?
我希望所有标题都能随时可见,否则看起来内容比实际的要少。

我很高兴知道它现在按预期工作了,所以这只是一个锦上添花的小细节,如果可能的话。