hexo-自动发布脚本
这个脚本有什么用先说说我的场景,最近写博客勤快了,偶尔会在公司写文档。发现在公司和家里两台电脑是写东西的时候总是会发现忘记提交写的markdown文档,这样如果在公司写了一半没有提交,在家里就写不了了,所以想了一个办法,写一个脚本,每次自动提交文档,然后自动发布。我是在 github 上创建了一个私有仓库,将未生成的原始文档添加到仓库中,这样可以方便在不同设备之间进行同步,哪怕在网吧当中,想写文章了,git clone 一下就可以开始写文章。
解决问题
自动提交markdown到github
自动发布到 github.io
自动替换 source/ 文件到 public/
在 hexo/ 目录下创建脚本文件
touch deploy.sh
复制以下内容:
1234567891011121314151617181920212223#!/bin/bash# commit 内容就是日期DATA=`date +%Y-%m-%d_%H:%M:%S`# 如果没有修改,就不需要提交到 github。if [ -n "$(git status -s)" ];then g ...
hexo markdown 单眼号变成中文单眼号解决
最近写文章发现 markdown 中的单眼号被转换成了中文,查了一下发现是hexo的markdown插件的自动转换功能被开启了。输入的是 '(U+0027),被自动转换成了’(U+2019)
问题插件在 node_modules/ 目录中查看当前所使用的插件是哪个markdown插件,并修改配置文件_config.yml我这边使用到的是:
hexo-renderer-marked
12marked: smartypants: false
如果使用的时以下两个插件,修改方式如下:
hexo-renderer-markdown-it 和 hexo-renderer-markdown-it-plus
123markdown: render: typographer: false
如果没有这些配置,手动添加上配置就可以起效果。
参考链接: https://github.com/theme-next/hexo-theme-next/issues/462
hexo 分类或标签单词开头大写出现404
最近搬运笔记到博客,编辑的文章多了,今天突然发现,有一个分类点进去404,本地运行正常没有问题。查了一圈发现是git的大小写区分问题。
将大写字母改成小写,hexo 部署正确,但是博客上还是不正确出现404
网上查了许多资料,才发现,git中设置了大小写不敏感。
解决办法修改 git 设置不忽略大小写
进入博客文件夹,进入 git 目录:.deploy_git,修改 .git 文件中的配置文件 config,将ignorecase=true 改为 ignorecase=false
vim . deploy_git/.git/configignorecase = false
重写清空部署项目
如果还没有解决,清空部署到 github 上的文件,重新发布:
cd .deploy_gitgit rm -rf *git commit -m 'clean all file'git push
进入博客文件夹,用 hexo 重新生成部署
hexo clean && hexo g -d
hexo-解决图片不显示问题
问题原因由 hexo-asset-image 图片模块和 hexo-abbrlink 不兼容导致的。
hexo由于浏览器中,中文路径复制到文本中会被转成 unicode 编码,感观上特别不舒服,虽然粘回url后可以decode回来。
https://liukay.com/2020/11/12/linux-%E5%B8%B8%E7%94%A8%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E6%9C%AC%E6%93%8D%E4%BD%9C/
决定把路径改成Hash编码,使用abbrlink 这个插件后发现问题,图片显示不正常,查看一下图片路径发现,多了一个.html
解决方法
修改图片输出插件
插件路径:
hexo_home/node_modules/hexo-asset-image/index.js
12//24行 -1 改为 -5var endPos = link.length-5;
为什么要 -5,因为.html 刚好5个字符,-5 就是 link 减少5个字符刚好。