我们正试图将一个主题设置为一种常见问题解答/论坛使用指南,在此过程中,我们希望有多个较长的帖子,每个帖子都有多个标题,并在主题的第一个帖子中编译一个目录,以便用户可以轻松地跳转。
这被证明是出乎意料地难以按预期工作,而且在 Meta(论坛)上挖掘也无济于事。我们知道插件(自动目录或类似的东西),但我们只想为这一个主题使用它,所以不想处理它。
我们尝试使用通过 # 符号自动生成的 markdown 标题旁边的链接图标,但这不起作用——我们不确定这是否仅仅是因为我们为标题使用的颜色,或者完全是其他原因,但无论如何,这对我们的一些标题有效,但并非全部。
尝试使用带有手动 ID 的 HTML 标签来设置标题也没有成功——这根本无法跳转到链接。我们在 Meta 上看到有人说 ID 信息被 Discourse 剥离了,因此停止了这种方法。
然后,我们看到一个巧妙的想法,即在标题上方放置空链接,您可以直接跳转到这些链接,尽管这起初似乎有效,但在我们发布了几个帖子后,它也停止跳转到链接帖子中的正确位置。
有人知道为什么标题似乎如此糟糕,以及如何让它们在单个主题内的多个帖子中起作用吗?我将此归类为错误,因为这种行为似乎非常不理想,但如果有人知道如何做,我很乐意为此付出一些努力。
为了让锚点在更长的主题中正常工作,您需要使用完整的帖子地址,并在后面附加标题,以弥补目标帖子未在屏幕上加载的情况。
如果锚点是此主题 OP 中的 <a> name="anchor"></a>,则即使在例如第 456 篇帖子中,使用此链接也能正常工作:
https://meta.discourse.org/t/anchors-not-working-across-posts-within-topic/240512/1#anchor
这有帮助吗?
1 个赞
这正是我们已经一直在做的,不幸的是
我们在目录中的链接格式是这样的:
https://www.site.com/t/topic-name/ABCD/E#header--header-name
而我们在帖子中的实际链接格式是这样的:
<a>
前几个帖子还能用,大概在第8或9个帖子就失效了。
1 个赞
我在另一个网站上使用此方法,它对我的帮助很大。您有可以分享的链接,以便我能看到它的实际效果吗?
不,很遗憾,因为该帖子仍然仅限员工访问。
也许我可以在主题创建者网站上尝试复制我们的设置,看看它是否在那里起作用?
更新:主题创建者没有 Discourse BBCode,所以我不太确定它是否能完全一对一。真遗憾。
我们倾向于为此使用 try.discourse.org,但在此情况下可能得不偿失?
唯一看起来与我使用的不同的是双连字符,但这似乎不太可能。也许是标题链接的数量?我不确定。
1 个赞
我怀疑是这样,这也是为什么这被归类为 Bug 而不是 #support。
我忘了 try,可能会转移过去
1 个赞
已获取
在 Try 上可重现
https://try.discourse.org/t/testing-heading-links-i-guess/1405?u=orangeandblack5
前几组锚点链接有效
最后三篇帖子的锚点无效
抱歉在周末发布此问题
通常 Try 上的内容何时会被清除?我宁愿不必再次重建所有这些锚点链接,哈哈
它们第一次为我工作,在页面刷新时也工作,但在我使用导航时间线返回 OP 时则不工作。
我在我的类似帖子中添加了“返回”链接,其中包含 OP/TOC 标题的完整帖子地址,这将执行页面刷新。这对您有用吗?
1 个赞
我的意思是,我们当然可以用它作为临时措施
因为你说得对,这确实有效
但是,没有人会像这样正常导航,所以我绝对认为这是一个非常明确的错误,理想情况下应该在团队有时间处理时进行修复
实际上,我们可能只会链接到顶级帖子,并在修复后添加特定的部分锚点
这似乎比为我们的用户提供一个有问题的功能要好
有没有办法在 Try 上保存这个帖子,防止它被删除,以便比我更了解 Discourse 的人可以深入研究一下,找出为什么会发生这种情况?
或者我最好在这里重新创建它?
您可以将这些帖子置于编辑模式下打开,或者获取 raw 版本并将其复制到您网站上的主题中,作为更永久的示例链接(或保存它们并在以后重新创建它们)。