shell编写的hexo新建文章生成脚本

前言

近期闲来无事,也好久没写文章了,发现使用hexo新建文章的时候每次都要复制粘贴一些配置,实在是相当麻烦,正好前段时间学习了下shell编程,便使用shell写了个脚本来自动生成。

使用方法

假设shell脚本的名字为 newFile.sh,执行下面的命令:

1
newFile.sh 测试文件 -c 编程 shell -t shell hexo

其中的参数如下:

  • -c : 分类 会根据这个参数值在hexo/source/_posts 目录中创建对应目录
  • -t : 标签 会根据这个参数值在文章中添加标签

执行过后,就会在你的blog hexo的_posts 目录中新建相应的目录和文件,具体如下图:
test
所生成的文件内容如下:

1
2
3
4
5
6
7

title: 测试文件
category: [编程,shell]
tags: [shell,hexo]
toc: true
date: 2017-02-09 09:38:25

这样子就省下了好多事情,省的每次再复制粘贴了,

脚本内容

脚本的使用很简单的,使用之前需要先将你的_post目录写入脚本中保存,之后就可以使用了,脚本内容如下:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/bash


Tags=
Category=
Title=
CurState="title"
IsParam="true"
PostPath="/e/blog/source/_posts/" #将这里替换为你的_posts 目录地址
#PostPath="./"
Date=`date +%F`
Date="$Date `date +%T`"

if [ "$#" -lt "1" ];then
echo "Input Error"
exit
fi

i=0
j=0
for argv in $*
do
# echo $argv
if [ $argv = "-t" ];then
CurState="Tags"
IsParam="true"
elif [ $argv = "-c" ];then
CurState="Category"
IsParam="true"
else
IsParam="false"
fi

if [ $IsParam = "false" ];then
if [ $CurState = "Tags" ];then
let i++
Tags="$Tags $argv"
elif [ $CurState = "Category" ];then
let j++
Category="$Category $argv"
else
Title="$Title $argv"
fi
fi
done

#echo "Tags=$Tags"
#echo "Category=$Category"
#echo "Title=$Title"
#echo "CurDate=$Date"
for path in $Category
do
if test -d "$PostPath$path" ; then
PostPath="$PostPath$path/"
continue
else
mkdir $PostPath$path
PostPath="$PostPath$path/"
fi
done
for CurFile in $Title
do

cd $PostPath
mkdir $CurFile
CurTitle=$CurFile
CurFile="$CurFile.md"
if [ $j = "1" ];then
Category=`echo "$Category" |sed -n "s/^[ ]*//gp"`
else
Category=`echo "$Category" |sed -n "s/^[ ]*//gp"|sed -n "s/ /,/gp"`
fi

if [ $i = "1" ];then
Tags=`echo "$Tags" |sed -n "s/^[ ]*//gp"`
else
Tags=`echo "$Tags" |sed -n "s/^[ ]*//gp"|sed -n "s/ /,/gp"`
fi

echo "---" >>"$CurFile"
echo "title: $CurTitle" >>"$CurFile"
echo "category: [$Category]" >>"$CurFile"
echo "tags: [$Tags]" >>"$CurFile"
echo "toc: true" >>"$CurFile"
echo "date: $Date" >>"$CurFile"
echo "---" >>"$CurFile"

done




转载本站原创内容请注明作者 砦龑堃及出处 http://ykzhai.top/2017/02/09/领域/hexo/shell编写的hexo新建文章生成脚本/
 

原文:大专栏  shell编写的hexo新建文章生成脚本


猜你喜欢

转载自www.cnblogs.com/wangziqiang123/p/11618389.html