Skip to content

masterj122517/sch

Repository files navigation

Schedule CLI Tool 📅

一个简单的命令行工具,用于快速创建和管理日程文件。

功能特性

  • 🎯 交互式模板选择界面
  • 📝 三种预定义模板:工作、学习、强化复习
  • ✏️ 自定义文件名前缀
  • 📁 自动在 ~/Schedule/ 目录的子文件夹中创建文件
  • 🔍 列出最近创建的文件
  • 🚀 Tmux 集成支持

安装

1. 安装依赖

pip3 install -r requirements.txt --user

2. 运行安装脚本

chmod +x install.sh
./install.sh

安装脚本会:

  • 安装 Python 依赖
  • sch 命令复制到 ~/.local/bin/
  • 创建 ~/Schedule/ 目录
  • 检查并提示添加 PATH(如果需要)

3. 手动安装(可选)

# 复制脚本
cp sch.py ~/.local/bin/sch
chmod +x ~/.local/bin/sch

# 确保 ~/.local/bin 在 PATH 中
export PATH="$HOME/.local/bin:$PATH"

使用方法

基本使用

# 交互式选择模板和输入文件名
sch

# 直接指定模板(会提示输入文件名)
sch -t working

# 指定模板和文件名
sch -t working -n "Vibe coding a dfjaldjf"

# 指定模板、文件名和日期
sch -t learning -n "Python学习" -d 2024-01-15

# 列出最近的文件
sch -l

# 创建并自动打开文件
sch -t working -n "今日工作" -o

模板说明

  • working 💼: 工作日程模板,包含任务列表、会议记录等
  • learning 📚: 学习日程模板,包含学习内容、笔记、练习等
  • reinforcement 🔄: 强化复习模板,包含复习内容、掌握程度等

Tmux 集成

1. 安装 tmux 脚本

cp tmux_sch.sh ~/.local/bin/tmux_sch.sh
chmod +x ~/.local/bin/tmux_sch.sh

2. 配置 tmux

将以下内容添加到 ~/.tmux.conf:

# 绑定快捷键 Ctrl+b s 来快速选择并打开日程文件
# 注意:使用 $HOME 而不是 ~,因为 tmux 可能不会展开 ~
bind-key s run-shell "bash $HOME/.local/bin/tmux_sch.sh"

3. 使用

在 tmux 中按 Ctrl+b s 即可快速选择并打开日程文件。

注意: 如果安装了 fzf,会使用 fzf 进行文件选择,否则使用简单的编号选择。

文件结构

创建的文件会保存在 ~/Schedule/ 目录下对应的子文件夹中:

  • ~/Schedule/working/ - 工作日程文件
  • ~/Schedule/learning/ - 学习日程文件
  • ~/Schedule/reinforcement/ - 强化复习文件

文件名格式为:名字_日期.md

示例:

  • ~/Schedule/working/Vibe coding a dfjaldjf_2025-12-16.md
  • ~/Schedule/learning/Python学习_2024-01-15.md
  • ~/Schedule/reinforcement/算法复习_2024-01-15.md

自定义模板

你可以编辑模板文件来自定义模板内容。模板文件按以下优先级查找:

  1. ~/.config/sch/templates/ (推荐,用户自定义模板)
  2. ~/.local/share/sch/templates/
  3. 脚本所在目录的 templates/ 文件夹

自定义模板步骤

  1. 创建模板目录(如果不存在):

    mkdir -p ~/.config/sch/templates
  2. 复制模板文件到用户配置目录:

    cp /Users/masterj/programming/sch/templates/*.md ~/.config/sch/templates/

    或者从项目目录复制:

    cp templates/*.md ~/.config/sch/templates/
  3. 编辑模板文件:

    • ~/.config/sch/templates/working.md
    • ~/.config/sch/templates/learning.md
    • ~/.config/sch/templates/reinforcement.md
  4. 模板中使用 {date} 占位符会被替换为实际日期。

注意:修改模板后,新创建的文件会使用新的模板内容。

依赖

  • Python 3.6+
  • rich (Python 库)

许可证

MIT

About

A Cli Schdule management tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published