#tui #kanban #task #terminal #cli

bin+lib rust-kanban

使用 ❤️ 在终端构建的看板

41 个版本

0.10.4 2024 年 8 月 12 日
0.10.2 2024 年 7 月 25 日
0.9.4 2024 年 2 月 22 日
0.8.2 2023 年 11 月 20 日
0.5.1 2023 年 3 月 15 日

#34 in 文本编辑器

Download history 18/week @ 2024-04-29 157/week @ 2024-05-06 20/week @ 2024-05-13 10/week @ 2024-05-20 3/week @ 2024-05-27 189/week @ 2024-06-03 9/week @ 2024-06-10 43/week @ 2024-07-01 217/week @ 2024-07-08 9/week @ 2024-07-15 137/week @ 2024-07-22 168/week @ 2024-07-29 17/week @ 2024-08-05 150/week @ 2024-08-12

474 每月下载量

MIT 许可证

1MB
27K SLoC

License Build Issues Crates.io Downloads Stars rust_kanban

用 rust 编写的终端看板应用程序

这个看板应用程序将允许用户通过优先处理任务和更快地实现目标来提高生产力

为什么?

我是 Rust 的新手,想以项目为导向的方式学习这门语言,欢迎对我的代码提出反馈😁。建设 TUI 的另一个原因是,我大部分时间都在终端中度过,无论是测试代码还是在 neovim 中编写代码。我没有找到其他替代方案,所以我开始自己制作!

贡献

请随意提交拉取请求或创建新的问题,我欢迎建议 ✌️

目前我没有 Mac,所以我无法在 Mac 上测试应用程序,如果你能在 Mac 上测试,请告诉我是否有任何问题。

待办事项

  • 创建一个 VS Code 扩展,用于添加快速笔记和任务,通过 / 命令为特定看板卡片或类型等添加(未来会更多考虑这个想法)
  • 创建一个与应用程序并行运行的 Web UI,可以从应用程序本身托管,使用启动标志(例如 --web-ui --port 8080)
  • 添加移动看板的能力(例如将看板向左或向右移动)
  • 优化日志记录器以处理大量日志(当有大量日志时,应用程序会变得缓慢)
  • 使整数值的配置更易于用户使用(例如更改看板板上的列数时)
  • 实现 UI 元素的动画
  • 实现与其他服务(如 notion)同步的方法
  • 编写测试
  • 为新手添加教程(最好在应用程序本身中添加动画和 UI 元素的高亮显示)
  • (任务)为函数添加文档和有用的注释
  • (任务)重构复杂函数中的嵌套语句

已完成的功能

  • 在添加新标签时显示现有标签列表以供选择(类似于上下文菜单)
  • 实现文本输入模式下的选择
  • 为日期字段添加日期选择器
  • 统一所有文本输入字段并改进它们的处理方式(目前有多种处理文本输入的方式)
  • 使用鼠标拖放卡片
  • 允许文本字段垂直移动(例如,卡片描述)
  • 云存档加密
  • 实现云存档
  • 可滚动查看日志
  • 可撤销和重做操作
  • 可更改日期格式
  • 可在命令面板中搜索卡片和看板
  • 可按标签筛选卡片
  • 允许在卡片视图中修改卡片
  • 实现添加自定义颜色的方式(主题支持)
  • 实现使用鼠标与看板交互的方式(目前支持单击、滚动)
  • 添加导出看板数据到JSON的能力
  • 实现命令面板(类似于vs code中的(Ctrl + Shift + P)),作为与应用程序交互的方式,而不是使用快捷键
  • 实现加载存档的预览
  • Toast消息实现 -- (受nvim-notify启发)
  • 改进帮助信息
  • 自定义快捷键
  • 实现看板板(基本UI)
  • 退出时自动保存
  • 保存/加载看板状态
  • 显示/隐藏UI元素
  • 重构UI逻辑
  • 聚焦和突出显示UI元素
  • 输入处理
  • 日志记录

已知问题

  • 当标签比可用空间长时,卡片标签和注释的光标不正确

公告(即公共服务公告)

  • 云存档现在已加密。请确保您的密钥安全。注册后通常位于 "config/rust_kanban/kanban_encryption_key"。如果您丢失了密钥,您将无法访问您的数据(我无法查看您的数据,也无法编辑它/解密它)。如果您丢失了密钥,您必须删除数据并使用 -g 标志生成新密钥。
  • 您还可以在启动应用程序时使用 --encryption-key 标志提供备用密钥。这将允许您将密钥存储在密码管理器中或在磁盘上的文件中。
  • linux 示例:rust-kanban --encryption-key $(cat ~/.config/rust_kanban/kanban_encryption_key)

使用方法

默认快捷键

快捷键 操作
'Ctrl + c' 或 'q' 退出
'Tab' 下一个焦点
'BackTab' 上一个焦点
'c' 配置
'Up' 向上移动
'Down' 向下移动
'Right' 向右移动
'Left' 向左移动
'i' 获取用户输入(当填写表单时)
'Insert' 退出用户输入模式
'h' 隐藏UI元素
'Ctrl + s' 保存状态
'b' 新建看板
'n' 新建卡片
'd' 删除卡片
'D' 或 'Shift + d' 删除看板
'1' 将卡片状态更改为已完成
'2' 将卡片状态更改为活动状态
'3' 将卡片状态更改为过时
'4' 将卡片优先级更改为高
'5' 将卡片优先级更改为中
'6' 将卡片优先级更改为低
'r' 重置UI到默认
'm' 转到主菜单
'Ctrl + p' 切换命令面板
'Esc' 转到前一个视图
't' 清除Toast消息
'鼠标左键单击' 选择UI元素
'鼠标中键单击' 打开命令面板
'鼠标右键单击' 转到前一个视图
'鼠标向上滚动' 向上滚动卡片
'鼠标向下滚动' 向下滚动卡片(卡片)
'Ctrl + 鼠标向上滚动' 向右滚动(看板)
'Ctrl + 鼠标向下滚动' 向左滚动(看板)
'Ctrl + z' 撤销
'Ctrl + y' 重做

可用主题

  • 默认主题 默认主题
  • 浅色 浅色
  • 午夜蓝 午夜蓝
  • 板岩 板岩
  • 地铁 地铁
  • 矩阵 矩阵
  • 赛博朋克 赛博朋克
  • 德古拉 德古拉

依赖项

~19-34MB
~546K SLoC