微信公眾號的程式碼塊插入,及一鍵排版

顏家大少發表於2017-11-30

微信公眾號:顏家大少

本文所用排版工具:md.aclickall.com

. 微信公眾號的排版問題

前段時間,準備在微信公眾號上寫文章時,卻發現公眾號居然連個最基本的插入程式碼塊的功能都沒有。

很納悶,難道微信的開發者不用寫程式碼的?

吐槽歸吐槽,問題還得想辦法解決。然後就是各種百度,推薦最多的我想就是markdown here了。

markdown here的確是個好東西,但問題是它只是一個通用的markdown轉換外掛,並不是針對公眾號的,程式碼經markdown here轉換後,貼上到公眾號,最常見的問題是:

  • 程式碼換行錯了,不是同一行的程式碼卻擠在了同一行,可讀性很差;

  • 程式碼橫向不會滾屏了 ,也是直接擠到了下一行,iPhone,iPad的尤為嚴重;

  • 有些樣式丟失了;

  • 雖然可以自定義 css,但沒參考樣式,對普通的非前端開發者來說,不太好弄。

也嘗試了一些朋友專為公眾號做轉換的markdown工具,效果並不太滿意,不過真要感謝他們的,畢竟他們的工具還是提供了一些思路,於是就有了自己做一個工具的想法。

當然,想法是美好的,道路是曲折的。對於開發的過程,對於所遇到的坑,此處先省略100萬字......

好吧,接下來就是介紹我的markdown工具了

. Md2All

一個線上的Markdown轉換工具
網址:http://md.aclickall.com

  • 支援通用的Markdown語法,並對html,css樣式有很好的支援(請看網站示例的高階使用部分)

  • 微信公眾號 做了特別的優化:
    解決把內容貼上到公眾號時,圖片、或樣式丟失的問題;
    解決程式碼塊換行不正確,特別是iPone、iPad上不會滾動的問題;
    支援135,96等微信編輯器的所用樣式(如"標題"等),只需先點這些微信編輯器的"html"圖示,再把內容拷貝過來即可。

  • 對程式碼塊的顯示專門做了優化,幾十種超酷的程式碼風格任你選擇

  • 支援 "一鍵排版" 的css樣式模板選擇,和自定義css。你一點就知到^_^

  • 預覽ok後,只需要點“複製”按鍵貼上到公眾號即可。

  • 另外

後期會考慮增加對其它部落格平臺的支援.

. 介面預覽

先來張玉照吧:
這裡寫圖片描述

沒有花巧的東西,所有的功能一目瞭然!
支援邊編輯,邊預覽;支援左右滾動聯動。
提供80多種超酷的程式碼主題。

通常,公眾號多用於手機端顯示,所以一般選:程式碼緊湊,這個看各人喜歡吧。

"一鍵排版"同樣支援邊改樣式,邊預覽。
如下圖,我只是選了個css主題為:“標題顏色”,然後程式碼主題為:“xcode”,整篇文章的效果就不一樣了。

這裡寫圖片描述

. 程式碼塊展示

好吧,接下來還是好好展示一下我所說的超酷的程式碼風格吧,
下面是預設的“favorite"下的程式碼的顯示。

java的:

public class MyActivity extends AppCompatActivity {
@Override //override the function
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
OkhttpManager.getInstance().setTrustrCertificates(getAssets().open("mycer.cer");
OkHttpClient mOkhttpClient= OkhttpManager.getInstance().build();
} catch (IOException e) {
e.printStackTrace();
}
}
複製程式碼

javascript的:

function DisplayWindowSize(){
var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
}
複製程式碼

css的:

p {
margin: 1.5em 0px;
}
h1,h2,h3,h4,h5,h6 {
margin: 1.5em 0px;
font-weight:bold;
}
複製程式碼

html的:

<div >
<span>abc<input id="code" type="checkbox" name="code" ></input></span>
<textarea id="editor" rows="100" cols="100"></textarea>
</div>
複製程式碼

支援任意的語言,並能自動識別,有需要時也可直接指定

還有更牛的地方是,如果你對上面的風格都不滿意時,你甚至可以自定義自己的程式碼高亮的樣式,請參考:"一鍵排版"中的"程式碼塊樣式“

. 另外

如果有朋友只用到此工具的程式碼塊部分,也可以先用此工具把自己的程式碼塊渲染好,然後一段段“複製”插入到自己的公眾號文章中。

. 最後

此工具目前還在開發階段,很多功能正在完善中,對瀏覽器的相容性未做全面的測試,所以建議先用Chrome瀏覽器作編輯。


如對此工具有任何建議,歡迎在公眾號:“顏家大少”上留言:
這裡寫圖片描述

相關文章