之前在 MWeb 中打開非文檔庫中的 Markdown 文檔,如果文檔中有引用到本機圖片,是沒辦法在 MWeb 中顯示出來和預覽的。這是因為 Apple 規定在 Mac App Store(MAS) 上的軟件,都不能對軟件自己的沙箱之外的文檔進行任何操作,連讀取都不能,除非用戶明確授權。而用戶授權的方式是使用打開、保存對話框。比如說你用 MWeb 打開一個 Markdown 文檔,那么 MWeb 就能得到讀寫這個文檔的權限。再比如說你用 MWeb 導出為 HTML 功能,在保存為對話框中選擇一個要導出到的文件夾,那么 MWeb 就能得到讀寫這個文件夾的權限。
正因為這個原因,所以,一般情況下,如果一個軟件有 MAS 版,都建議用 MAS 版,特別是國內大廠的軟件,即使功能上少了點。
這次 1.4 版新增可以引入文件夾到 MWeb 中管理的功能,就是為了解決用 MWeb 打開非文檔庫中的 Markdown 文檔無法用拖拽和粘貼插入圖片,預覽時無法顯示引用的本機圖片的問題。然后 1.4 版還對 Octpress、Jekyll 等靜態博客進行了優化。在用 MWeb 編輯 Octpress、Jekyll 的 Markdown 文檔時,也可以在編輯器中拖拽或粘貼插入圖片並顯示在編輯器中和進行實時預覽了。
特別說明的是:1.4 版的實時預覽增加了同步滾動功能!然后我覺得目前同步滾動功能是相當好用了,所以在這里特別說明一下。
MWeb 引入文件夾功能介紹
為了方便使用引入文件夾功能,MWeb 的外部模式新增了一個快捷鍵:CMD + E
。任何情況下按 CMD + E
即可打開外部模式,在外部模式中就可以看到所有引入的文件夾了。同樣提示一下 MWeb 的文檔庫模式的快捷鍵是:CMD + L
。如果你不喜歡用快捷鍵,也可以用菜單: View
- Open External
打開外部模式。
點軟件左下方的 +
- Add External Source...
,然后在對話框中選擇要引入到 MWeb 的文件夾,再點 Choose
即可。還有更多的設置如下圖。

引入后,在最左邊那欄選擇文件夾,中間那欄則會顯示該文件夾下的 Markdown 文檔。如下圖顯示,引入后的文檔可以方便地拖拽插入圖片和附件,下圖是增加了一個 MP3 和一張圖。然后需要說一下的是,點擊軟件的標題欄可以修改文檔名稱和為文檔增加 Tags,如下圖。

然后實時預覽、導出為HTML/PDF、發布到 Wordpress 等文檔庫中可以用的一些功能在外部模式也是可以使用的。同樣,發布到 Wordpress、新浪博客等支持 Metaweblog API 的服務時,文檔中的圖片也是會一起發布的。
對 Octpress、Jekyll 等靜態博客優化介紹
如上邊所寫,MWeb 引入的文件夾的 Markdown 文檔插入圖片的保存位置設置有兩個選擇:Relative 和 Absolute。
Octpress、Jekyll 等靜態博客因為可以自定像 http://域名/2015/3/the-blog-post/
這樣的網址,所以在增加圖片時,都是用 /images/pic.jpg
這樣的絕對路徑。然后圖片要放在 source/images
文件夾下。
正因為這個原因,引入 Octpress 等靜態博客的文件夾到 MWeb 時,請引入 source
文件夾。引入后你可以修改 Display Name
來標識。最重要一點,Media Save Path
請選擇 Absolute
。
Octpress 的文檔一般都在 _posts
這個資料夾下,在 MWeb 最左邊那欄選擇 _posts
文件夾,在中間那欄選擇要編輯的文檔即可。這時的文檔已經是支持拖拽插入圖片和實時預覽了。然后無論你編輯 source
下的那個文檔,你所插入的圖片都會保存在 source
下的你在 Media Floder Name
中設置的文件夾下。
如果要新增文檔,你可以用 MWeb 中的新增文檔功能(點軟件中間那欄搜尋框右邊的新增按鈕),也可以用 Octpress 等所帶的命令行新增文檔(推薦)。你用命令行新增后,MWeb 會在列表中自動顯示你新增的文檔。然后刪除文檔、新增文件夾等,也會自動更新顯示的,總之 MWeb 能偵測到你引入的文件夾的內容的變化而自動更新顯示。所以 MWeb 沒有做 刷新
這個功能。
引入 Otcpress 的 source
文件夾的屬性設置、新增附件、圖片效果,如圖:

在 MWeb 中實時預覽,MWeb 會對 Otcpress Markdown 文檔中的 Meta 設置轉成代碼,如圖:

用 Octpress 的網站預覽功能,在 Safari 中查看的效果,如圖:

其他如 hexo、Farbox 等引入 MWeb 中進行管理我想也差不多,不再多介紹了。引入文件夾比用 MWeb 文檔庫模式好的地方是同步和協作都比較方便。然后說明一下 MWeb 1.4 版現在還沒有提交到 MAS 的,我還要多測試幾天才會提交。所以看到這篇文章的朋友,如果有什么的建議,可以跟我說,這樣就可以及時在提交前改進了。
然后 1.4 版還對 MWeb 靜態博客功能進行了增強,我也正在考慮介紹文章怎么寫,初步計划是寫兩篇,一篇是介紹功能,一篇是再做一個生成 Apple 播客 RSS 的例子。最晚的話,明天應該會把文章發出來。