hexo-md-img

  1. Q1 ![]() 不渲染
  2. Q2 <img>不渲染
  3. Q4 <html>标签不渲染
  4. Q5 3-hexo的post太窄
  5. Q6 GitHub-webPage太慢了

Q1 ![]() 不渲染

hexo 图片不渲染

解决方法,参考博客:

最佳----> hexo博客如何插入图片 - 知乎 (zhihu.com)

Hexo+GitHub Pages+Redefine+Giscus建立个人站点 - Yun Fei’s Blog (huyunfei-blog.github.io)

原因:

md ----> html 渲染的图片要在 public有备份才行 ,没有备份就寄,渲染不出来

Typora + Hexo 最佳组合插入图片方法

source\imgs\${filename}

image-20240901092637586

image-20240901092655041

source 下 放个 imgs 来存放各个图片文件

Q2 <img>不渲染

<img src="" width="../xxx/1.png" alter="">

这样写会导致无法显示

分析原因是hexo生成 的时候 src没替换成 src="/…/xxx/1.png"形式导致

解决方法 **没招了,用插件吧 **

最新版本的 hexo 自带了 hexo-asset-image的功能,但是不好用

npm install hexo-asset-image --save

_config.yml 里确认开启:

post_asset_folder: true

解决成功

image-20250923105133787

但是这个插件有一个大问题,安全问题,很久没更新了

解决方法:

我的img标题写的都是相对路径,且我已经将imgs存放到了 source下了

所以我只需要将生成的 ./…/…/imgs 这些前缀替换成 “/imgs” 即可

自己写个正则插件解决替换问题

在目录下新建一个 scripts

里面放js文件即可

// Blog/scripts/replace-img-path.js

hexo.extend.filter.register('after_render:html', function (html) {
  return html.replace(/<img\s+[^>]*src=["']([^"']+)["']/g, function (match, srcPath) {
    const newPath = srcPath.replace(/^(\.{1,2}\/)+/, "/");
    return match.replace(srcPath, newPath);
  });
});

Q4 <html>标签不渲染

我的部分播放点mp4,audio标签,发现没法渲染

<audio src=""> 无法使用

Q5 3-hexo的post太窄

修改 3-hexo/source/css/_partial/post.styl

18行,默认情况为900px,我们稍微改大点,文章会更好阅读

    max-width 1000px

Q6 GitHub-webPage太慢了

使用 Azure web app + Azure Front Door 来加速

我部署在Azure上的网站地址为:

github