搬迁到 Farbox 后,如何新建一个 Post 成了一个问题。
传统的新建方式基本是:
- 打开 markdown 编辑器
- 敲打内容
- 点击保存
- 选择路径
- 输入标题
- 保存
这样看起来步骤比较多,不够简洁明了,我希望通过一个 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
完成。