根据索引中由其 slug 标识的高亮显示当前文档主题在侧边栏中

我正尝试仅使用 slug 来定义 TOC 索引项,而不是在 URL 末尾添加主题索引——这样我就可以在不同环境(开发/生产)中保持相同的 TOC 索引。

这似乎有效(因为它仅使用 slug 导航到正确的主题),但除非我在每个 URL 末尾也添加 ID,否则左侧菜单中的当前主题不会高亮显示。有没有变通的方法?

2 个赞

哦,这是一个很酷的用例。我理解只使用 slug,但您将如何绕过替换网站 URL 的问题?

例如,在生产环境中

# 索引
- https://prod.discourse.site/t/one-slug

然后在开发环境中

# 索引
- https://dev.discourse.site/t/one-slug
1 个赞

我正在使用 URL 的相对路径(t/one-slug),这似乎运行正常?

我明白了,就像下面这样:

## 设置

* [设备的初始设置](/t/initial-setup-of-your-device)

明白了。我正在处理您请求的 slug 的更新。

6 个赞

谢谢娜塔莉!非常感谢 :slight_smile:

我注意到有一个更新,所以我已经在我的系统上试过了——但它似乎不起作用。如果这仍在进行中,我很抱歉 :slight_smile:

FYI- 我找到了一个使用 rails 更新 PROD 中所有锚点链接的 post-id 索引的方法——所以现在有了一个变通方法。

为什么不直接将生产数据库恢复到开发环境,这样你就会有相同的 ID 了?一定是我有什么地方没理解。

那会清除 PROD 上所有的论坛内容吗?

不。那会清除开发环境上的所有论坛内容。

我一定没有理解你们是如何使用开发环境的。

抱歉——我误读了您最初的消息(把开发环境和生产环境弄反了!)。

我们最初是在开发环境中构建了目录索引(和相关主题)的,所以想找一种简单的方法将它们复制到生产环境。现在生产环境的一切都正常了,那么是的——我们可以直接从生产环境恢复到开发环境,使它们重新同步。

然而,我们将开发系统更多地视为一个沙盒(用于实验),而不是一个预生产的暂存区——所以现在没有迫切的需要这样做。

1 个赞