ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2019-10-02 20:54:43  阅读:225  来源: 互联网

标签:Category shell hexo Tags echo 文章生成 CurFile


前言

近期闲来无事,也好久没写文章了,发现使用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新建文章生成脚本/
  <style type="text/css"> .donate_bar a.btn_donate{ display: inline-block; width: 82px; height: 82px; background: url("http://img.t.sinajs.cn/t5/style/images/apps_PRF/e_media/btn_reward.gif") no-repeat; _background: url("http://img.t.sinajs.cn/t5/style/images/apps_PRF/e_media/btn_reward.gif") no-repeat; -webkit-transition: background 0s; -moz-transition: background 0s; -o-transition: background 0s; -ms-transition: background 0s; transition: background 0s; } .donate_bar a.btn_donate:hover{ background-position: 0px -82px;} .donate_bar .donate_txt { display: block; color: #9d9d9d; font: 14px/2 "Microsoft Yahei"; } .bold{ font-weight: bold; } .center{text-align: center} .hidden{display:none;} </style>
若本文对您有帮助,求打赏~ 谢谢您的鼓励。

用手机 支付宝钱包 / 微信, 扫一扫即可~ 谢谢您的鼓励。

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


标签:Category,shell,hexo,Tags,echo,文章生成,CurFile
来源: https://www.cnblogs.com/wangziqiang123/p/11618389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有