关于abbrlink和asset-image不兼容问题
之前在把博客主题从butterfly换成安知鱼的时候,发现本地图片全部挂了,后来得知是两个插件不兼容,记录一下处理的方式,新版本应该已经做了适配了,所以本文没有多少参考意义了(
hexo-abbrlink:给每篇文章生成十六进制的非中文路径
hexo-asset-image:给图片添加一个绝对路径
当hexo-abbrlink和hexo-asset-image一起用的时候,无论怎么修改生成路径,要么封面加载不出来,要么文章内图片加载不出来,所以需要修改下面的文件,才能解决。
Your Blog Root\node_modules\hexo-asset-image\index.js
在12行
var link = data.permalink;
的下一行添加var abbrlink = data.abbrlink
hexo.extend.filter.register('after_post_render', function(data){
var config = hexo.config;
if(config.post_asset_folder){
var link = data.permalink;
//
var abbrlink = data.abbrlink // 添加:适配abbrlink
//
var beginPos = getPosition(link, '/', 3) + 1;
var appendLink = '';
// In hexo 3.1.1, the permalink of "about" page is like ".../about/index.html".
// if not with index.html endpos = link.lastIndexOf('.') + 1 support hexo-abbrlink在60行附近
$(this).attr('src', config.root + link + src);
的这一行修改为$(this).attr('src', config.root + 'posts/' + abbrlink + '/' + src); //适配abbrlink
//$(this).attr('src', config.root + link + src);
$(this).attr('src', config.root + 'posts/' + abbrlink + '/' + src); //适配abbrlink
//三连即可
参考链接:
非常感谢作者,但是当有图片存在时,有bug · Issue #19 · rozbo/hexo-abbrlink (github.com)
使用hexo-abbrlink及解决与hexo-asset-image不适配的问题_hexo-assert-image导致js文件被替换-CSDN博客