Hexo,使用bat脚本部署文章

写在前面

  熟悉Hexo的朋友都知道,写好的Markdown文章应该放到hexo安装目录的source\_posts文件夹下,然后使用命令hexo g -d或者是hexo d -g进行部署。我在使用Hexo的时候,_post目录其实是关联了我的一个远程Github仓库,我习惯于用小书匠这款编辑器来写MD文章(主要是因为小书匠可以关联使用多个平台的图床服务),写好后也可以直接保存到这个远程仓库中。按以前那种方式,我首先需要在_post目录中pull最新的文章,然后再使用hexo g -d命令来部署。老实说,我承认自己是个懒人,之前也捣腾过用Travis CI来解决hexo自动化部署的问题,但就是一直卡在某一步,然后现在也就搁置了,下来如果弄成功了我会再写一篇文章。今天这篇文章是主角是使用bat脚本来部署文章,在那之前我们先了解一下bat。

关于bat

  bat是Windows平台下的一种脚本语言,类似于Linux平台下是shell。下面只是举几个简单的例子,点到为止就好,更多关于bat脚本的语法可以查看这里

语法

解释

echo

表示打印该命令后的字符,如echo hello执行后会打印“hello”

echo off

表示在此语句后所有运行的命令都不显示命令本身 ,但本身会显示

@

与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)

@echo off

组合上两个语法,表示不显示后续执行命令及当前命令

dir c:*.* >a.txt

将c盘文件列表写入a.txt

call

用于调用另一个批处理命令或文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)

call c:\ucdos\ucdos.bat

调用ucdos.bat脚本

pause

暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续

rem

用于注释,也可以用 ::代替

start

调起另外一个窗口执行当前行命令

实战部署

  下面贴出的这段代码,也是我用来部署hexo文章的bat脚本(在hexo安装目录下新建deploy.bat,拷贝代码,每次双击运行即可),用Sublime看会比较清晰一点。

:: 左边的两个冒号和rem的效果是类似的,都是注释的作用
:: 下面这段代码已经注释,如果去掉rem,那么包含echo off本身和后面的call命令都不会再打印
rem @echo off 
:: call表示在当前窗口执行后面的命令或调用其它脚本
call cd source/_posts
git pull origin master
cd ../../
hexo g -d

hexo-deploy.bat

写在最后

  所谓好的工具都是为了提高效率而生的,后续本人可能要维护多个平台的文章发表,所以计划用Python写一些自动化发布文章的脚本,然后再结合bat脚本进行调用,感兴趣的小伙伴欢迎继续关注!

参考文章

Windows Batch Scripting BAT脚本编写教程 Windows .bat 脚本简单用法介绍

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu上安装Buildbot

Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布。它使用Python的Twisted库来处理buildmaster和多个wo...

25960
来自专栏小樱的经验随笔

Linux目录结构

Linux 目录结构 装完Linux,首先需要弄清Linux 标准目录结构 ? / root —?启动Linux时使用的一些核心文件。如操作系统内核、引导程序G...

53860
来自专栏cnblogs

前端打包成桌面应用、以及chrome扩展

     前段时间在利用工作之余开发了tomato timer这个蕃茄钟,然后部署到github.io上,由于greatway太厉害,偶尔会有打不开的情况。上周...

272100
来自专栏JetpropelledSnake

Python Web学习笔记之Cookie,Session,Token区别

33570
来自专栏北京马哥教育

Gitlab CE 8.1.3 安装手册(Debian/Ubuntu)

安装概述 Gitlab的安装过程主要包括以下组件的配置: 安装软件包及解决依赖项 Ruby环境 Go 系统用户 数据库(Mysql/Postgresql) Re...

37550
来自专栏编程微刊

SourceTree安装(小白特别详细教程)

首先,下载SourceTree,谷歌搜索SourceTree,第一第二个就是下载网址。

5.6K20
来自专栏Django中文社区

注销和页面跳转

当用户想切换登录账号,或者想退出登录状态时,这时候就需要注销已登录的账号。现在我们来为网站添加注销登录的功能,这个功能 Django 也已经为我们提供,我们只需...

69090
来自专栏Laoqi's Linux运维专列

看懂FTP的主动和被动模式

52790
来自专栏虚拟化云计算

oVirt之软件架构全剖析

本文是从软件架构设计的角度剖析oVirt的vdsm,另外还有一篇是从功能架构设计的角度剖析oVirt。

24840
来自专栏机器学习实践二三事

Git使用

上篇博客说到了Git是什么以及搭建基本的Git环境,这篇就说说其基本使用 提交 上一篇写到了,你有个README.txt需要提交 $ git add READM...

21770

扫码关注云+社区

领取腾讯云代金券