Skip to content

SaXz2/orca-folder-plugin

Repository files navigation

Orca 文档树插件

一个为 Orca Note 设计的文档树管理插件,提供笔记本和文档的层级管理功能。

功能特性

核心功能

  • 笔记本管理 - 创建、删除、重命名笔记本
  • 文档导入 - 支持拖拽块到笔记本创建文档
  • 文件夹支持 - 在笔记本内创建文件夹进行分类管理
  • 文档跳转 - 点击文档直接跳转到对应的块
  • 数据持久化 - 所有数据自动保存
  • 拖拽排序 - 支持笔记本和文档的自由排序

交互功能

  • 📁 树形展示 - 清晰的层级结构显示
  • 🎨 虎鲸风格 - 简洁美观的界面设计
  • 🔍 快速操作 - 重命名、删除等快捷操作
  • 🔄 自动保存 - 数据实时同步保存
  • 🖱️ 拖拽导入 - 从 Orca 编辑器直接拖拽块创建文档

安装方法

  1. 下载插件的 dist 文件夹
  2. 将插件文件夹重命名为 orca-folder-plugin
  3. 复制到 Orca Note 的 plugins 目录
  4. 重启 Orca Note

目录结构

orca-folder-plugin/
├── dist/
│   ├── index.js      # 主插件文件
│   └── style.css     # 样式文件
├── icon.svg          # 插件图标
└── README.md         # 说明文档

使用方法

基本操作

  1. 打开文档树

    • 在 Orca Note 编辑器中点击侧边栏
    • 选择"文档树"标签页
  2. 创建笔记本

    • 点击顶部的 + 按钮
    • 输入笔记本名称
    • 按 Enter 确认
  3. 导入文档

    • 从 Orca 编辑器拖拽任意块到文档树
    • 选择目标笔记本或文件夹
    • 自动创建文档并关联到块
  4. 管理文档

    • 重命名: 点击重命名按钮
    • 删除: 点击删除按钮
    • 跳转: 点击文档名称跳转到对应块

高级功能

  1. 创建文件夹

    • 在文档上右键(开发中)
    • 选择"新建文件夹"
  2. 拖拽排序

    • 拖拽笔记本进行排序
    • 拖拽文档到不同位置或文件夹

数据结构

插件数据存储格式:

{
  "notebooks": [
    {
      "id": "notebook_xxx",
      "name": "笔记本名称",
      "order": 0,
      "documents": ["doc_xxx"]
    }
  ],
  "documents": [
    {
      "id": "doc_xxx",
      "name": "文档名称",
      "blockId": "block_xxx",
      "parentId": "notebook_xxx",
      "order": 0,
      "type": "document"
    }
  ]
}

技术实现

架构设计

  • 模块化设计 - 核心逻辑、UI组件、拖拽功能分离
  • 数据驱动 - 基于状态管理的响应式UI
  • 插件API - 使用 Orca Note 侧边栏API集成

技术栈

  • React 18 - UI组件框架(全局使用)
  • Valtio - 状态管理(全局使用)
  • TypeScript - 类型安全的开发体验
  • Vite - 现代化构建工具

核心模块

  1. folder-tree-core.ts - 数据管理和业务逻辑
  2. folder-tree-persistence.ts - 数据持久化和存储
  3. folder-tree-ui.js - React组件和UI渲染
  4. folder-tree-sidebar.js - 侧边栏集成
  5. folder-tree-dragdrop.ts - 拖拽功能处理

开发计划

已完成 ✅

  • 基础架构搭建
  • 数据持久化模块
  • 侧边栏UI集成
  • 笔记本管理功能
  • 文档导入和拖拽
  • 虎鲸风格样式

开发中 🚧

  • 右键菜单功能
  • 搜索和过滤
  • 批量操作
  • 快捷键支持

计划中 📋

  • 动态文件夹功能
  • 太极风格动态卡片盒
  • 导出功能
  • 主题定制

故障排除

常见问题

  1. 插件未显示

    • 确认文件结构正确
    • 重启 Orca Note
    • 检查控制台错误信息
  2. 数据丢失

    • 使用备份功能恢复
    • 检查插件权限
  3. 拖拽不工作

    • 确认从 Orca 编辑器拖拽
    • 检查浏览器权限

调试信息

插件会在浏览器控制台输出详细的调试信息,便于问题排查。

贡献指南

欢迎提交 Issue 和 Pull Request 来改进这个插件。

开发环境

# 克隆项目
git clone <repository-url>

# 安装依赖
npm install

# 开发模式
npm run dev

# 构建生产版本
npm run build

许可证

MIT License

更新日志

v1.0.0 (2025-01-30)

  • ✨ 初始版本发布
  • ✨ 支持笔记本和文档管理
  • ✨ 实现拖拽导入功能
  • ✨ 添加数据持久化
  • ✨ 虎鲸风格界面设计

About

文档树插件

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors