双链标签
Markdown 编辑器与默认富文本编辑器统一使用 obsidian-core-link 标签。
<obsidian-core-link post="post-name" url="/archives/example" title="文章标题" target="_blank">显示文字</obsidian-core-link>
插入方式
- Markdown:进入 Halo「文章」列表,打开目标文章右侧下拉菜单,选择「复制双链标签」,粘贴到正文。不要放入反引号、代码围栏或缩进代码块。
- 默认编辑器:使用「文章关联」选择目标文章。保存时输出相同标签,重新打开时保留文章标识、地址、标题和显示文字。
- 双链管理:反向链接与断链列表的文章行也提供复制操作。断链行的「复制来源文章双链标签」复制的是来源文章,不是尚不存在的目标。
属性
| 属性 | 含义 |
|---|---|
post | Halo 文章 metadata.name。文章关系索引以此为准,不依赖标题或 URL。 |
url | 文章地址,支持站内绝对路径或 HTTP(S) 地址。已指定 post 时,发布页使用该文章当前的永久链接。 |
title | 目标文章标题;标签内没有文字时作为显示文字。 |
target | _blank(默认,新窗口)或 _self(当前窗口)。 |
| 标签内文字 | 自定义显示文字,不改变关联的目标文章。建议只放纯文本。 |
只有 url、没有 post 的标签可以作为普通超链接展示,但不产生文章双链关系。复制未发布文章时可能没有 url;目标发布后再通过索引更新解析。
渲染与安全
- 前台内容处理器将标签转换为普通
<a>,应用链条图标、浅色背景和圆角的无描边行内卡片样式,不依赖图谱脚本或匿名图谱开关;Markdown 预览与主题模板也会由轻量<obsidian-core-link>Web Component 即时渲染。 - 已指定
post但目标无法解析时,显示不可点击的未解析文字,不继续使用过期的url。 - 代码块、HTML 注释及已有普通超链接中的示例标签不建立关系。
- 复制时转义属性及文字;前台不透传事件属性,拒绝
javascript:、data:等非 HTTP(S) 地址。 - 当前插件未上线,不迁移旧的
<a data-obsidian-post>标签;测试文章请重新复制新标签。
主题样式
可使用 --obsidian-link-color、--obsidian-link-bg 和 --obsidian-link-hover-bg 分别覆盖文字/图标、卡片背景和悬停背景。组件也兼容超链接编辑器的行内卡片颜色变量;完整优先级、明暗适配和示例见 主题适配说明。