我是靠谱客的博主 高贵丝袜,最近开发中收集的这篇文章主要介绍基于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 "33[47;30m>>>>>>>>>>>>>>>>>>>>hexo g<<<<<<<<<<<<<<<<<<<<33[0m"
hexo g
echo -e "33[47;30m>>>>>>>>>>>>>>>>>>>>hexo d<<<<<<<<<<<<<<<<<<<<33[0m"
hexo d
sleep 5
# 执行完毕不退出
# exec /bin/bash
  • 运行效果:

三、一键发布

  • 上面写的两个脚本一步一步实现了文章的自动发布,对于 Windows 系统来说,可以使用 bat 脚本把它们整合在一起,完成“一键”发布的需求。
:: post_my_blog.bat
python copy_to_hexo.py
"C:Program FilesGitgit-bash.exe" deploy_hexo.sh
pause
  • 写好文章后,直接双击post_my_blog.bat就可以发布到三个地方了。

四、总结

  • 本文主要实现了文章的发布,参考了许多资料和部分代码,并将其整合在一个文件中,实现真正的一键发布,减少博客文章管理压力,使更加专注于文章的撰写!

最后

以上就是高贵丝袜为你收集整理的基于Hexo框架快速搭建个人博客--文章一键发布(五)一、文章对比二、发布到Github三、一键发布四、总结的全部内容,希望文章能够帮你解决基于Hexo框架快速搭建个人博客--文章一键发布(五)一、文章对比二、发布到Github三、一键发布四、总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部