前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 hexo 中无痛使用本地图片

在 hexo 中无痛使用本地图片

作者头像
用户1148881
发布2018-01-15 10:14:02
2.4K0
发布2018-01-15 10:14:02
举报
文章被收录于专栏:jianhuicodejianhuicode

1 起因

在 hexo 中使用本地图片是件非常让人纠结的事情,在 markdown 里的图片地址似乎永远无法和最后生成的网页保持一致。

这些问题使得我一度不愿意使用本地图片而选择用图床,但被移动运营商无耻的横条广告逼得打算上 https,图床只支持 http 就成了问题。

hexo 下插入图片现在大概有几个方案

1.1 放在根目录

早期大部分的方案是把图片放在 source/img 下,然后在 markdown 里写 ![img](/source/img/img.png) 。显然这样在本地的编辑器里完全不能正确识别图片的位置。

1.2 asset-image

在 hexo 2.x 时出现的插件,后来被吸纳进 hexo 3 core ,用法的介绍见 资源文件夹 | Hexo 。比较尴尬的是,这种方法直接放弃了 markdown 原来的语法,使用类似 的语法,。markdown 本来有插入图片的语法不好好支持,专门用一个新的语法来插入本地图片,让我这种强迫症不太能接受。

2 解决方案

CodeFalling/hexo-asset-image

2.1 使用

首先确认 _config.yml 中有 post_asset_folder:true 。

在 hexo 目录,执行

代码语言:javascript
复制
npm install https://github.com/CodeFalling/hexo-asset-image --save

假设在

代码语言:javascript
复制
MacGesture2-Publish
├── apppicker.jpg
├── logo.jpg
└── rules.jpg
MacGesture2-Publish.md

这样的目录结构(目录名和文章名一致),只要使用 ![logo](MacGesture2-Publish/logo.jpg)就可以插入图片。

生成的结构为

代码语言:javascript
复制
public/2015/10/18/MacGesture2-Publish
├── apppicker.jpg
├── index.html
├── logo.jpg
└── rules.jpg

同时,生成的 html 是

代码语言:javascript
复制
<img src="/2015/10/18/MacGesture2-Publish/logo.jpg" alt="logo">

而不是愚蠢的

代码语言:javascript
复制
<img src="MacGesture2-Publish/logo.jpg" alt="logo">

值得一提的是,这个插件对于 CodeFalling/hexo-renderer-org 同样有效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 起因
    • 1.1 放在根目录
      • 1.2 asset-image
      • 2 解决方案
        • 2.1 使用
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档