良好的寫作工具應(yīng)該鼓勵寫作和排版這兩個過程完全獨立,互不干擾骡楼,更不能互相破壞熔号。寫作就是寫作,你要考慮的是寫什么鸟整,而不是樣式(樣式也重要引镊,但那是另一回事)。
此外吃嘿,或許大多數(shù)人早都習(xí)慣了用 Markdown 寫作(這是一種帶格式標(biāo)記的純文本祠乃,好比輕量級的 HTML 語法)。它只是文本兑燥,因此你可以在任何系統(tǒng)上用任何喜歡的編輯器寫作亮瓷。而大多數(shù)寫作平臺也支持 Markdown,文章寫好了之后「一鍵發(fā)布」即可降瞳。除非有樣式需求嘱支,否則你幾乎意識不到排版的存在。
總之挣饥,這個流程的感覺就是簡潔除师、清晰。
然而自從寫公眾號扔枫,排版的問題一直讓我頭疼汛聚。官方編輯器完全不支持 Markdown,也沒有 iPad app短荐,只能在后臺用網(wǎng)頁編輯倚舀。而網(wǎng)頁很不穩(wěn)定,我寫《圣約》的書評忍宋,正文大概一萬多字痕貌,我粘貼到網(wǎng)頁中,瀏覽器立刻崩潰了糠排。另外操作也很麻煩舵稠,以插圖為例,本來寫文章的時候圖片已經(jīng)加好了,由于不能直接發(fā)布哺徊,我需要先把文章中的圖片全部上傳到后臺的素材庫室琢,然后在正文中一張一張選擇,如果文章有很多圖唉工,這個過程既繁瑣又容易出錯研乒。再說,不管做什么淋硝,「費(fèi)二遍事」的感覺太差了。
因為官方的孱弱宽菜,第三方編輯器大行其道谣膳,然而它們大多數(shù)長這樣:
滿屏的分心內(nèi)容,完全不符合寫作規(guī)律铅乡。也許它能讓你制作出吸引眼球的排版继谚,但是對于文字創(chuàng)作,是一種干擾阵幸。
工具的區(qū)別花履,反映的是觀念的差異,因此我只好放棄此類工具挚赊。
Markdown 轉(zhuǎn)換器
當(dāng)然頭鐵的人還是有的诡壁,就是要用 Markdown 怎么辦?我搜索了一下荠割,有不少優(yōu)秀的在線 Markdown 轉(zhuǎn)換工具妹卿,如例11,例22蔑鹦。
它們的基本思路是:
先用 Markdown寫作夺克,不必操心發(fā)布的問題。
寫完之后嚎朽,把文章粘貼到在線編輯器铺纽,它有一套定義好的 HTML + CSS 樣式,可以制作出精美的樣式哟忍,然后再把 HTML 轉(zhuǎn)換為富文本狡门。
一鍵粘貼到后臺,發(fā)布魁索。
然而對我來說融撞,這依然有一個問題。那就是這些工具只能處理文字粗蔚,而我對文字的樣式要求不高尝偎,你看《紐約書評》這些知識性的雜志,它沒什么漂亮的排版,實際上它也不需要致扯。我最大的目的是希望能快速添加圖片肤寝,而無論什么工具,圖片還是需要手動添加到后臺或第三方圖床抖僵。
因此這些工具我也用不到鲤看。
沒有理想的現(xiàn)成工具,我只好自己研究了耍群。方法依然是依靠我最喜歡的 Shortcuts义桂,經(jīng)過幾天的試驗,我發(fā)現(xiàn) Shortcuts 結(jié)合公眾號 API 可以完美實現(xiàn)我的要求蹈垢。
本文將結(jié)合我使用的工具以及寫作習(xí)慣慷吊,介紹這個方法。
流程
Content Blocks
目前曹抬,我寫文章主要用 iPad 版本的 iA Writer(我沒有電腦溉瓶,只用 iPad),它 和 Ulysses 應(yīng)該是目前最好的寫作環(huán)境谤民。下圖是我上一篇文章 iOS Shortcuts 教程之照片批量命名大法 的截圖:
界面相當(dāng)?shù)暮啙嵮吣稹⒏蓛簟?/p>
iA Writer 有一個很有用的功能,叫做 Content Blocks张足,可以用來嵌入圖片触创,舉例來說,注意上圖中有一個路徑:/Assets/Kindle.jpeg
Assets 是我在每篇文章底下創(chuàng)建的目錄兢榨,專門保存圖片嗅榕。當(dāng)我要加圖的時候,我可以把圖片放到 Assets 中吵聪,改名凌那,再在正文里用如上格式引用。這就是一個 Content Block吟逝,它的意思是說帽蝶,生成最終文章的時候,iA Writer 會從這個目錄中找到這張圖片块攒,放到文章里励稳。
這是那篇文章的 Assets 目錄(左側(cè)):
然而,寫作的過程凝神靜心囱井,怎容半點打擾驹尼?更別提什么移動圖片、改名這通冗長的操作了庞呕。因此新翎,我往往先只寫上這么一句話(我有一個專門 Shortcut程帕,自動幫我填上 /Assets/ 以及 .jpeg),根本連圖片都不需要地啰,在文字一氣呵成之后愁拭,再添加圖片。而加圖的方法又如我那篇文章所述亏吝,我也會用專門的 Shortcut 自動完成岭埠,速度非常快蔚鸥。
公眾號 API
假設(shè)現(xiàn)在文字寫好了惜论,圖片也都放在 Assets 中了。如果在本地預(yù)覽株茶,那就是一篇圖文并茂的文章了来涨。然而,如前所述启盛,你不能把它「一鍵發(fā)布」到公眾號。因為需要先把 Markdown 轉(zhuǎn)換為富文本技羔,而且本地圖片也不能直接復(fù)制粘貼到后臺僵闯,這是問題的關(guān)鍵。
由此我想到藤滥,能不能寫一個 Shortcut鳖粟,讓它代替我手動傳圖,以及往文章里加圖呢拙绊?
我研究了一下公眾號開發(fā)的文檔向图,發(fā)現(xiàn)了這些 API:
技術(shù)性的細(xì)節(jié)我也不清楚,一般我都是現(xiàn)學(xué)現(xiàn)用标沪。簡單來說榄攀,API 就是服務(wù)的接口,通過 API金句,你可以使用這些服務(wù)而不必打開網(wǎng)頁操作檩赢。打個比方,你要給朋友送個禮物违寞,你可以親自送到朋友家里贞瞒,也可以委托快遞公司。后者就是一種 API趁曼,你只需要和朋友說好這個「接口」军浆,而不必自己跑腿。當(dāng)然挡闰,快遞是收費(fèi)的乒融,而很多網(wǎng)絡(luò)服務(wù)的 API,都是免費(fèi)的。
具體在本例中簇抵,通過「新增永久素材」這個 API庆杜,圖片會被直接添加到后臺的素材庫中(一定要用「新增永久素材」,如果「新增臨時素材」碟摆,不會加到素材庫)晃财,并返回一個圖片的 url。
經(jīng)過我的測試典蜕,除了直接發(fā)文章的 API 沒有成功(提示我達(dá)到了單日 API 請求上限断盛,我懶得再研究了),其余功能都可用愉舔。
一鍵傳圖 Shortcut
這樣思路就清楚了:
- 圖片推送到公眾號后臺
- 推送成功后钢猛,返回圖片的 url
- 用這個 url 替換文章中同一張圖片的本地路徑
- 再把 url 封裝為 HTML
- 循環(huán)步驟 1-4,上傳 Assets 中所有圖片轩缤,這一點也是得益于 Content Blocks 功能命迈,文本和圖片可以分別放在不同位置。
下面是完整的 Shortcut:
執(zhí)行這個 Shortcut 之前火的,先復(fù)制全文到剪貼板(記住壶愤,圖片只是一句話,不是真的圖馏鹤,因此復(fù)制的就是一段純文本)征椒。
- 預(yù)覽,檢查復(fù)制的文本是否正確湃累。
- 公眾號 API 要求一個 Access_Token勃救,正如開門要用鑰匙,這是一串很長的字符治力,獲得 Access_Token 很簡單蒙秒,官方文檔有介紹,這里何必贅述琴许。注意 Access_Token 兩小時刷新一次税肪,同時為了實現(xiàn)同一個 Access_Token,各個 Shortcut 共享榜田,我把它保存在 weixin_token.txt 中益兄,就像這里顯示的,Shortcut 執(zhí)行的時候箭券,會讀這個文件净捅,獲得 Access_Token(嚴(yán)格來說,這一步應(yīng)該加一個檢查機(jī)制辩块,即如果獲取 Access_Token 失敗蛔六,Shortcut 報錯荆永,但在實際中,因為好幾天才會用一次国章,Access_Token 已經(jīng)過期具钥,因此我總會先刷新再操作,所以驗證部分我就免了)液兽。
- 這一步選擇 Assets 中的圖片骂删,全選即可。
- 進(jìn)入循環(huán)
- 首先把圖片的名字變成 /Assets/圖片名字.jpeg四啰,即 Content Blocks 格式宁玫,等會用 url 把它替換掉。
- 調(diào)用 API 上傳圖片柑晒,返回一個 dictionary(詞典)欧瘪,這里的「url」是詞典的「key」,它的「value」就是地址匙赞,即 http://……
- 把獲得的 url 封裝為 HTML
- 用 7 替換 5
- 循環(huán)結(jié)束佛掖,新文本復(fù)制到剪貼板,此時所有圖片 Content Blocks 全部被網(wǎng)址替換涌庭。例如苦囱,之前例子中的 /Assets/Kindle.jpeg,修改后變成:
<figure><img alt="" src="http://mmbiz.qpic.cn/mmbiz_jpg/2ZPG1IzsVY1Hq4UcS6yZpICWnesTT4k82UpDnWcAHhqvYG86OHe3EULyf1mI8YLOEDw5kYdb6WNic6rxpdV2WLw/0?wx_fmt=jpeg" style=width:100%;"/></figure>
這時候脾猛,回到 iA Writer,粘貼覆蓋原文就好了鱼鸠。
為了更清楚地說明效果猛拴,我錄了一段視頻。先從 iA Writer 復(fù)制蚀狰,然后用 Shortcut 獲得圖片網(wǎng)址愉昆,最后再粘貼回 iA Writer,整個過程大概一分鐘(視頻這里顯示有問題麻蹋,請移步公眾號文章《Shortcuts 教程:一鍵搞定公眾號圖片排版》)跛溉。
下一步做什么
這時候,你可以把文章(還是 Markdown扮授,圖片是 HTML)導(dǎo)出為 HTML芳室。然后再把 HTML 轉(zhuǎn)換為富文本,直接粘貼在官方編輯器即可刹勃。
如果嫌樣式不好看堪侯,可以自己修改 HTML,然后寫一個腳本荔仁,以后每篇文章都做同樣修改伍宦。如果不會寫芽死,可以用前面提到的在線轉(zhuǎn)換工具,再去后臺粘貼次洼。
前面說過关贵,這些工具無非就是應(yīng)用一套定義好的 HTML + CSS。因此卖毁,更好的 DIY 方式是揖曾,自己定義一個公眾號專用主題,iA Writer 以及 Ulysses 等編輯器都支持自定義主題模版势篡,再加上本文的 Shortcut翩肌,雖說不等于一鍵發(fā)布,但這已經(jīng)是我能想象到的最效率的方法了禁悠。
垃圾中的霍比特人
《魔戒》里有一句話:
Hobbits really are amazing creatures, as I have said before. You can learn all that there is to know about their ways in a month, and yet after a hundred years they can still surprise you at a pinch.(譯:霍比特人真的很神奇念祭,你能在一個月之內(nèi)熟悉他們的所有習(xí)性,然而即使過了一百年碍侦,他們依然能給你驚喜粱坤。)
Shortcus 就是這樣的應(yīng)用,自從它問世就不斷讓我驚喜瓷产,讓我體會到它的潛力無限站玄。另外隨著 iOS/iPadOS 不斷進(jìn)化,加上 iA Writer 等簡潔而又強(qiáng)大的 app(除了 Content Blocks 和支持自定義主題之外濒旦,iA Writer 還有很多高級功能株旷。例如,它可以和 GitHub 同步尔邓,實現(xiàn)版本控制晾剖。在我印象里,iA Writer 曾經(jīng)是唯一支持這個功能的編輯器)梯嗽,就我個人而言齿尽,iPad 已經(jīng)是生產(chǎn)力最高的平臺了。
然而另一方面灯节,很多產(chǎn)品依然相當(dāng)糟糕循头,堪稱「垃圾中的霍比特人」。你第一眼看到它炎疆,覺得很爛卡骂,用了很久之后才知道——它其實更爛。