加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

用Git管理你的每日行程

发布时间:2019-09-09 21:49:53 所属栏目:Windows 来源:Seth Kenlon
导读:副标题#e# 像源代码一样对待时间并在 Git 的帮助下维护你的日历。 Git 是一个少有的能将如此多的现代计算封装到一个程序之中的应用程序,它可以用作许多其他应用程序的计算引擎。虽然它以跟踪软件开发中的源代码更改而闻名,但它还有许多其他用途,可以让你
副标题[/!--empirenews.page--]

用Git管理你的每日行程

像源代码一样对待时间并在 Git 的帮助下维护你的日历。

Git 是一个少有的能将如此多的现代计算封装到一个程序之中的应用程序,它可以用作许多其他应用程序的计算引擎。虽然它以跟踪软件开发中的源代码更改而闻名,但它还有许多其他用途,可以让你的生活更轻松、更有条理。在这个 Git 系列中,我们将分享七种鲜为人知的使用 Git 的方法。

今天,我们将使用 Git 来跟踪你的日历。

使用 Git 跟踪你的日程安排

如果时间本身只是可以管理和版本控制的源代码呢?虽然证明或反驳这种理论可能超出了本文的范围,但在 Git 的帮助下,你可以将时间视为源代码并管理你的日程安排。

日历的卫冕冠军是 CalDAV 协议,它支撑了如 NextCloud 这样的流行的开源及闭源的日历应用程序。CalDAV 没什么问题(评论者,请注意),但它并不适合所有人,除此之外,它还有一种不同于单一文化的鼓舞人心的东西。

因为我对大量使用 GUI 的 CalDAV 客户端没有兴趣(如果你正在寻找一个好的终端 CalDAV 查看器,请参阅 khal),我开始研究基于文本的替代方案。基于文本的日历具有在明文中工作的所有常见好处。它很轻巧,非常便携,只要它结构化,就很容易解析和美化(无论美丽对你意味着什么)。

最重要的是,它正是 Git 旨在管理的内容。

Org 模式不是一种可怕的方式

如果你没有对你的明文添加结构,它很快就会陷入一种天马行空般的混乱,变成恶魔才能懂的符号。幸运的是,有一种用于日历的标记语法,它包含在令人尊敬的生产力 Emacs 模式 —— Org 模式 中(承认吧,你其实一直想开始使用它)。

许多人没有意识到 Org 模式的惊人之处在于你不需要知道甚至不需要使用 Emacs来利用 Org 模式建立的约定。如果你使用 Emacs,你会得到许多很棒的功能,但是如果 Emacs 对你来说太难了,那么你可以实现一个基于 Git 的 Org 模式的日历系统,而不需要安装 Emacs。

关于 Org 模式你唯一需要知道的部分是它的语法。Org 模式的语法维护成本低、直观。使用 Org 模式而不是 GUI 日历应用程序进行日历记录的最大区别在于工作流程:你可以创建一个任务列表,然后每天分配一个任务,而不是转到日历并查找要安排任务的日期。

组织模式中的列表使用星号(*)作为项目符号。这是我的游戏任务列表:

  1. * Gaming
  2. ** Build Stardrifter character
  3. ** Read Stardrifter rules
  4. ** Stardrifter playtest
  5.  
  6. ** Blue Planet @ Mike's
  7.  
  8. ** Run Rappan Athuk
  9. *** Purchase hard copy
  10. *** Skim Rappan Athuk
  11. *** Build Rappan Athuk maps in maptool
  12. *** Sort Rappan Athuk tokens

如果你熟悉 CommonMark 或 Markdown,你会注意到,Org 模式不是使用空格来创建子任务,而是更明确地使用了其它项目符号。无论你的使用背景和列表是什么,这都是一种构建列表的直观且简单的方法,它显然与 Emacs 没有内在联系(尽管使用 Emacs 为你提供了快捷方式,因此你可以快速地重新排列列表)。

要将列表转换为日历中的计划任务或事件,请返回并添加关键字 SCHEDULED 和(可选):CATEGORY:

  1. * Gaming
  2. :CATEGORY: Game
  3. ** Build Stardrifter character
  4. SCHEDULED: <2019-03-22 18:00-19:00>
  5. ** Read Stardrifter rules
  6. SCHEDULED: <2019-03-22 19:00-21:00>
  7. ** Stardrifter playtest
  8. SCHEDULED: <2019-03-25 0900-1300>
  9. ** Blue Planet @ Mike's
  10. SCHEDULED: <2019-03-18 18:00-23:00 +1w>
  11.  
  12. and so on...

SCHEDULED 关键字将该条目标记为你希望收到通知的事件,并且可选的 :CATEGORY: 关键字是一个可供你自己使用的任意标记系统(在 Emacs 中,你可以根据类别对条目使用颜色代码)。

对于重复事件,你可以使用符号(如+1w)创建每周事件或 +2w 以进行每两周一次的事件,依此类推。

所有可用于 Org 模式的花哨标记都记录于文档,所以不要犹豫,找到更多技巧来让它满足你的需求。

放进 Git

如果没有 Git,你的 Org 模式的日程安排只不过是本地计算机上的文件。这是 21 世纪,所以你至少需要可以在手机上使用你的日历,即便不是在你所有的个人电脑上。你可以使用 Git 为自己和他人发布日历。

首先,为 .org 文件创建一个目录。我将我的存储在 ~/cal 中。

  1. $ mkdir ~/cal

转到你的目录并使其成为 Git 存储库:

  1. $ cd cal
  2. $ git init

.org 文件移动到你本地的 Git 存储库。在实践中,我为每个类别维护一个 .org 文件。

  1. $ mv ~/*.org ~/cal
  2. $ ls
  3. Game.org Meal.org Seth.org Work.org

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!