在hexo插入本地图片的方法网上很多,不再赘述,可以看这个:
HEXO插入图片(详细版)
但是昨天尝试往markdown里面插入一张名称http-server.png
的图片时一直失败,查看控制台的log发现没有这张图片的process log(正常应该会出现update link as xxx
),生成html里面img src也是原来的,没有替换。
于是查看了node_modules/hexo-assets-image/index.js
,发现里面判断src的正则有问题。这里原意应该是不替换http链接,但是错误把名称里面带有http
的本地链接也过滤了。
简单修改成:
1 | if(!/^http(s?)\/\/.*/.test(src) && !/^\s*\//.test(src)) { |
重新hexo generate
生成后解决。
Update:
更新包到1.0.0后作者修复了https正则的问题,但是生成的链接是错误的。继续打patch
找到node_modules/hexo-assets-image/index.js
,将其中处理link
相关的代码:
1 | var link = data.permalink; |
替换成:
1 | var link = data.permalink.replace(/^http(s?):\/\/[^\/]*\//, ''); |
后重新clean && build即可解决。