Skip to content
创建日期: 2026-06-11 22:32:18
最后更新: 2026-06-11 22:32:18
修订次数: 1

支持设置图片尺寸的插件。

使用

ts
import MarkdownIt from "markdown-it";
import { legacyImgSize, imgSize, obsidianImgSize } from "@mdit/plugin-img-size";

// 新格式
const mdNew = MarkdownIt().use(imgSize);
mdNew.render("![image =300x200](https://example.com/image.png =300x200)");

// Obsidian 格式
const mdObsidian = MarkdownIt().use(obsidianImgSize);
mdObsidian.render("![image|300x200](https://example.com/image.png)");

// 旧格式
const mdLegacy = MarkdownIt().use(legacyImgSize);
mdLegacy.render("![image](https://example.com/image.png =300x200)");

语法

新语法

在图片替代文字后面添加 =widthxheight,并用空格分隔。

widthheight 都应该是数字,单位为像素,并且都是可选的。

md
![替代文字 =200x300](/example.png)
![替代文字 =200x](/example.jpg "标题")
![替代文字 =x300](/example.bmp)

渲染为 ↓

html
<img src="/example.png" alt="替代文字" width="200" height="300" />
<img src="/example.jpg" alt="替代文字" title="标题" width="200" />
<img src="/example.bmp" alt="替代文字" height="300" />

Obsidian 语法

在图片替代文字后面添加 widthxheight,并用 | 分隔。

widthheight 都应该是数字,单位为像素,并且都是必需的。设置其中一个为 0 以按比例缩放另一个。

md
![替代文字|200x200](/example.png)
![替代文字|200x0](/example.jpg)
![替代文字|0x300](/example.bmp)

渲染为 ↓

html
<img src="/example.png" alt="替代文字" width="200" height="300" />
<img src="/example.jpg" alt="替代文字" width="200" />
<img src="/example.bmp" alt="替代文字" height="300" />

旧语法 (已废弃)

这种语法可能会在 GitHub 等平台上导致渲染问题。

在图片链接部分的末尾添加 =widthxheight,并用空格分隔。

widthheight 都应该是数字,单位为像素,并且都是可选的。

md
![替代文字](/example.png =200x300)
![替代文字](/example.jpg "标题" =200x)
![替代文字](/example.bmp =x300)

渲染为 ↓

html
<img src="/example.png" alt="替代文字" width="200" height="300" />
<img src="/example.jpg" alt="替代文字" title="标题" width="200" />
<img src="/example.bmp" alt="替代文字" height="300" />

在三种语法之间选择

  • 旧语法在不支持的环境中会导致图片渲染问题(例如:GitHub)
  • 新语法和 Obsidian 语法都与 Markdown 标准兼容,但新语法更自然。

示例

preview 示例

LogoLogoLogo

![Logo](./logo.svg "Markdown" =200x200) ![Logo](./logo.svg "Markdown" =150x) ![Logo](./logo.svg "Markdown" =x100)

Logo|200x200Logo|150x0Logo|0x100

Released under the MIT License.