← Return to Artifact Archive

ARTIFACT / FILETREE-TEXT-GENERATOR

filetree-text-generator

ACTIVE SYSTEM

给 Obsidian 用户导出当前库目录结构的插件:扫描全部文件夹与文件,按需忽略隐藏项,生成嵌套 YAML、缩进树、紧凑 JSON、S 表达式或路径列表,写入指定文件或直接复制到剪贴板。

ARTIFACT ID
filetree-text-generator
COMPILED
2026-10-23
STATUS / 状态
可用(v1.1.0,桌面与移动端声明兼容;未进入社区插件市场,需手动安装)

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 以功能截图为主,构建与安装细节以本文件为准。

文档索引