惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
美团技术团队
腾讯CDC
V
V2EX
G
Google Developers Blog
博客园 - Franky
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
阮一峰的网络日志
阮一峰的网络日志
Microsoft Azure Blog
Microsoft Azure Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
罗磊的独立博客
C
Check Point Blog
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
V2EX - 技术
V2EX - 技术
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
有赞技术团队
有赞技术团队
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Security @ Cisco Blogs
W
WeLiveSecurity
D
DataBreaches.Net
Forbes - Security
Forbes - Security
V
Visual Studio Blog
P
Proofpoint News Feed
S
Secure Thoughts
H
Help Net Security
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
N
News and Events Feed by Topic
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Security Affairs
L
LangChain Blog
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
Hacker News: Ask HN
Hacker News: Ask HN
H
Heimdal Security Blog
M
MIT News - Artificial intelligence
The Register - Security
The Register - Security

Feed of liolok

Fix Broken URLs of My Site Containerize Steam with systemd-nspawn Containerize Android Studio with systemd-nspawn Run Desktop App with systemd-nspawn Container Oculus Quest 2 Usage Note Set Environment Variables with pam_env Install Arch Linux on Acer Swift 3 SF313-52 Run Mastodon Server on Arch Linux VPS V2Ray Subscription Parse Manage Dotfiles with Git and Stow Run SS and MTProxy Server on AWS Build Blog with Hexo and GitHub Pages
How to Add Image to Hexo Blog Post
2019-04-16 · via Feed of liolok

cd ~{,/zhs/}

Makrdown Syntax

Adding an image is supposed to be easy in markdown. Syntax is like: ![alt](path "title"), in which:

  • alt is alternate text, provides alternative information for the image if user cannot view it for some reason like slow connection, wrong path or user is using screen reader;
  • path is image file link, most important part;
  • title is tooltip text (optional), appears when cursor is floating over the image.

In this article I will mainly talk about the image file path or link or whatever you name it. But if you want to make a quick choice in different solutions, follow the map below and jump to the section directly.

Quick Choice

Image Hosting Sevice

An image hosting service allows individuals to upload images to an Internet website. The image host will then store the image onto its server, and show the individual different types of code to allow others to view that image.Wikipedia

There are websites providing this type of sevice: You upload an image file, then get the link of it, or even its markdown code directly.

External URL

![An Imgur Image](https://i.imgur.com/ucHPX7L.gif "An Imgur GIF")

An Imgur Image

In addition, you could even find editors or plugins, that will do the uploading work and insert markdown code automatically after you drag&drop or paste the image.

If you need to save the traffic of your blog site, an image hosting service may be a nice choice. However if you’re already using a static site hosting service like GitHub Pages, and don’t have that many posts and images, there is no need to save traffic at all.

Post Asset Folder

First of all, this feature need to be enabled in Hexo site configuration file _config.yml:

Then the files in source/_posts should look like this:

2019-02-14-Test-Post.md
2019-02-14-Test-Post/
+-- Test-Image-1.webp
+-- Test-Image-2.webp
+-- Subdirectory/
|   +-- Test-Image-3.webp
|   +-- Test-Image-4.webp

You can see that post asset folder is besides the post source file, and has the same name with it.

Relative Link Based on Post Source File

First you need to install plugin hexo-asset-link:

$ npm i --save hexo-asset-link

Then in markdown source file source/_posts/2019-02-14-Test-Post.md, the base-relative links scheme would look like this:

![](2019-02-14-Test-Post/Test-Image-1.webp)
![](./2019-02-14-Test-Post/Test-Image-2.webp)
![](2019-02-14-Test-Post/Subdirectory/Test-Image-3.webp)
![](./2019-02-14-Test-Post/Subdirectory/Test-Image-4.webp)

Relative Link Based on Post Asset Folder

![](Test-Image-1.webp)
![](./Test-Image-2.webp)
![](Subdirectory/Test-Image-3.webp)
![](./Subdirectory/Test-Image-4.webp)

This type of base-relative link would only works on post page, not on home page excerption or editor preview.

Global Asset Folder

For images it could be source/images or source/img or something similar. For example I place my site favison at root folder:

Pay attention to the first slash ‘/’, without it the link would be a base-relative one.

![Site Favicon](/favicon.ico "My Site Favicon")

Site Favicon

This type of root-relative link works in blog site, but basically not in editor preview.

Hexo Tag Plugin Syntax

Here is the official documentation about this solution, I don’t even want to write it down in my own blog. Here are top comments right below the docs:

Top Comments of Tag Syntax