hexo解析图片路径

hexo解析图片路径

1
2
3
4
5
6
hexo-code/
├── source/
│ ├── _posts/
│ │ ├── example.md
│ │ ├── imgs/ (软链接)
│ ├── imgs/ (实际存放图片的目录)

以上是我的hexo源文件结构,文章放在source/_posts/目录下,文章的图片放在source/imgs/目录下,因此文章中的图片通过相对路径../imgs访问图片。

hexo需要用绝对路径解析图片,因此我需要在hexo g的时候将文章中图片的相对路径../imgs解析为绝对路径/imgs

在主题的post.ejs文件中,替换

1
<%- page.content %>

为:

1
<%- page.content.replace(/\.\.\/imgs\//g, '/imgs/') %>

也就是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
<% if (page.encrypt === true) { %>
<%- inject_point('postMarkdownBegin') %>
<%- page.content.replace(/\.\.\/imgs\//g, '/imgs/') %>
<%- partial('_partials/plugins/encrypt') %>
<%- inject_point('postMarkdownEnd') %>
<% } else { %>
<div class="markdown-body">
<%- inject_point('postMarkdownBegin') %>
<%- page.content.replace(/\.\.\/imgs\//g, '/imgs/') %>
<%- inject_point('postMarkdownEnd') %>
</div>
<% } %>
...

hexo解析图片路径
http://oooscar8.github.io/2025/02/20/hexo-blog/
作者
Alex Sun
发布于
2025年2月20日
许可协议