Hexo,使用bat脚本部署文章

简介: 写在前面  熟悉Hexo的朋友都知道,写好的Markdown文章应该放到hexo安装目录的source\_posts文件夹下,然后使用命令hexo g -d或者是hexo d -g进行部署。

写在前面

  熟悉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
hexo-deploy.bat

写在最后

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

参考文章

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

目录
相关文章
|
前端开发
三种方式实现主题切换方案
三种方式实现主题切换方案
|
7月前
|
数据采集 JavaScript Python
如何根据目标网站调整Python爬虫的延迟时间?
如何根据目标网站调整Python爬虫的延迟时间?
|
消息中间件 存储 监控
消息队列 MQ使用问题之客户端重启后仍然出现broker接收消息不均匀,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
10月前
|
分布式计算 DataWorks Serverless
通过函数计算节点实现GitHub实时数据分析与结果发送
开发人员在基于GitHub开源项目进行开发时会产生海量事件,GitHub会记录每次事件的类型、详情、开发者和代码仓库等信息,并开放其中的公开事件。DataWorks提供“Github十大热门编程语言”模板,通过对GitHub中公开数据集进行加工和分析,并将分析结果以邮箱的方式发送给指定用户。运行本案例后,您将得到Github中Top10编程语言每小时被提交的次数与排行。
246 10
|
11月前
|
人工智能 数据可视化 vr&ar
操作系统的哲学:从命令行到图形界面的演变
【10月更文挑战第22天】 本文探讨了操作系统用户界面(UI)的发展,特别是从早期的命令行界面(CLI)到现代图形用户界面(GUI)的转变。通过分析这一转变背后的技术、社会和心理因素,我们不仅能够理解操作系统设计的演变,还能够洞察人类与技术互动方式的根本变化。文章采用总分总结构,先概述操作系统UI的历史发展,然后详细分析CLI和GUI的特点及其对用户的影响,最后总结这一转变对人类生活和技术发展的深远意义。
279 3
|
12月前
|
前端开发 测试技术 程序员
在工作中会涉及到的几个环境(概念补充) 办公环境、开发环境、测试环境、线下环境、线上环境/生产环境都是什么,他们之间的关系?
本文解释了在职场中可能会接触到的不同环境,包括办公环境、开发环境、测试环境和生产环境(线上环境),以及它们之间的关系和重要性。
438 1
|
11月前
|
编译器 Linux C++
《C++跨平台编译:打破系统边界,释放代码潜能》
C++作为一门强大的编程语言,在多元化软件开发环境中面临跨平台编译的挑战。本文探讨了跨平台编译的重要性,包括拓宽用户群体和资源利用,以及面临的操作系统差异、编译器差异和依赖库问题。通过使用跨平台构建系统、抽象平台相关代码和管理依赖库等策略,可以有效应对这些挑战,提升软件的市场竞争力和资源利用效率。
220 0
|
运维 资源调度 监控
云上故障排查:高效定位与解决云端挑战的实战指南
加强监控与告警:建立完善的监控体系,确保能够及时发现并处理潜在问题。 定期演练与培训:定期组织故障排查演练和技能培训,提高团队的应对能力和专业水平。 注重数据保护与隐私:在故障排查过程中,严格遵守数据保护和隐私保护的相关规定,确保用户数据的安全。 结语 云上故障排查是一项复杂而艰巨的任务,需要企业和IT团队具备高度的专业素养和应对能力。通过遵循基本原则、运用有效工具与方法、遵循实战步骤并采纳最佳实践,我们可以
1200 0
|
12月前
|
索引 Python
SAP与tracker使用
SAP与tracker使用
330 0
|
12月前
|
安全 网络安全 数据安全/隐私保护
Cisco-交换机配置聚合端口
Cisco-交换机配置聚合端口
298 0