最近在玩 hexo
这个博客框架,有个需求是,在本地用 MarkDown
编辑好文章,能够高效地在服务端发表。于是使用 Shell
写了以下脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| inputFile=$1 if [ ! -f $inputFile ]; then echo "缺少文件" exit fi
shift
while echo $1 | grep ^- > /dev/null; do eval $( echo $1 | sed 's/-//g' | tr -d '\012')=$2 shift shift done
fileName=`basename $inputFile` path="/Users/fang/Workspace/Blog/trunk/hexo/$fileName"
first_line=`head -n 1 $inputFile` title=${first_line#\#\# }
myDate=`date "+%Y-%m-%d %H:%M:%S"`
echo "title: $title" > $path echo "date: $myDate" >> $path
if [ ! -z $tags ]; then echo "tags: $tags" >> $path fi
echo "---" >> $path
sed 1d $inputFile >> $path
scp $path xxx@xxxx.com:~/hexo/source/_posts
ssh xxx@xxxx.com "cd ~/hexo/; hexo generate -d"
|
用法
可以将以上脚本保存,并在 .bash_profile
中设置别名,比如命名为 _hexo
。
1 2
| _hexo ~/Blog/articles/publish-blog-by-shell.md -tags [Shell]
|