我是靠谱客的博主 高贵丝袜,最近开发中收集的这篇文章主要介绍基于Hexo框架快速搭建个人博客--文章一键发布(五)一、文章对比二、发布到Github三、一键发布四、总结,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
基于Hexo框架快速搭建个人博客--文章一键发布
- 一、文章对比
- 二、发布到Github
- 三、一键发布
- 四、总结
- 博客链接: 会思想的苇草i
- 文章链接:
- 基于Hexo框架快速搭建个人博客–搭建(一)
- 基于Hexo框架快速搭建个人博客–评论功能(二)
- 基于Hexo框架快速搭建个人博客–部署(三)
- 基于Hexo框架快速搭建个人博客–文章写作(四)
- 基于Hexo框架快速搭建个人博客–文章一键发布(五)
- 前言:在前面的文章中,已经实现了文章的撰写和图片的处理,接踵而至的就是文章的发表,在这里还需要向之前一样复杂吗,所以在这里尝试去实现文章的一键发表。
一、文章对比
- 平时在本地写文章保存在
D:Markdown
目录,而 Hexo 保存在D:hexoblog
目录。发布 Hexo 之前需要先把文章拷贝到D:hexoblogsource_posts
目录,有时候文章有修改还要重新拷贝覆盖。通过搜寻资料,查看文章,决定用Python脚本实现拷贝文件,判断文件最后修改时间决定是否需要覆盖旧文章。 - 因为我们省略了hexo create "title"这一步,直接把文件拷贝到了_posts目录,所以写文章时需要确保在开头加上 title、date、tags、category信息,不然发布的文章会没有没有标题、发布时间、标签、分类信息,其实hexo create命令做的就是这件事。注意最后的空行一定要有。
---
title: 基于hexo框架快速从0到1搭建个人博客 -- 文章发布
date: 2022-8-13 21:26:01
tags: hexo
categories : 博客
---
- Python 代码(电脑要配置好python环境):
# copy_to_hexo.py
import os
import shutil
import time
def copy_to_hexo():
local_list = os.listdir(LOCAL_ARTICLE_PATH)
hexo_list = os.listdir(HEXO_ARTICLE_PATH)
flag = True
for file in local_list:
if file in IGNORE_LIST:
continue
if file.endswith('.md'):
local_version = os.path.join(LOCAL_ARTICLE_PATH, file)
hexo_version = os.path.join(HEXO_ARTICLE_PATH, file)
if file not in hexo_list:
flag = False
print("新增文章: %s..." % file,
"最后修改时间:%s" % TimeStampFormat(os.path.getmtime(local_version)))
shutil.copy(local_version, hexo_version)
elif os.path.getmtime(local_version) > os.path.getmtime(hexo_version):
flag = False
print("更新文章: %s..." % file,
"上次修改时间:%s" % TimeStampFormat(os.path.getmtime(hexo_version)),
"最后修改时间:%s" % TimeStampFormat(os.path.getmtime(local_version)))
shutil.copy(local_version, hexo_version)
print('文章无变化' if flag else '更新完毕')
# 时间格式标准化
def TimeStampFormat(timestamp):
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
IGNORE_LIST = ['欢迎使用Markdown编辑器.md']
HEXO_ARTICLE_PATH = 'D:hexoblogsource_posts'
LOCAL_ARTICLE_PATH = 'D:/Markdown'
copy_to_hexo()
- 运行效果
二、发布到Github
- 之前已经修改好了hexo的配置:
deploy:
type: git
repo:
github: git@github.com:用户名/用户名.github.io.git,main
- shell发布脚本:Git Bash支持直接运行 shell 脚本,只需要把下面代码保存为
.sh
后缀的文件即可:
# deploy_hexo.sh
cd /d/hexoblog
pwd
# 白底黑字效果
echo -e "