chevereto圖牀的使用及與markdown關聯

在上一篇博客中,我已經搭建好了chevereto圖牀。最初的目的就是在markdown中使用圖片。因爲之前使用七牛的圖牀失效了。

現在圖牀已經搭建好了,參照我的這篇博客,我們來利用chevereto的api以及MarkdownPicPicker工具來實現圖片的自動上傳。

Chevereto API

API的說明可以參考官方文檔,不過官方文檔有點簡單。這裏給出我的使用方式。

按照文檔中的說明,我們最好採用“POST”的形式來傳數據。默認的上傳url爲:
http://mysite.com/api/1/upload

通過這個地址上傳的圖片會標記爲Guest上傳的,如果想要傳到指定賬戶上,官方給出的回答是自己修改route.api.php。很神奇,不過能解決了。如果用戶爲foo,那麼要這樣操作:

  • 複製route.api.phproute.fooapi.php
  • 將其中函數CHV\Image::uploadToWebsite($source); 改爲CHV\Image::uploadToWebsite($source,'foo');即可
  • 上傳url變爲:http://mysite.com/fooapi/1/upload

下面是需要確定POST傳遞的數據,官網沒有給出說明,通過閱讀源碼,應該是下面的結構:

data = {
    "key": "API key",
    "source":url,
    "action":"upload"
}

其中,source是圖片的網址,或者是本地圖片轉換爲base64之後的結果。對於python,可以使用這個函數轉換:

import base64

def tobase64(filename):
    with open(filename, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read())
    return encoded_string

這樣,我們就可以通過POST提交圖片了。提交之後返回JSON格式的數據,其中url可以通過JSON的result_dict.get('image',{}).get('url','') 讀取出來。

MarkdownPicPicker

根據以上原理,在MarkdownPicPicker的基礎上增加了相應的uploader,地址.
已經提交給作者,等待作者生成相應的exe。

Pyinstaller

本來我是準備自己生成exe,可惜使用pyinstaller得到的exe都太大了。在虛擬環境下得到的也很大,希望知道的朋友給教一下。

bat文件

一個變通的方法是使用bat文件,這樣就可以配合AutoHotKey使用。這裏我的環境是,使用了Anaconda,需要使用activate 函數才能進入python環境,相應的bat文件爲:

@CALL activate
python MarkdownPicPicker.py
exit

小結

到這裏就可以使用chevereto圖牀進行markdown的寫作了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章