在 @c10udlnk 的指导下开了个博客 ,最近在迁移论坛水贴的时候遇到图片变小的问题:
![](https://static-img.0xffff.one/QHKOKp3fU0gWABaH5FY2eRkJ4Wa-SdyJbjJh3wIEpsM/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAyMS0wOS0x/Mi8xNjMxNDQ5Mjk0/LTc2NTU0Ni0xMS5w/bmc.jpg)
看了一下html源码,给我图片加了个”width=2“???
![](https://static-img.0xffff.one/p7afuLvS9boi5b6A3XkhD1x-GoTzvEd5uDFFdyMOLF8/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAyMS0wOS0x/Mi8xNjMxNDQ5Mzcw/LTUzMzk4OS0xMi5w/bmc.jpg)
然后摸到了解析图片的hexo-image-link的源码,
return "{% asset_img " + (path.split("/"))[1] + " " + label + " %}"
首先看一下,按照这里说的,hexo里asset_img的语法是:
{% asset_img [class names] slug [width] [height] [title text [alt text]] %}
再看一下我的图片名字是”2.jpeg“,因为是直接拖进Typora的所以label直接是”2“(有时顺手的话label跟图片名字一样也很正常的吧),这就很有意思了,按照hexo-image-link的代码,应该会解析成:
"{% asset_img 2.jpeg 2 %}"
如果lable不是数字的话是可以直接解析成title的,但如果是数字的话,根据上面asset_img的规则,就会解析成width了,所以就会导致图片变小。
修复方法:把缺的长宽加上去;或者加个英文的前缀(我选了这种),把上面说的那段源码改成:
return "{% asset_img " + (path.split("/"))[1] + " img_" + label + " %}";
![](https://static-img.0xffff.one/_9qVbMvR1rb5cau96IFkDm6oDnnDLq5gqe0yFjv-oKg/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAyMS0wOS0x/Mi8xNjMxNDQ5OTU5/LTc3OTQ3Mi0yMS5w/bmc.jpg)
![](https://static-img.0xffff.one/OReX5tZg8E3PX1lCLg9IkVJsUxp4nUkQkxxXvCMUVpo/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAyMS0wOS0x/Mi8xNjMxNDQ5OTY0/LTM1MTYwNS0yMi5w/bmc.jpg)