跳到主要内容

Markdown 图片替换器

⚡ 一款 Markdown 图片链接的替换工具

Build Status Docker Pulls (Backend) Docker Pulls (Frontend)

markdown_image_tool_01.png

目前我们团队的文档一部分则维护在本地的 文档工程项目 中(外部官网文档,基于 Docusaurus),另一部分写在语雀(Yuque)在线文档平台

Docusaurus 在应用中存在明显的协作痛点,尤其是在 多人审阅和内容修改 的场景下:

  • 协同编辑需 拉取完整项目工程,本地修改后再提交,无法 实时预览
  • 图片处理常需 手动添加边框、压缩优化,操作重复且耗时
  • 即便使用 图片处理工具,也难以避免 重复机械劳动 的问题

而选择语雀这类在线文档工具时,虽然协作更高效,但在 导出为 Markdown 用于发布时,又会遇到以下问题:

  • 图片链接多为 外链 CDN,需手动下载,样式也需单独处理
  • 内容中混杂大量 HTML 标签,影响 Markdown 渲染效果
  • 上传到 媒体等平台 时,图片链接可能无法识别,运营 也面临阻力

这个工具解决了什么?

本工具为了打通 在线协作 本地工程输出 之间的障碍:

✍️在线用 语雀高效撰写 → ⬇️一键导出 → 📄文档工程 + 运营发布 一步到位

典型使用场景

  • 语雀 上进行内容编写与协作,支持多人 实时编辑,高效统一管理文档内容
  • 在导出阶段,仅需 一键操作,即可自动完成:
    • 下载语雀中 所有图片 并保存为本地文件(可选上传到 GitHub 图床
    • 自动为图片添加 统一的边框与阴影样式,符合团队展示规范
    • 对图片进行 压缩优化,提升页面加载速度
    • 清理 Markdown 中冗余或无效的 HTML 标签,保证内容结构简洁清晰

借助这个工具,无需在“高效协作”与“工程规范”之间二选一

专注写作,其余交给自动化流程完成。

功能特点

  • 双模式支持
    • GitHub 模式:将图片上传到指定仓库,替换链接为 raw.githubusercontent.com 地址
    • 本地模式:生成 ZIP 包,打包处理后的 Markdown 和图片资源
  • 图片压缩优化
    • 可选开启 TinyPNG 压缩,减少图片体积,优化加载速度
  • 实时日志输出
    • 处理进度可视化,通过日志流查看每一步情况

技术栈

  • 前端:React + TypeScript
  • 后端:Node.js + TypeScript
  • 图片处理:TinyPNG API(可选)

快速开始

一键安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/hellojuantu/markdown-image-replacer/refs/heads/main/docker/install_run.sh)"

访问:http://localhost:13001

一键升级

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/hellojuantu/markdown-image-replacer/refs/heads/main/docker/upgrade.sh)"

一键卸载

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/hellojuantu/markdown-image-replacer/refs/heads/main/docker/uninstall.sh)"

手动安装

Docker 安装

git clone https://github.com/hellojuantu/markdown-image-replacer.git
cd markdown-image-replacer/docker
echo 'APP_VERSION=0.0.2' > .env
docker compose up --build -d

访问:http://localhost:13001

开发环境

# 安装依赖
cd frontend && npm install
cd ../backend && npm install

# 启动服务
cd frontend && npm run dev
cd ../backend && npm run start

使用指南

  1. 进入页面,选择处理模式:

    • GitHub 模式:上传至指定仓库
    • 本地模式:生成压缩包下载
  2. 上传 Markdown 文件

  3. 可选:启用图片压缩

  4. 启动处理,等待日志输出完成

  5. 获取处理结果(复制或下载)

配置说明

GitHub 配置项

若使用 GitHub 模式上传图片并替换链接,需提前准备一个公开仓库,并提供访问凭证。以下是配置说明及操作步骤:

基本配置字段

字段说明
用户名GitHub 用户名(如:hellojuantu
仓库名用于存储图片的仓库名称(如:image-host
分支默认为 main
TokenGitHub 访问令牌,需有 repo 权限

如何创建一个 GitHub 仓库并获取配置

  1. 创建仓库

    • 打开 https://github.com/new
    • 填写仓库名称,如:image-host
    • 选择 Public
    • 点击 Create repository
    • 按照提示初始化分支,如:main
  2. 生成 GitHub Token

    • 打开 https://github.com/settings/tokens
    • 点击 Generate new token (classic)
    • 勾选 repo 权限(包括 repo:status, repo_deployment, public_repo, repo:invite
    • 复制生成的 Token(注意:只显示一次,请妥善保存)
  3. 填写配置信息

    • 在工具页面中输入上述信息:
      • 用户名:你的 GitHub 账户名
      • 仓库名:刚创建的仓库名,默认填 image-host
      • 分支:刚初始化的分支,默认填 main
      • Token:粘贴刚刚复制的 GitHub Token

图片设置

字段说明
启用压缩是否启用 TinyPNG 压缩
TinyPNG 密钥可在 官网 获取

总结

如果你也常常为了图床而烦恼,或许可以试试看这个工具。希望它能替你省下一些重复劳动的时间,把精力用在更有创造力的事情上。