# 行内主题搜索和链接，例如 Roam 式括号链接

**URL:** <https://meta.discourse.org/t/in-line-topic-search-and-linking-e-g-roam-like-bracket-links/200454>\
**Category:** Feature\
**Created:** [2021 年8 月 15 日 04:27 UTC](https://meta.discourse.org/t/in-line-topic-search-and-linking-e-g-roam-like-bracket-links/200454 "2021-08-15T04:27:20Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

作者： ![oshyan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oshyan/32/212644_2.png) [@oshyan](https://meta.discourse.org/u/oshyan)\
发布日期： [2021 年8 月 17 日 15:41 UTC](https://meta.discourse.org/t/in-line-topic-search-and-linking-e-g-roam-like-bracket-links/200454/14 "2021-08-17T15:41:17Z")

</div>

好的，如果过于字面地理解，我拿 Roam 作为例子的部分就开始不太适用了。😄 其实我早就停止使用 Roam 了，部分原因是它的行内搜索功能非常糟糕。Obsidian 是个更好的例子，也是我现在全天候使用的工具，但它需要下载才能试用，而 Roam（或 Logseq）则不需要。

在继续之前，首先要感谢 @sam 如此积极地参与这个想法的讨论，我意识到这可能有点异想天开。特别感谢你给出了关于这项工作量的大致估算，至少是按照你描述的实现方式。

话虽如此，我想强调的是，我的建议只是_受_ Roam 及类似使用此语法的应用的_启发_，但我并不打算完全复制它们的所有工作机制。

- 不需要自动补全括号，因为生成的 Markdown 中不会保留括号（Roam 和 Obsidian 都会保留括号）。
- Discourse 的搜索功能（以 Ctrl-K 链接搜索或 Ctrl-Alt-F 为例）优于 Roam，如果将其实现在行内，应该能让我在合理的时间内找到感兴趣的主题（也就是说，如果你认为搜索_有任何_用处，那么按目前描述的功能就已经能满足需求了）。
- 链接将使用完整标题，就像你在该论坛的消息中复制/粘贴了一个 Discourse 主题链接一样。
- 重命名将由 Discourse 现有的内部链接处理方式来处理。

因此，总结一下：Roam 仅仅是一个用来演示概念和部分用户体验的例子。我真正建议的是：

- 一组不常见但输入快捷的字符，用于触发行内主题搜索
- 行内主题搜索，按 Enter 键自动选择第一个结果
- 在其他所有方面遵循 Discourse 常规的链接处理机制
- 以符合 Discourse 一贯风格的方式实现

我所说的其他内容，只是关于什么最合理或可能解决该问题的思路。

考虑到以上所有情况，这是否会改变对所需工作量的估算？如果没有，那么具体是功能请求中的哪一点让它比例如“Ctrl-Alt-F + A”复杂得多？我问这个是因为，这或许能帮我理解是否可以通过缩小请求范围来使成本合理化，或者这是否根本不值得投入所需的时间。

再次感谢！

---

_[View the full topic](https://meta.discourse.org/t/in-line-topic-search-and-linking-e-g-roam-like-bracket-links/200454)._
