Skip to content

Instantly share code, notes, and snippets.

@wizardforcel
Last active February 5, 2019 14:39
Show Gist options
  • Save wizardforcel/fadb403d5280d0a6232a7282fe0a88d1 to your computer and use it in GitHub Desktop.
Save wizardforcel/fadb403d5280d0a6232a7282fe0a88d1 to your computer and use it in GitHub Desktop.
Download imgs in markdown files
var fs = require('fs');
var request = require('sync-request');
var process = require('process');
var prefix = '';
var dirname = process.argv[2];
if(!dirname)
{
console.log('请指定目录。');
process.exit(0);
}
try {fs.mkdirSync(dirname + '/img');} catch(ex) {}
var dir= fs.readdirSync(dirname);
for(var i = 0; i < dir.length; i++)
{
var fname = dir[i];
if(!fname.endsWith('.md'))
continue;
var content = fs.readFileSync(dirname + '/' + fname, 'utf-8');
var re = /!\[.*?\]\((.+?)\)/g;
var rms;
while(rms = re.exec(content))
{
try {
var url = prefix + rms[1];
if(!url.startsWith('http'))
continue;
//console.log('url: ' + url);
var picname = /\/([\w\-]+\.(?:jpg|png|gif))/i.exec(url)[1];
var data = request('GET', url).getBody();
fs.writeFileSync(dirname + '/img/' + picname, data);
console.log('pic: ' + picname);
} catch(ex) { console.log('error: ' + ex.toString());}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment