一、markdown图片相对路径问题

Typora本地插入图片的路径有两种方式:一个是绝对路径,一个是相对路径(相对于当前文件所在的路径)

Hexo通过hexo-renderer-marked插件实现了对markdown语法的支持,其中默认插入图片的方式为 ![](/images/image.jpg) ,它是一个相对路径(相对于Hexo工作目录下的 source 文件夹)的方式。为了方便相对路径的引用,hexo提供了一个配置属性:post_asset_folder,在hexo根目录下的配置文件_config.yml中将post_asset_folder设置为true

1
2
# _config.yml
post_asset_folder: true

该功能打开后,Hexo将会在你每一次通过 hexo new [layout] <title> 命令创建新文章时自动创建一个文件夹和一个markdown文件。例如,我使用 hexo new blog 创建了一篇文章 blog.md ,会同时在该文章文件所在的路径上创建文件夹 blog/,我们在该文件夹里面添加图片 blog/my.png,这时我们在 blog.md 文件中插入该图片的方式为 ![](my.png) 就可以了。

这个资源文件夹名与这个文章文件名相同。将所有与你的文章有关的资源(如图片)放在这个关联文件夹中之后,你可以通过相对路径来引用它们。

但在typora中不使用![](my.png)这种图片格式,typora会将其转化为{% asset_img my.png %}形式,所有在typora使用相对路径引入图片需要借助插件完成,网上大多数资料推荐的插件是hexo-asset-image,但我清测没有效,我使用的是hexo-image-link插件,是将markdown图片路径转换为asset_img语法,使得图片能够同时显示在typora和hexo上。

只需要两步:

根目录git bash输入命令:

1
npm install hexo-image-link --save

2.打开Hexo资源管理配置开关

1
2
# _config.yml
post_asset_folder: true

展示:

因为我的typora设置: 格式->图像->设置图片根目录,所以我此时的引用不需要文件夹路径

此时我的路径是/2038608.jpg

1
![风景](/2038608.jpg)

接下来你可以看到本篇博客显示如下图片:

二、Git Bash中按下Ctrl+C无法中断hexo s的解决方法

在git bash启动hexo server后经常出现ctrl+c无法关闭服务器的情况,这时我们只需要打开cmd,然后输入taskkill /F /IM node.exe

1
taskkill /F /IM node.exe

即可关闭所有node脚本占用的端口从而关闭服务器。