ARTIFACT / FILETREE-TEXT-GENERATOR
filetree-text-generator
ACTIVE SYSTEM给 Obsidian 用户导出当前库目录结构的插件:扫描全部文件夹与文件,按需忽略隐藏项,生成嵌套 YAML、缩进树、紧凑 JSON、S 表达式或路径列表,写入指定文件或直接复制到剪贴板。
◈ System Profile ◈
◈ Access · 访问入口 ◈
◈ Sections · 章节 ◈
◈ README ◈
filetree-text-generator
给 Obsidian 用户导出当前库目录结构的插件:扫描全部文件夹与文件,按需忽略隐藏项,生成嵌套 YAML、缩进树、紧凑 JSON、S 表达式或路径列表,写入指定文件或直接复制到剪贴板。
状态:可用(v1.1.0,桌面与移动端声明兼容;未进入社区插件市场,需手动安装);入口:命令面板「生成文件树」或左侧栏文件树图标;仓库:fire-disposal/filetree-text-generator
本质
把 Obsidian vault 的目录层级按多种结构化格式序列化为可导出的文本树。
选型
基于 Obsidian Plugin API 的 TypeScript 插件,esbuild 打包为单文件 main.js,无运行时远程依赖。
- 运行时
- Obsidian ≥ 0.15.0(桌面与移动端)
- 语言与构建
- TypeScript
- esbuild
- 输出格式
- 嵌套 YAML / 缩进树 / 图标树 / 紧凑 JSON / S 表达式 / 路径展开
功能
- 六种输出格式:嵌套 YAML、缩进树、带图标树、紧凑 JSON、S 表达式、路径展开。
- 忽略规则:默认跳过隐藏文件夹与文件,减少
.obsidian等噪声。 - 输出目标:可写入指定文件(默认
file-tree.md),也可一键复制到剪贴板。 - 双入口:左侧栏图标与命令面板均可触发。
- 设置面板:输出路径、树样式与中英文界面可配置。
- 未完成:按 glob 自定义忽略列表;超大库的增量扫描。
启动流程
npm install
npm run dev # 监听源码变化并重新打包
npm run build # 生产构建 main.js
npm run build-with-check # tsc 类型检查 + 构建
前置:Node 18+;将 manifest.json、main.js、styles.css 放入 <vault>/.obsidian/plugins/filetree-text-generator/,在 Obsidian 设置中启用插件。
边界与已知问题
- 结构假设:一次性全量扫描 vault,超大库(数万文件)首次生成会阻塞 UI。
- 写入行为:输出文件按设置路径覆盖写入,不保留历史版本。
- 平台差异:
isDesktopOnly: false,但移动端文件写入能力受 Obsidian 沙箱限制,建议优先使用剪贴板。 - 文档漂移:旧
readme.md以功能截图为主,构建与安装细节以本文件为准。
文档索引
- manifest.json — 插件元数据与最低 Obsidian 版本
- src/ — 扫描、格式化与设置面板源码
- README.en.md — 英文说明