花了一整天寫了個下載markdown圖片到本地的庫?

啊哈呵嗨發表於2019-01-31

?️img-localizer

?️Fastly list or localize the images in markdown

效果圖

命令列切換到任意含有markdown文件的目錄中,執行 imgloc 即可一鍵下載並替換所有markdown中的圖片連結?。

適用於 clone的github專案文件中的圖片、爬蟲生成的markdown中的外鏈圖片 等。

花了一整天寫了個下載markdown圖片到本地的庫?

詳細文件請前往 gylidian/markdown-image-localizer 檢視。

該模組我已經上傳到 npm 上了,直接安裝即可。

?歡迎米娜桑來pull request哇嗚嗚嗚,給個star也好鴨 ( •̀ ω •́) ✌

話說回來,有什麼更好的思路找出或替換圖片連結呢,我想到用AST語法樹篩選圖片。

Getting Started

In Node.js environment

Install with npm

npm install --save img-localizer
複製程式碼

or you prefer yarn

yarn add img-localizer
複製程式碼

Importing

const imgLoc = require("img-localizer"); // CommonJS environment
import imgLoc from "img-localizer"; // ESM supporting environment
複製程式碼

With the CLI

Installation

npm i -g img-localizer
複製程式碼

Usage

直接切換到含有markdown文件的目錄中,

執行 imgloc 命令即可,

圖片將會預設下載到該目錄下的 assets 目錄中。

Example

const dir = path.resolve(__dirname, "../markdown資料夾");

// 解析出一個目錄中所有檔案對應的所有圖片連結
const dirImgObjArr = await imgLoc.extractDir(dir);

let current = 0,
    total = dirImgObjArr.length;
  
for (let dirImgObj of dirImgObjArr) {
    current++;
    console.log(
        `(${current}/${total}) 開始下載markdown圖片 ${dirImgObj.path}`
    );

    // 下載單個檔案對應的所有圖片連結
    const res = await imgLoc.downDir(dirImgObj, {
        onSuccess: function(index, filename) {
            console.log(`  ${index}/${dirImgObj.image.length} 圖片下載成功 ${filename}`);
        }
    });

    // 替換單個markdown檔案中的圖片連結
    imgLoc.replaceDir(res);

    console.log(`(${current}/${total}) markdown圖片下載成功\n`);
}
複製程式碼

相關文章