本插件所有内容全部由AI制作,无人工审查
在 Obsidian 中只读查看 Project Graph .prg 文件。非官方插件,与 Project Graph 作者无关联。
Read-only viewer for Project Graph .prg files. Unofficial, not affiliated with Project Graph.
支持 metadata.version 为 2.7.0 的文件,读取 ZIP 内的 MessagePack 数据并用 Canvas 2D 绘制。插件不写回原文件,不执行文件里的脚本,不联网。
打开 .prg 是一个独立的只读预览标签页,滚轮缩放、拖动平移、适应窗口都可以用:
在笔记里插入预览:光标停在 Markdown 笔记中,点左侧 Ribbon 的「插入 PRG 预览」,选一个 .prg,预览代码块会插到光标处:
.prg,显示为独立预览标签页。prg-viewer 代码块嵌入,路径相对当前笔记解析。+ - 0。渲染的对象类型:
TextNodeSectionConnectPointLineEdgeArcEdgeMultiTargetUndirectedEdge从 Releases 下载 main.js、manifest.json 和 styles.css,放入库的插件目录:
<vault>/.obsidian/plugins/prg-viewer/
目录中需要:
main.js
manifest.json
styles.css
重启 Obsidian,在“设置 > 第三方插件”中关闭安全模式并启用 PRG Viewer。
从源码构建:
npm ci
npm run build
把 main.js、manifest.json、styles.css 放入上面的插件目录。
打开 .prg 的方式:
.prg。.prg,选“用 PRG Viewer 打开”。在笔记中插入固定高度的预览,执行命令“PRG Viewer: 插入 PRG 预览”并选择文件。也可以直接写代码块:
```prg-viewer
example.prg
```
路径相对当前笔记所在目录。也支持库根路径、[[example.prg]]、![[example.prg]] 和引号包裹的路径。网络地址、非 .prg 路径和越出库根目录的路径会被拒绝。
嵌入预览的“收起”按钮在预览区左上角。点击后只保留 40px 高的条和“展开”按钮,再点恢复 560px 高度和当前视角。
metadata.version === "2.7.0",不转换旧版本文件。.prg 上限 64 MiB,解压后的 stage.msgpack 上限 32 MiB。插件只在本地读取库内的 .prg 文件,不上传文件、不加载远程资源、不执行 .prg 内的脚本。预览结果只存在于 Obsidian 的画布中。
打开文件选择器时会对库内文件名做一次过滤(vault.getFiles() 取 .prg 后缀),只在点击 Ribbon 图标或执行命令时发生。插件加载、代码块渲染和预览过程都不扫描全库,也不读取非 .prg 文件的内容。
npm install
npm run dev
npm test
npm run typecheck
npm run inspect -- 'path/to/example.prg'
浏览器 demo 在 demo/index.html,使用本地静态服务器打开,不请求网络资源。
MIT,见 LICENSE。运行时依赖 fflate(MIT)和 @msgpack/msgpack(ISC),许可证全文在 licenses/,清单见 THIRD_PARTY_NOTICES.md。