1. 程式人生 > >【原創】MAC利用AUTOMATOR製作右鍵選單一鍵獲取MARKDOWN圖片外鏈

【原創】MAC利用AUTOMATOR製作右鍵選單一鍵獲取MARKDOWN圖片外鏈

PicUploader PicUploader 是一個用php編寫的藉助Mac的『自動操作/Automator』來幫助你快速上傳你的圖片到七牛雲/騰訊雲/網易雲/百度雲/阿里雲/京東雲/sm.ms並自動把地址拼接成markdown格式放到剪貼簿的小工具(故只有MacOS使用者能使用),配置完成後,要獲取一個可用於markdown的圖片外鏈只需要:右擊圖片——點選你的自定義選單——到markdown編輯器中貼上! PicUploader demonstration.gif

一、 註冊儲存伺服器賬號

目前支援七牛雲/騰訊雲/網易雲/百度雲/阿里雲/京東雲/sm.ms七種,以下服務選擇一種就可以!

1. 註冊七牛雲

2.註冊騰訊雲

  • 點選前往騰訊雲 騰訊雲暫時未寫註冊教程,其實也用不著什麼教程,聰明的你自己看著隨便點都能點出來啦。

3.註冊網易雲

  • 點選前往網易雲 網易雲暫時未寫註冊教程,其實也用不著什麼教程,聰明的你自己看著隨便點都能點出來啦。

4.註冊百度雲

  • 點選前往百度雲 百度雲暫時未寫註冊教程,其實也用不著什麼教程,聰明的你自己看著隨便點都能點出來啦。

5.註冊京東雲

  • 點選前往京東雲 京東雲暫時未寫註冊教程,其實也用不著什麼教程,聰明的你自己看著隨便點都能點出來啦。

6.註冊阿里雲

  • 點選前往阿里雲 阿里雲暫時未寫註冊教程,其實也用不著什麼教程,聰明的你自己看著隨便點都能點出來啦。

7.無需註冊直接使用sm.ms

  • 直接使用是上傳到sm.ms,我這裡剛開始是可以,後來上傳一直超時(如果小齒輪一直轉個不停,基本上就是超時了),感覺是被封ip了,後來用手機開流量可以上傳,大家用的時候能否上傳我也不確定。(注:後來過幾天又自動好了)
  • 注意sm.ms單張圖片不能超過5M,但由於我有做壓縮,一般不會超過5M,如果上傳後貼上沒有內容,請檢視日誌,很有可能是這張圖片壓縮後超過了5M,或者是超過5M的gif圖(gif圖不壓縮)
  • 如果粘貼出來的內容以下內容,那就是無法上傳到sm.ms了,只能換七牛啦。
Fatal error: Uncaught GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 10003 milliseconds with 0 out of 0 bytes received (see http://curl.haxx
.se/libcurl/c/libcurl-errors.html) in /Users/bruce/www/personal/PicUploader/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php on line 185 GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 10003 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in /Users/bruce/www/personal/PicUploader/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php on line 185 Call Stack: 0.0015 390496 1. {main}() /Users/bruce/www/personal/PicUploader/index.php:0 0.0128 1021472 2. PicUploader\Upload->getPublickLink() /Users/bruce/www/personal/PicUploader/index.php:27 0.0128 1021472 3. PicUploader\Upload->uploadToSmms() /Users/bruce/www/personal/PicUploader/Upload.php:83 0.6283 1675632 4. GuzzleHttp\Client->request() /Users/bruce/www/personal/PicUploader/Upload.php:211 10.6451 2047552 5. GuzzleHttp\Promise\RejectedPromise->wait() /Users/bruce/www/personal/PicUploader/vendor/guzzlehttp/guzzle/src/Client.php:131

二、下載使用

1.下載PicUploader

  • git clone [email protected]:xiebruce/PicUploader.git
  • 直接下載 PicUploader 注意下載後把它解壓放到一個相對穩定一點的目錄,不能放在『下載』裡面,因為這樣你可能隨手刪除了。(以後最好不要移動,否則要改配置比較麻煩)

2.填寫配置

  • 把PicUploader/config/config.php檔案command+D複製一份,命名為config-local.php,然後在config-local.php中修改你的配置(配置你的七牛雲/騰訊雲/網易雲/百度雲/阿里雲/京東雲其中一個)即可。
  • 如果使用sm.ms,那就不需要修改配置了,直接使用!
  • 以配置七牛雲端儲存為例,在config-local.php檔案中找到以下程式碼,填好AK/SK/bucket/domain四個引數,如果不知道引數怎麼來,請檢視註冊七牛雲物件儲存教程
//Qiniu Cloud
'qiniu' => [
    //七牛雲AppKey
    'AK' => 'ASGZ******************************o0AoF',
    //七牛雲AppSecret
    'SK' => 'UoC******************************JylkEy',
    //七牛雲物件儲存空間名
    'bucket' => 'm*****n',
    //七牛雲外鏈域名
    'domain' => 'http://pe5s*********clouddn.com',
    //七牛優化引數,直接加在連結後面,但是不會優化原圖,只會優化輸出的圖片,如果不需要可以不配置該項(即註釋掉)
    // 'optimize' => '?imageMogr2/thumbnail/800x/strip/quality/80',
],
  • 繼續填寫配置,在config-local.php中搜索『logPath』,把它箭頭右邊的『/Users/xxxx/Desktop』中的『xxxx』改成你自己的使用者目錄名,使用者目錄怎麼找?請求看下圖:
'logPath' => '/Users/xxxx/Desktop',

如下圖,在訪達中隨便開啟一個目錄,比如我開啟的是『下載』目錄,看下邊路徑中有個小房子��旁邊的名字即為你的使用者目錄名 Xnip2018-09-08_00-23-46.png

三、使用『自動操作/Automator』新建一個workflow服務

1.開啟『自動操作/Automator』

或者像下面gif圖演示的那樣用『聚焦搜尋』來開啟

2.按下圖操作

注意每一個需要選擇的地方都不要選錯,其中最後一步儲存的檔名,將出現在右鍵選單上,你可以自己取一個自己喜歡的名字,比如『獲取Markdown外鏈』。 新增一個服務.gif

export LC_CTYPE="zh_CN.UTF-8"
/usr/bin/php /Users/xxxxx/www/PicUploader-master/index.php "[email protected]" | pbcopy

注意:

  • 注意/usr/bin/php路徑,最好在終端用『which php』來檢視它的路徑,確認一下是否正確。
  • 把/Users/xxxxx/www/PicUploader-master/index.php 的路徑換成你自己的index.php路徑

3.試試右擊任意圖片

看,最後一個按鈕是不是就是你剛剛儲存的Services名稱?什麼?你電腦上沒看見?那是因為你電腦上超過5個這種類似的選單,它就自動收到二級選單下了,其實很多選單根本用不到,你可以到系統偏好設定鍵盤快捷鍵服務(Services)裡面找到對應的按鈕,把它們的勾去掉就行。 Xnip2018-09-07_23-58-26.png

三、開始使用

1.右擊任意一張圖片

如果一切正常,你對著圖片右擊,並點選右鍵選單中的獲取Markdown連結後,你將會在Mac頂部工具欄那裡看到一個小齒輪在轉動,說明Services正在執行,圖片正在上傳,當小齒輪停止轉動(不需要等它消失),即說明上傳已經完成,同時右上角會彈出通知,此時剪貼簿已經有你上傳的圖片地址了,直接到markdown編輯器command+v貼上試試吧

2. 為你建立的服務建立快捷鍵

系統偏好設定鍵盤快捷鍵服務(Services)→找到你的自定義選單新增快捷鍵即可,當然喜歡用滑鼠搞定的童鞋也可以不建立。

3.檢視上傳日誌

  • 因為在配置檔案中的 ‘logPath’ => ‘/Users/xxxx/Desktop’ 配置了上傳日誌儲存到桌面,所以不出意外,你的桌面裝會有一個如下圖所示的資料夾,這裡儲存了你上傳的圖片的Markdown外鏈地址,你在七牛雲(或者其他伺服器)是能找到對應的圖片的,如果你覺得哪張圖片不想要,可以在對應伺服器中把它刪除了。 Xnip2018-09-08_00-34-41.png
  • 這個日誌檔案也是markdown格式,所以你可以用mweb之類的markdown編輯器檢視它,但是有個問題當你用Mweb開啟它之後,如果再上傳一張圖片,這個檔案裡肯定會增加一條你上傳的記錄,但是在Mweb中卻不會重新整理,必須關掉重新開啟才能看的到,這個特別麻煩,建議用typora這個軟體來開啟日誌,這個會自動重新整理,而且免費。
  • 日誌是倒序新增的,即最新上傳的圖片在最前面,方便一時忘了貼上,可以找到地址,因為在伺服器中檔案多的話比較難找到。

四、注意事項

1.關於config裡的imgWidth選項

  • 由於各個雲伺服器免費空間有限(七牛雲免費10G,好像也不小了哈哈),而且大檔案載入特別慢,所以有些大圖片需要壓縮後上傳,由於試過按質量壓縮對圖片影響較大,所以選擇按寬度壓縮(高度會保持等比例適應)。
  • 如果要設定壓縮圖片,建議imgWidth設定為800或1000,別擔心解析度低的圖壓縮後看不清,即使設定了該選項,解析度比較低的圖片也是不會被壓縮的。
  • 由於gif圖片實際上是由很多張圖片組合在一起的,它的壓縮比較麻煩,需要Mac裝一些額外的庫,所以暫時選擇不壓縮gif(也就是說即使你設定了imgWidth為800或者1000,也不會壓縮gif圖片)
  • 返回的圖片地址中『?imageMogr2/thumbnail/800x/strip/quality/80』這部分是七牛雲的壓縮引數(如果你配置了的話),也就是說這部分引數你可以去掉直接檢視你上傳的圖,其中thumbnail/800x表示設定寬度為800,strip表示去除一些exif資訊以減小圖片大小,quality/80表示設定圖片質量為原來的80%,其實還可以在最後加個/format/webp這樣圖片載入會快很多,因為webp能在最大程度還原圖片清晰度的同時把圖片體積降到最小。

2.安裝管理工具

因為圖片上傳到七牛雲後,在七牛的後臺實在無法直觀的瀏覽和管理圖片,如果你希望方便管理你的圖片,可以下載兩款谷歌瀏覽器外掛:

3.上傳完成通知問題

  • 一般情況下,上傳完成後右上角就會彈出通知,如果你沒有彈出,有可能是因為系統沒更新的問題,像我的系統版本一直是10.13.1,我的就不彈,但是我讓別人試就會彈。
  • 如果你的系統也沒更新,那有可能也不會彈通知,那就只能看工具欄上的小齒輪,小齒輪停止轉動說明上傳完成(不需要等小齒輪消失,停止轉動即已完成),然後就可以去markdown編輯器貼上了。

五、更新日誌

2018-09-08 v2.2.1

  • 解決圖片檔名為中文時貼上亂碼或者無法貼上的問題
  • 修改了README.md中說的不清楚的地方,部分英文選單改用中文

2018-09-06 v2.2版本

  • 新增支援百度雲
  • 新增支援京東雲
  • 新增支援阿里雲

2018-09-06 v2.1版本

  • 新增支援網易雲
  • bug fix

2018-09-06 v2.0版本

  • 完全重構程式碼
  • 新增支援騰訊雲
  • 新增上傳日誌路徑配置(可配置到桌面方便隨時檢視)

2018-09-01 v1.1版本

  • 新增mardownWithLink連結型別(點選圖片後能跳轉到圖片連結)
  • fix bug log時間設定成東八區

2018-08-30 v1.0版本

由於個人寫markdown需要,目前現有的一些筆記軟體都因為各種原因傳圖並不是很方便,於是寫了這個小工具,想到可能有跟我一樣需求的童鞋,就順手發出來供有需要的童鞋使用,如有處理不好的地方在所難免,希望大家能批評指正!

六、參考資料