New Post Workflow

搬迁到 Farbox 后,如何新建一个 Post 成了一个问题。

传统的新建方式基本是:

  1. 打开 markdown 编辑器
  2. 敲打内容
  3. 点击保存
  4. 选择路径
  5. 输入标题
  6. 保存

这样看起来步骤比较多,不够简洁明了,我希望通过一个 Workflow 实现创建文件,打开文件并自动把一些基础信息录入,比如 title:date:tag:等。

Plan A

凭直觉,流程应该是创建文件修改内容打开文件这样的顺序,查了一些命令,想写一个 Script:

在进入目录后,创建 Markdown 文件:

cd ~/dropbox/farbox/example/
touch example.md

然后修改文件内容,给文件添加

title:
date:
tag:

Google 加上询问我计算机系的同学,得知可使用 gnu-sed 命令进行添加内容操作,首先安装 gnu-sed

brew install gnu-sed

然后给 Markdown 文件添加内容

gsed -ie '@i\ content' example.md # @ 为行数,例如第一行为 1,第二行为 2
gsed -ie ‘@i\ coneten' example.md

使用 gsed 的命令后,会自动生成一个 exmaple.mde 的备份文件(就是在整个文件名后加个e),因此要把这个备份文件删掉:

rm example.mde

最后打开这个 md 文件

open example.md

这么把 script 写下来,运行后却发现产生了文件,但文件内没有内容,也就是并没有往文件内添加内容,试了几次后发现,如果原文件为空文件,则 gsed 命令并不生效,只产生备份文件却无法添加内容(大概是和一些参数有关)

2014-12-22 更新

echo `content` >> example.md

Plan B

换一个思路,先设定好一个 md 基础文件,在里面填好基础内容。然后通过拷贝并改名的方式添加到 Farbox 文件夹中:

首先在一个目录下新建 .md 的基础文件,比如我放在 ~/basic 文件夹中,起名为 basic.md,并录入好 title:date:tag:

然后拷贝到 farbox 文件夹中并重命名:

cp ~/basic/basic.md ~/dropbox/farbox/yourtitle.md

最后打开:

open yourtitle.md

由于 Farbox 会自动识别文件名为 title,因此基础文件中的 title:可以删去。但值得注意的是,如果不设定 date 日期,farbox 会自动将你文件最后修改的日期设定为 post 日期,这样会导致文章排序错乱掉,因此我添加了 date 选项,现在仍然在研究如何自动在 markdown 中添加日期。

Backup

虽然 Dropbox 很安全,但我仍然习惯性地会备份我的 markdown 文件:

cp -f -r ~/dropbox/farbox/ ~/backup/

以上这些命令通过在 Alfred 的 Workflow 中添加 script 完成。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s