Skip to content

amorfatianima/simple_kanban

Repository files navigation

Simple Sidebar Kanban for Obsidian

一个在 Obsidian 右侧边栏运行的轻量级看板插件,支持任务元数据、历史记录、拖拽排序以及效率统计/时间轴视图。

功能概览

  • 任务看板:多列任务、拖拽排序/跨列移动、完成自动沉底。
  • 任务元数据:标题、标签、备注、截止时间,记录创建/更新时间及历史操作;悬浮/固定历史浮层可查看最近修改。
  • 快捷键Cmd/Ctrl + Shift + N 快速新建卡片。
  • 效率统计:每日新建/完成趋势、完成率折线、总体完成率/逾期率、按时完成率、平均完成周期等,支持自定义时间范围。
  • 时间轴视图:按时间范围列出所有历史操作,垂直时间线 + 卡片式展示,支持滚动查看。
  • 拖拽优化:占位符提示、空列可接收拖拽、完成状态切换不跳转滚动位置。
  • 样式细节:截止任务高亮、历史记录可选中文本、时间轴可选中文本。

安装与构建

  1. 安装依赖:

    npm install
  2. 构建插件:

    npm run build

    生成的 main.jsstyles.cssmanifest.json 需放入你的 Vault 目录: <YourVault>/.obsidian/plugins/simple-kanban-sidebar/

  3. 开发模式(自动构建+同步,已配置默认路径):

    npm run dev:sync

    默认同步到 SIMPLE_KANBAN_DEPLOY 环境变量或 test_ob_plugin_vault/.obsidian/plugins/simple-kanban-sidebar。修改后 Obsidian 中重载插件即可。

使用说明

  • 打开看板:启动后自动在右侧栏显示,或通过命令面板/侧边栏图标打开。
  • 新增/编辑卡片:点击“添加卡片”或卡片本身;支持回车保存、截止时间选择、历史说明;完成切换自动下沉。
  • 列操作:新增/删除/重命名列。
  • 拖拽:同列/跨列拖拽,空列/卡片间可放置,占位符提示目标位置。
  • 历史记录:卡片右上角“⏱”悬浮/固定查看历史,支持文本复制,固定时不会触发拖拽。
  • 效率统计:切换到“效率统计”页签,可选择预设(7/14/30/90 天)或自定义日期范围查看趋势/完成率等指标。
  • 时间轴:切换到“时间轴”页签,选择“今天/昨天/自定义”查看时间范围内所有历史操作,左侧时间、中央线与节点、右侧卡片式详情,支持滚动和文本选择。
  • 快捷键Cmd/Ctrl + Shift + N 新建卡片。

关键文件

  • src/main.ts:插件主逻辑、数据模型、视图/弹窗、统计与时间轴。
  • styles.css:看板、统计、时间轴的样式及交互细节。
  • manifest.json:Obsidian 插件清单。
  • scripts/dev-sync.mjs:开发时 watch + 自动复制到 Vault。

已知提示与调试

  • 统计图表/SVG 必须使用 createElementNS 创建,否则线/点不显示。
  • 统计时间范围以天为单位,确保完成记录(completedAt)在所选区间内,否则完成率为 0%。
  • 如果文本复制与拖拽冲突,历史浮层/时间轴已加 user-select: text 并临时禁用拖拽。
  • 滚动保持:看板切换/操作后会恢复滚动位置;如遇异常可查看 Console 的 [SimpleKanban][Scroll] ... 日志。

贡献

欢迎 PR / issue,建议附上复现步骤或日志(尤其是统计/滚动相关的控制台输出)。

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors