Skip to content

Windows 盘符路径的笔记指针行被静默跳过,笔记面板显示 0 条 #7

Description

@LingYingNX

问题

在 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 返回空数组。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions