学会了markdown插图的超快速方式 2025-04-16-Markdown-Blog 插图自动化系统:从截图到 Neovim 即时插入

✨ 博客内容(Markdown 结构)


title: “Markdown Blog 插图自动化系统:从截图到 Neovim 即时插入” date: 2025-04-16 layout: post —

🪄 从截图到插图:自动化流程简介

图说 在日常撰写博客(如 Hexo/Jekyll 系统)时,我们经常需要将截图快速插入到文章中。但传统做法涉及以下痛点:

  • ⏱ 文件名手动命名,费时出错;
  • 📂 找不到 asset 文件夹路径;
  • 📋 Markdown 插图语法手打费劲;
  • 🧭 Neovim / Terminal 中文件结构不清晰,难以操作。

现在通过自定义脚本 blog_clipshot,可以一键完成整个流程:

  1. 📸 直接截图并复制到剪贴板;
  2. 💾 自动保存为带日期路径的 PNG 文件;
  3. 🖼 自动生成 Markdown 插图语法并复制到剪贴板;
  4. ✅ 可直接粘贴 Cmd + V 到博客 Markdown 中。

🔧 Step 1: 安装保存截图到剪贴板的依赖(macOS)

系统自带截图快捷键:

  • Cmd + Shift + Ctrl + 4:截图并保存到剪贴板

我们用 pngpaste 工具把剪贴板图片保存下来:

```bash brew install pngpaste

🧩 Step 2: 自定义函数 blog_clipshot

将以下代码加入到 ~/.zshrc 或你专门的函数配置文件中,例如 ~/.zsh_functions:

📎 blog_clipshot:自动保存剪贴板中的截图为 PNG 并生成 Markdown 插图链接

blog_clipshot() { local TITLE=”$1” if [ -z “$TITLE” ]; then echo “❌ 用法: blog_clipshot "图名(中文或英文皆可)"” return 1 fi

# 获取当天日期 local DATE=$(date +%F) local SAFE_TITLE=$(echo “$TITLE” | tr ‘ ‘ ‘-‘ | tr -cd ‘[:alnum:]-_\u4e00-\u9fa5’) local IMG_NAME=”${SAFE_TITLE}.png”

# 图片路径 local ASSET_DIR=~/Dev/Jynxzzz.github.io/assets/”$DATE” mkdir -p “$ASSET_DIR” local IMG_PATH=”${ASSET_DIR}/${IMG_NAME}”

# 保存截图到文件 pngpaste “$IMG_PATH”

# 输出并复制 Markdown 插图语法 local MARKDOWN_LINK=”${TITLE}” echo “$MARKDOWN_LINK” | pbcopy echo “✅ 已保存截图为:$IMG_PATH” echo “📋 插图语法已复制到剪贴板:” echo “$MARKDOWN_LINK” }

然后运行以下命令刷新配置:

source ~/.zshrc

🚀 Step 3: 使用流程演示 1. 截图并复制到剪贴板: • 使用快捷键:Cmd + Shift + Ctrl + 4 2. 保存并生成插图链接: • 在 Terminal 中运行:

blog_clipshot 论文方法图

3.	插入图片链接:
•	切换到 Neovim 编辑的 Markdown 文件中,直接 Cmd + V 粘贴即可。

📁 文件结构建议

Dev/Jynxzzz.github.io/ ├── _posts/ │ └── 2025-04-16-Markdown-Blog-插图自动化系统.md └── assets/ └── 2025-04-16/ └── 论文方法图.png

📝 建议 alias

为了更快调用:

alias clip=’blog_clipshot’

🧠 技术亮点总结

步骤 技术实现 截图剪贴板输入 macOS 内建快捷键 剪贴板读取 pngpaste 文件命名规范化 tr 工具处理中文或特殊字符 自动路径组织 每天一个日期文件夹 Markdown 插图生成 自动粘贴、无需手打语法

📌 下一步:

你还可以给这个功能配一个快捷指令,比如叫:

alias blogpic=’clip “图标题”’

或者加入你的 Neovim 中,通过快捷键调用 :terminal 来截图 ➜ 插图 ➜ 预览。

需要我把这些自动生成为 tmux layout 吗?或者配合 newblog 全部打包自动建文件、图、md?我都能帮你做成套件。需要我出一个 .sh 脚本 starter 包也可以!

要不要顺手也讲一讲 neotree 里怎么快速跳到 assets 文件夹插图?