Files
mnote/design/11-wolai/pages/page-reference.md
T

56 lines
2.1 KiB
Markdown
Raw Normal View History

2026-05-19 08:11:58 +08:00
# 页面引用(双向链接)
> 来源:https://www.wolai.com/wolai/... (页面引用)
>
> 实现状态:**数据层已实现,UI 层未完成** ✅ `[[` 引用和双向链接的块类型存在 ❌ 用户端创建交互未实现
## 核心概念
两种页面组织方式:**层级**(父子关系)和**引用**(双向链接)。
页面引用是双向链接(bi-directional link):A 引用了 B,则 B 页面下方会显示"引用的页面"列表。
## 创建方式
| 方式 | 操作 |
|------|------|
| `[[` 快捷输入 | 输入 `[[` 紧跟搜索词,定位到页面并创建引用 |
| `#` 快捷输入 | 空格后输入 `#` + 搜索词(类似标签)|
| 文本样式工具条 | 选中文本 → 工具条中 `[[` 图标 |
| 快捷键 | 选中文本 → `Ctrl/Cmd + Shift + R` |
## 预引用 & 创建新页面
使用工具条或快捷键时:
1. 匹配已有页面 → 直接引用
2. 无匹配 → 弹出选项:
- **创建新页面"xxx"**:直接创建
- **预引用**:创建"准备状态"引用,标题后显示 "(创建)",点击后弹出"创建页面"或"取消引用"
## 引用预览和别名
- 鼠标悬浮行内页面引用可预览
- 预览小窗顶部可设置别名(最长 100 字),别名后显示小箭头
---
## mnote 实现状态
### ✅ 已实现
| 功能 | 证据 |
|------|------|
| 页面引用块类型 | `EditorBlockType::PageReference``editor/model.rs:20`|
| 块引用块类型 | `EditorBlockType::BlockReference``editor/model.rs:21`|
| 引用标记策略 | `ReferenceTokenStrategy::{DoubleBracket, DoubleParen, InlineChip}``editor/model.rs:26-30`|
| AI 工具中的引用创建 | `mnote.block.insert_after` 等 Herem 工具可操作引用块 |
### ❌ 未实现
| 功能 | 说明 |
|------|------|
| `[[` 快捷输入创造引用 | 用户端 `[[` → 搜索 → 引用流程未实现 |
| `#` 快捷输入 | 未实现 |
| 选中文本 → 工具条 → 创建引用 | 文本工具条无引用按钮 |
| 预引用 & 创建新页面 | 无 "预引用"行为 |
| 引用预览/别名 | 无 |
| 被引用页面的"反向引用"列表 | 无页面底部的引用列表 |