dLine是一个功能强大的命令行工具,能够以日历的形式直接在你的终端中呈现重要数据。它可以监控关键日期、通过API简化事件添加,并计算各种事件类型的时间跨度。
**主要特点:**
* **动态视图(Dynamic View):**默认视图,自动在后台运行,无需用户手动输入。显示当前月份的事件,突出显示未来的事件,并根据事件类型和图标进行颜色编码。可以快速隐藏特定类别以获得更简洁的显示效果。
* **静态视图(Static View):**通过`dline -m yyyy/mm`命令进入,显示指定月份的事件,与动态视图类似但没有头部,并且没有过去日期阴影。
* **事件计算器视图(Event Calculator View):**通过`dline -w`命令及日期范围计算指定时间段内工作日和周末的天数。
* **管理功能(Administration):**通过`dline -b`命令管理数据,包括创建、读取、更新和删除(CRUD)操作,方便用户管理多个日历数据集。可以添加公共假期、管理逾期截止日期、导入API数据等功能。
* **类别过滤:**通过`dline -f`命令输入类别代码来显示或隐藏特定类别的事件,例如`dline -f 4 6 8`。
**自动流程:**
* **倒计时到截止日期:**后台进程会持续查找最相关的截止日期,并显示倒计时。
* **可预见的事件:**识别未来48小时内需要关注的事件,并触发弹出通知。
* **维护和更新:**自动清除过期数据、从API获取最新日历事件等。
**配置文件:**
* `.dlinerc`:系统范围的设置,例如用户翻译、颜色主题、清理频率等。
* `settings.json`:特定日历的偏好设置。
* `events_data.txt`:默认数据文件,创建新日历时会添加前缀。可以通过`dline -b`命令在不同的日历之间切换。
**安装:**
需要安装`at`和`jq`等依赖项,建议安装`gcalcli`、`fzf`和`hack-font-ligature-nerd-font`等可选依赖项,以便与Google Calendar集成。
**使用示例:**
* `dline -a 2024/07/04 3 Buy milk`:添加新事件,其中3是类别代码,Buy milk是事件描述。
* `dline -d "#projectX"`:删除所有带有#projectX标签的事件。
* `dline -f 4 6 8`:切换类别4、6、8的可见性。
* `dline -i GCA`:从Google Calendar导入日历。
* `dline -s 1`:将学校假期设为假期。
* `dline -s 0`:将学校假期设为工作日。
* `dline -m 2024/10`:显示2024年10月的静态日历。
* `dline -w 2024/01/01 2024/12/31`:计算2024年1月1日至12月31日之间的工作日、周末和假期天数。