2 个不稳定版本
0.2.0 | 2024年2月5日 |
---|---|
0.1.0 | 2024年2月4日 |
#583 in 文本处理
18KB
327 代码行
marktask
marktask
是一个命令行界面 (CLI) 应用程序,用于解析和操作 Markdown 任务。它允许用户在 shell 环境中无缝地过滤、提取和转换任务信息。
功能
- 解析 Markdown 格式的任务。
- 提取具有截止日期、计划日期和开始日期的任务。
- 根据完成状态过滤任务。
- 使用
--overdue
选项过滤或包含过期任务。 - 以纯文本或 JSON 格式输出任务,以便其他工具轻松消费。
- 使用
--from
和--to
选项在特定日期范围内过滤任务。
安装
cargo build --release
mv target/release/marktask /usr/local/bin
用法
marktask
可用于与管道和其他 shell 环境中的命令一起使用。以下是一些入门示例
显示文件中的任务
marktask < tasks.md # or
cat tasks.md | marktask
过滤包含特定文本的任务
cat tasks.md | marktask | grep "Project A"
此命令序列从 tasks.md
读取任务,解析它们,然后使用 grep
过滤与 "Project A" 相关的任务。
将任务转换为 JSON
为了与其他消费 JSON 的工具集成,marktask
可以上输任务为 JSON 格式
cat tasks.md | marktask --json
过滤过期任务
要排除输出中的过期任务,请使用 --overdue=false
选项。默认情况下,显示所有任务,包括过期任务
cat tasks.md | marktask --overdue=false
按日期范围过滤任务
要包括从特定日期开始的任务或从相对日期(如今天起一周)开始的任务
cat tasks.md | marktask --from 2024-01-01
cat tasks.md | marktask --from +1w # Tasks starting from one week from today
要包括到特定日期的任务或到相对期限(如两天后)的任务
cat tasks.md | marktask --to 2024-01-31
cat tasks.md | marktask --to +2d # Tasks up to two days from today
要包括在特定日期范围内或相对期限内完成任务
cat tasks.md | marktask --from 2024-01-01 --to 2024-01-31
cat tasks.md | marktask --from -1w --to +1m # Tasks from last week to one month from today
许可证
本项目采用 Apache 许可证版本 2.0 - 有关详细信息,请参阅 LICENSE 文件。
依赖项
~5–7MB
~127K SLoC