1 Star 3 Fork 2

李白的师傅李黑 / MarkdownPictureDownLoadAndReplace

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

有需求才有动力~

有时候经常需要将md文件当中的图片离线保存下来,指不定那一天图床挂了,图片找不到了!但是typora没有一键保存到本地图片功能!,必须要一个个右键保存才可以!!!!太坑爹!!!

下载

原理

读取指定目录下的所有文件 => 获取md文件并将路径保存到数组A => 遍历每一个md文件,使用正则判断是否有图片链接

=> 当前md的文件下所有图片链接保存到数组B当中的某一项当中(使用push),重复此操作

=> 弹出一个数组A的值(也就是md文件的路径) => 弹出一个数组B(也就是当前md所对应的图片链接)

=> 对数组B进行遍历访问并保存图片到本地 => 替换内容 => 遍历完成后写入新内容

具体看源代码吧,我把注释写的挺详细的

更新

  • 1.1.0发布~
    • 匹配文件内图片链接的正则变更
    • 替换文件图片链接不使用正则而使用字符串进行替换
    • 添加UA访问图片
    • 保存的文件名称如果没有扩展名,就以时间戳为名称且不添加扩展名(因为md读取的时候即使没有扩展名也可以正常读取)
  • 1.0.0发布~

使用

  • nodejs环境
    • 直接下载源码,记得先安装下依赖!然后 node ./index.js输入安装提示输入文件地址即可(注意要是文件夹!!!)

使用

  • window环境 尝试了下打包,感觉打包的文件好大,打包过程
    • 全局安装下 npm install pkg -g pkg地址

使用也很简单,双击运行输入文件夹路径即可,文件夹路径,文件夹路径!

exe运行

我打包nodejs的一些配置

  • 然后运行npm pkg -g ,然后会下载三个包
    • index-linux index-macos index-win
  • 配置了下文件(具体的可以看官网,我这里直接copy了别人的) package.json

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "pkg": {
    "scripts": "build/**/*.js",
    "assets": "views/**/*",
    "targets": "node16"
  }
  • 然后生成三个平台的运行文件(可以有配置生成哪一个平台文件,具体看官网就可以~我这里就不研究了)

npm pck生成的文件

打包时候安装的文件

注意下

  • 由于担心访问过快导致被屏蔽,这里设置了300毫秒的等待,每访问一次图片网站就等待300毫秒,当然,你可以自己更改下~

  • 修改 utils\index.js

修改延迟

使用效果

  • 使用后md当中的图片链接就被替换了
  • 测试了下 有链接的,有img标签的移动端md
//普通的
![](https://s1.ax1x.com/2020/06/27/NyZQbQ.png)
=>替换为了
![](移动端.assets/NyZQbQ.png)

<img src="https://s1.ax1x.com/2020/06/27/NyZ1Ej.png" style="zoom: 25%;" />
=>替换为了
<img src="移动端.assets/NyZ1Ej.png" style="zoom: 25%;" />

都替换正常和显示正常

如图

生成了对应存储图片的文件夹

使用截图

使用

故意失败测试~防止失败就中断

使用

使用

空文件

简介

md/Markdown文件当中图片地址保存为本地并替换里面的链接为本地图片的链接(nodejs实现) 展开 收起
JavaScript
取消

发行版 (2)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/superBiuBiu/MarkdownPictureDownLoadAndReplace.git
git@gitee.com:superBiuBiu/MarkdownPictureDownLoadAndReplace.git
superBiuBiu
MarkdownPictureDownLoadAndReplace
MarkdownPictureDownLoadAndReplace
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891