很很鲁,north,牛排的做法-有爱俱乐部,让爱心充满这个世界

admin 2周前 ( 10-28 09:24 ) 0条评论
摘要: 像源代码一样对待时间并在 Git 的帮助下维护你的日历。-- Seth Kenlon(作者)Git 是一个少有的能将如此多的现代计算封装到一个程序之中的应用程序,它可以用作许多其他...

像源代码相同对待时刻并在 Git 的协助下保护你的日历。

-- Seth Kenlon(作者)

Git 是一个罕见的能将如此多的现代核算封装到一个程序之中的运用程序,它能够用作许多其他运用程序的核算引擎。虽然它以盯梢软件开发中的源代码更改而出名,但它还有许多其他用处,能够让你的日子更轻松、更有条理。在这个 Git 系列中,咱们将共享七种不为人知的运用 Git 的办法。

今日,咱们将运用 Git 来盯梢你的日历。

运用 Git 盯梢你的日程安排

假如时刻自身仅仅能够办理和版别操控的源代码呢?虽然证明或辩驳这种理论或许超出了本文的规模,但在 Git 的协助下,你能够将时刻视为源代码并办理你的日程安排。

日历的卫冕冠军是 CalDAV 协议,它支撑了如 NextCloud 这样的盛行的开源及闭源的日历应很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际用程序。很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际CalDAV 没什么问题(评论者,请注意),但它并不合适一切人,除此之外,它还有一种不同于单一文明的鼓舞人心的东西。

因为我对很多运用 GU奶奶逝世了孙女忌讳I 的 CalDAV 客户很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际端没有爱好(假如你正在寻觅一个好的终端 CalDAV 检查器,请参阅 khal ),我开端研讨依据文本的代替方案。依据文本的日历具有在 明文 中作业的一切常见好malenamorgan处。它很轻盈,十分便携,只需它结构化,就很简略解析和美化(不管美丽对你意味着什么)。

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

Org 形式不是一种可怕的办法

假如你没有对你的明文增加结构,它很快就会堕入一种天马行空般的紊乱,变成恶魔才干懂的符号。走运的是,有一种用于日历的符号语法,它包括在令人尊敬的生产力 Emacs 形式 —— Org 形式 中(供认吧,你其实一向想开端运用它)。

许多人没有意识到 Org 形式的惊人之处在严智蕴于 你不需求知道乃至不需求运用 Emacs 来运用 Org 形式树立的约好。假如你运用 Emac手牵手王雪s,你会得到许多很棒的功用,可是假如 Emacs 对你来说太难了,那么你能够完成一个依据 Git 的 Org 形式的日历体系,而不需求装置 淫心Emacs。

关于 Org 形式你仅有需求知道的部分是它的语法。Org 形式的语法保护刘子熠成本低、直观。运用 Org 形式而不是 GUI 日历运用程序进行日历记载的最大差异在于作业流程:你少女x少女x少女能够创立一个使命列表,然后每天分配一个使命,而不是转到日历并查找要安排使命的日期。

安排形式中的列表运用星号(*)作为项目符号。这是我的游戏使命列表:

* Gaming
** Build Stardrifter character
** Read Stardrifter rules
** Stard关于气候的成语rifter playtest
** Blue Planet @ Mike's
** Run Rappan Athuk
*** Purchase hard copy谦少作品集
*** Skim Rappan Athuk
*** Build Rappan Athuk 真秘汤maps in maptool
*** Sort Rappan Athuk tokens

假如你了解 CommonMark 或 Markdown,你会注意到,Org 形式不是运用空格来创立子使命,而是更明确地运用了其它项目符号。不管你的运用布景和列表是什么,这都是一种构建列表的直观且简略的办法,它明显与 Emac柳文婷s 没有内在联系(虽然运用 Emacs 为你供给了快捷办法,因而你能够快速地重新排列列表)。

要将列表转换为日历中的方案使命或工作,请回来并增加关键字 SCHEDULED 和(可选):CATEGORY:。

* Gaming
:CATEGORY: Game
** Build Stardrifter character
SCHEDULED: <2019-03-22 18:00-19:00>
** Read Stardrifter rules
SCHEDULED: <2019-03-22 19:00-21:00>
** Stardrifter playtest
SCHEDULED: <2019-03-25 0900-1300>
** 很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际Blue Planet @ Mike's
SCHEDULED: <2019-03-18 18:00-23:00 +1w>
and so on...

SCHEDULED 关键字将该条目符号为你期望收到告诉的工作,而且可选的 :CATEGORY: 关键字是一个可供你自己运用的恣意符号体系(在 Emacs 中,你能够依据类别对条目运用颜色代码)。

关于重复工作,你能够运用符号(如+1w)创立每周工作或 +2w 以进行每两周一次的工作,ben10剧场版变身之谜依此类推。

一切可用于 Org 形式的花哨符号都 记载于文档 ,所以不要犹疑,找到更多技巧来让它满意你的需求。

放进 Git

假如没有 Git,你的 Org 形式的日程安排只不过是本地核算机上的文件。这是 21 世纪,所以你至少需求能够在手机上运用你的日历,即使不是在你一切的个人电脑上。你能够运用 Git 为自己和别人发布日历。

首要,为 .org 文件创立一个目录。李天煜我将我的存储在 ~/cal 中。

$ mkdir ~/cal

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

$ cd cal
$ git init

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

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

暂存并提交你的文件:

$ git add *.org
$ git commit -m 'cal init'

创立一个 Git 长途源

要在任何地方供给日历,你有必要在互联网上具有 Git 存储库。你的日历是纯文本,因而任何 Git 存储库都能够。你能够将日历放在 GitLab 或任何其他公共 Git 保管服务(乃至是专有服务)上,只需你的主机答应,你乃至能够将该存储库符号为私有库。假如你不想将日历发布到你无法操控的服务器,则能够自行保管 Git 存储库,或许为单个用户运用裸存储库,或许运用 Gitolite 或 Gitea 等前端服务。

为了简略起见,我将假定一个自保管的 Git 裸存储库。你能够运用 Git 指令在任何具有 SSH 拜访权限的服务器上创立一个长途裸存储库:

$ ssh -p 22122 [seth@example.com][14]
[remote]$ mkdir cal.git
[remote]$ cd cal.git
[remote]$ git init --bare
[remote]$ exit

这个裸存储库能够作为你日历在互联网上的家。

将其设置为本地 Git 存储库(在你的核算机上,而不是你的服务器上)的长途源:

$ git remote很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际 add origin seth@example.com:/home/seth/cal.git

然后推送你的日历到该服务器:

$ git push -u origin HEAD

将你的日历放在 Git 存储库中,就能够在任何运转 Git 的设备上运用它。这意味着你能够对方案进行更新和更改,并将更改推送到上游,以便在任何地方进行更新。

我运用这种办法使我的日历在我的作业笔记本电脑和家庭作业站之间坚持同步。因为我每天大部分时刻都在运用 Emacs,因而能够在 Emacs 中检查和修改我的日历是一个很大的便当。关于大多数运用移动设备的人来说也是如此,因而下一步是在移动设备上设置 Org 形式的日历体系。

移动设备上的 Git

因为你的日历数据是纯文本的,严格来说,你能够在任何能够读取文本文件的设备上“运用”它。这是这个体系之美的一部分;你永久不会短少原始数据。可是,要依照你期望的现代日历的作业办法将日历集成到移动设备上,你需求两个组件:移动设备上的 Git 客户端和 Org 形式检查器。

移动设备上的 Git 客户端

MGit 是 Android 上的优异 Git 客户端。相同,iOS 也有 Git 客户端。

一旦装置了 MGit(或相似的 Git 客户端),你有必要克隆日历存储库,以便在你的手机上有副本。要从移动设备拜访服务器,有必要设置 SSH 密钥进行身份验证。MGit 能够为你生成和存储密钥,你有必要将其增加到服务器的 ~/.ssh/authorized_keys 文件或保管的 Git 的帐户设置中的 SSH 密钥中。

你有必要手动履行此操作。MGit 没有登录你的服务器或保管的 Git 帐户的界面。假如你不这样做,你的移动设备将无法拜访你的服务器以拜访你的日历数据。

我是经过将我在 MGit 中生成的密钥文件经过 KDE Connect 仿制到我的笔记本电脑来完成的(但你能够经过蓝牙、SD 卡读卡器或 USB 电缆进行相同操作,详细取决于你拜访手机上的数据的首选办法)。 我用这个指令将密钥(一个名为 calkey 的文件)仿制到我的服务器:

$ cat calkey | ssh seth@example.com "cat >> /ho很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际me/seth/.ssh/authorized_keys"

你或许有不同的办法,但假如你从前将服务器设置为无暗码登录,这是完全相同的进程。假如你运用的是 GitLab 等保管的 Git 服务,则有必要将密钥文件的内容仿制并粘贴到用户帐户的 SSH 密钥面板中。


Adding key file data to GitLab


完成后,你的移动设备能够向你的服务器授权,但仍需求知道在哪里查找你的日历数据。不同的运用很很鲁,north,牛排的做法-有爱沙龙,让爱心充溢这个国际程序或许运用不同的表明法,但 MGit 运用一般的老式 Git-over-SSH。这意味着假如你运用的对错规范 SSH 端口,则有必要指定要运用的 SSH 端口:

$ git clone ssh://seth@example.com:22122//home/seth/git/cal.git


Specifying SSH port in MGit


假如你运用其他运用程序,它或许会运用不同的语法,答应你在特别字段中供给端口,或删去 ssh:// 前缀。假如遇到问题,请参阅运用程序文档。

将存储库克隆到手机。


Cloned repositories


很罕见 Git 运用程序设置为主动更新存储库。有一些运用程序能够用来主动拉取,或许你能够设置 Git 钩子来推送服务器的更新 —— 但我不会在这里评论这些。现在,在对日历进行更新后,请必须在 MGit 中手动提取新更改(或许假如在手机上更改了工作,请将更改推送到服务器)。


M情侣装常青紫装Git push/pull settings


移动设备上的日历

有一些运用程序能够为移动设备上的 Org 形式供给前端。 Orgzly 是一个很棒的开源 Android 运用程序,它为 Org 形式的从 Agenda 形式到 TODO 列表的大多数功用供给了一个界面。装置并发动它。

从主菜单中,挑选“设置同步存储库”,然后挑选包括日历文件的目录(即,从服务器克隆的 Git 存储库)。

给 Orgzly 一点时刻来导入数据,然后运用 Orgzly 的 汉堡包 菜单挑选日程视图。


Orgzly's agenda viewqqzhibo


在 Orgzly 的“设置提示”菜单中,你能够挑选在手机上触发告诉的工作类型。你能够获得 SCHEDULED 使命,DEADLINE 使命或任何分配了工作时刻的任何告诉。假如你将手机用作使命办理器,那么你将永久不会错失 Org 形式和 Org欢渡国庆zly 的活动。


Orgzly notification


Orgzly 不仅仅是一个解析器。你能够修改和更新工作,乃至符号工作为 DONE。


Orgzly to-do list


专为你而规划

关于运用 Org 形式和 Git 的重要一点是,这两个运用程序都十分灵敏,而且你能够自定义它们的作业办法和内容,以便它们能够习惯你的需求。假如本文中的内容是对你怎么安排日子或办理每周时刻表的得罪,但你喜爱此提案供给的其他部分,那么请丢掉你不喜爱的部分。假如需求,你能够在 Emacs 中运用 Org 形式,或许你能够将其用作日历符号。你能够将手机设置为在一天结束时从核算机上拉取 Git 数据,而不是从互联网上的服务器上,或许你能够将核算机装备为在手机插入时同步日历,或许你能够每天办理它,就像你把你作业日所需的一切东西都装到你的手机上相同。这取决于你,而这是关于 Git、Org 形式和开源的最吴亚飞少将重要的工作。


via: https://opensource.com且试全国广播剧/art老爷操icle/19/4/calendar-git

作者: Seth Kenlon 选题: lujun9972 译者: wxy 校正: wxy

本文由 LCTT 原创编译, Linux我国 荣誉推出

点击“了解更多”可拜访文内链接

文章版权及转载声明:

作者:admin本文地址:http://lovecub50.com/articles/4267.html发布于 2周前 ( 10-28 09:24 )
文章转载或复制请以超链接形式并注明出处有爱俱乐部,让爱心充满这个世界