當前位置:
首頁 > 知識 > 自動化替換 Markdown 中的本地圖片引用

自動化替換 Markdown 中的本地圖片引用

作者:jaeger

來源:http://jaeger.itscoder.com/python/2016/04/24/replace-image-file-in-markdown.html

我寫 Markdown 有個習慣,總是將引用到的圖片(截圖或保存的)先壓縮,然後上傳到圖床(雲存儲)上,生成外鏈,然後在 Markdown 中引用。因為國內的雲存儲服務訪問速度相對 GitHub 較快,同時在使用 Markdown 源文件時,不必連同圖片一起傳送或移動。

因此就催生了該半自動化工具腳本(GitHub 傳送門)的誕生。

實現的效果如下:

幾點說明

圖片壓縮:本文直接調用的是 TinyPNG 站點的 API,該站提供的壓縮服務還是不錯的,圖片壓縮率高,且壓縮前後顯示效果差別很小。對於開發者而言,該網站上相關文檔也是相當齊全的。

圖片上傳:我選擇的是 LeanCloud ,因為之前剛開始接觸雲存儲選擇了這個,後來就一直用了,國內的還可以選擇七牛的雲存儲提供商( LeanCloud 文件存儲實際用的也是七牛),都有相關的開發文檔的。

本地資料庫存儲:腳本中會將文件的 hash 值和 url 儲存到本地資料庫 中,避免相同問題多次壓縮上傳。

簡單流程圖

使用

安裝環境和依賴

Python 2.7 環境,自行搜索

安裝 package,遇到問題可以看 TinyPNG – API Reference:

安裝 package,遇到問題可以看 LeanCloud Python Doc:

or

填寫你申請的相關 API KEY(在 文件中填寫)

LEANCLOUDAPIID = "yourleancloudappid" LEANCLOUDAPIKEY = "yourleancloudapikey"

獲取 TinyPNG api key

獲取 LeanCloud api key & id

編寫你的 Markdown 文件 並 引用本地圖片文件,如下圖所示:

使用自動化腳本:

python replaceimagein_md.py your.md output.md

執行完之後,本地圖片的引用將會被替換成壓縮後的圖片的外鏈( url ),如下圖所示:

小技巧

如果你是 Linux 或 OS X 用戶,你可以將該腳本放在一個固定的位置,然後在你的 或者 中添加類似下面的 alias:

然後在你需要使用腳本的時候,在任何地方打開終端,輸入 即可:

最後

感謝基友 Brucezz 在開發中提供的幫助。

項目 GitHub 地址:https://github.com/laobie/WriteMarkdownLazily

第一次發 Python 開源項目,本身 Python 就比較菜,如果你有任何建議或意見,請在 GitHub 提 issue 或 pr,或者評論給我留言,謝謝~

題圖:pexels,CC0 授權。


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

Django 如何實現全文檢索?
Python 非同步教程:Asyncio
如何正確閱讀計算機科學書籍?
如何寫出優雅的 Docstring?
一步一步搭建視頻聚合網站

TAG:編程派 |

您可能感興趣

Facebook、Google News、Twitter 為了吸引用戶注意力,都用了哪些「小心機」?
「RafflesMedicalGroup」引用區塊鏈技術在醫療健康領域的應用
Perl 引用
方法引用(Method reference)和invokedynamic指令詳細分析
go web template css js 靜態資源引用
為什麼AR-VR從業者不應引用Gartner技術成熟度曲線圖
Swift 自動引用計數(ARC)
Twitter 模仿 Snapchat?為吸引用戶,鞏固復甦之路
Mozilla推出了新的努力,以吸引用戶回到Firefox瀏覽器
日本亞馬遜Cyber Monday引入實時交易與網紅助推吸引用戶消費
華為nova 5 Pro全面曝光,線下青春靚機引用成功典範
Git 內部原理之 Git 引用
加急翻譯-Trump引用的中國格言
吸引用戶?買三星Galaxy Note 9送千元耳機
樂鑫連續三年被 Gartner 物聯網酷供應商榜單引用
華為為排隊購買iPhone的用戶提供移動電源來吸引用戶
iPad Pro 2019渲染圖曝光 浴霸三攝/強化AR技術引用
吳亦凡diss track引用孟郊的詩,如願將東方元素與嘻哈相結合
CINNO Research關於部分媒體報道中杜撰引用我司分析師觀點的澄清聲明
怎樣吸引用戶到店?Target、耐克和阿迪達斯的答案是「本地化」