From 8f8c9bf5373f556c2fedac3879593532fd1e9489 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Fri, 28 Jun 2019 11:17:45 +0800 Subject: [PATCH] 2019-06-28 11:17:45 --- img-better.js | 9 ++++++--- kaggle.js | 9 ++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/img-better.js b/img-better.js index 648131f..48c97c1 100644 --- a/img-better.js +++ b/img-better.js @@ -1,13 +1,16 @@ -// 需要 Image Magick 和 pngquant +/* +apt install imagemagick +apt install pngquant +*/ var chp = require('child_process') var fs = require('fs') var path = require('path') var os = require('os') -function betterImg(img) { +function betterImg(img, tmpDir) { - var tmpDir = os.tmpdir() + tmpDir = tmpDir || os.tmpdir() var fname = new Date().getTime().toString() + '.jpg' fname = path.join(tmpDir, fname) fs.writeFileSync(fname, img) diff --git a/kaggle.js b/kaggle.js index a9a1e91..50799e7 100644 --- a/kaggle.js +++ b/kaggle.js @@ -46,7 +46,7 @@ function processImg(html, pageUrl, imgs) { if(!imgs.has(picname)) { var data = request('GET', url).getBody(); - data = betterImg(data) + data = betterImg(data, 'tmp') imgs.set(picname, data); } @@ -89,6 +89,11 @@ function compToId(name) { return id } +function safeMkDir(dir) { + try {fs.mkdirSync(dir)} + catch(ex) {} +} + function main() { var name = process.argv[2] @@ -98,6 +103,7 @@ function main() { var toc = getToc(id) var articles = [] var imgs = new Map() + safeMkDir('tmp') for(var it of toc) { var prefix = 'https://www.kaggle.com' @@ -123,6 +129,7 @@ function main() { articles.splice(0, 0, {title: `Kaggle Kernel - ${name}`, content: ''}) genEpub(articles, imgs) + } if(module == require.main) main() \ No newline at end of file -- GitLab