问题
在 Windows 上,即使 notes/index.md 中存在大量合法的外部笔记指针行,概览页的"记忆构成"笔记计数和笔记页面也始终显示 0 条,例如:
- 验证与交付闭环 · E:\BaiduSyncdisk\MemPalace\memory_sources\生化管理器汉化\workflow\验证与交付闭环.md · 项目/wing:生化管理器汉化 · #mempalace
原因
.loci/dashboard/server.js 中的指针解析器只在链接以 https://、obsidian://、/ 或 ~/ 开头时才认定为外部指针:
const isExternal = /^(https?:\/\/|obsidian:\/\/|\/)/.test(link) || /^~\//.test(link);
if (!isExternal) continue;
Windows 盘符开头的绝对路径(E:\...、C:/...)无法通过该判定,导致所有此类行被静默跳过,/api/data 返回 notes.pointers: []。行格式本身完全符合解析正则,仅卡在外部路径判定这一步。
建议修复
在正则中加入盘符分支:
const isExternal = /^(https?:\/\/|obsidian:\/\/|\/|~\/|[a-z]:[\\\/])/i.test(link);
该判定之后的现有逻辑在 Windows 上本就兼容:path.isAbsolute() 对盘符路径返回 true,因此后续的 readMdFileSimple() 内联读取与 missing 缺失标记无需任何改动即可生效。
环境
- Loci 引擎文件 v0.4.0(commit be7ebb7),Windows 10(10.0.28000),Git Bash
- 本地已验证:加入这一行正则修复后,52 条原本不可见的指针行全部正常解析并渲染;修复前
/api/data 返回空数组。
问题
在 Windows 上,即使
notes/index.md中存在大量合法的外部笔记指针行,概览页的"记忆构成"笔记计数和笔记页面也始终显示 0 条,例如:- 验证与交付闭环 · E:\BaiduSyncdisk\MemPalace\memory_sources\生化管理器汉化\workflow\验证与交付闭环.md · 项目/wing:生化管理器汉化 · #mempalace原因
.loci/dashboard/server.js中的指针解析器只在链接以https://、obsidian://、/或~/开头时才认定为外部指针:Windows 盘符开头的绝对路径(
E:\...、C:/...)无法通过该判定,导致所有此类行被静默跳过,/api/data返回notes.pointers: []。行格式本身完全符合解析正则,仅卡在外部路径判定这一步。建议修复
在正则中加入盘符分支:
该判定之后的现有逻辑在 Windows 上本就兼容:
path.isAbsolute()对盘符路径返回 true,因此后续的readMdFileSimple()内联读取与missing缺失标记无需任何改动即可生效。环境
/api/data返回空数组。