如何優雅的寫CSDN博客

  馬上1w訪問量了,我也咕了半年沒發博客了。其實不是我咕了,而是我實在苦於CSDN的博客發佈。

  當我還是青澀的大一小鮮肉的時候,我曾嘗試用CSDN的富文本編輯器寫博客。富文本是由微軟開發的跨平臺文檔格式,word也是它家的,所以只要是會用word的人都會用富文本。

  但是這讓我非常不舒服,因爲寫文章需要在瀏覽器中寫,這就存在兩個主要問題:1. 可能因爲網絡問題沒用及時保存文件;2. 明明是我的文章,我卻不能在本地瀏覽。於是我開始在本地寫博客。

  在電腦上寫文章,第一個提到的肯定是家喻戶曉的word。word在熟悉了頁面和圖片的佈局後,還是可以非常高效的碼字的,問題是如何將word內的內容原封不動的發佈到CSDN?首先想到的是直接複製,**現在直接複製可以上傳圖片了!**而我在半年前試過是不行的,它頂多只能拖動本地的圖片上傳。即使現在方便了,但是它不會保存圖片的佈局(如居中)和縮進,還是需要手動調節。(我當時甚至嘗試過輸出pdf避免排版,但是會非常的耗流量。)

  既然CSDN有markdown編輯器,我也開始學習用markdown來寫博客了。相信很多人會和我剛開始學md語言一樣,覺得用代碼表達樣式比較麻煩、低效,需要記很多東西。事實上,這只是熟練的問題。這裏推薦一下Typora,它可以在菜單找到特定的樣式,當你不記得樣式對應的代碼時可以直接通過菜單生成,用多了就不知不覺會了。

  但是我發現,用Typora寫的markdown博客還是不能直接發佈到CSDN。Typora中的圖片存的是本地的路徑,其在顯示圖片時直接根據路徑讀取圖片文件進行渲染,因此你直接複製到CSDN的是一個你的本地路徑,瀏覽器也不會根據這個本地路徑去讀取你本地文件。

  我上網查了一下本地博客直接上傳到CSDN的方法,大致只有這兩種方法:1. 將本地的圖片自動上傳到圖站,讓CSDN直接根據圖片的鏈接獲取2. 使用Base64對圖片進行編碼。第一個方法相對簡單,但是可能會存在需要付費圖片被圖站刪除的問題,其中圖片丟失是最難受的,很多博客都有這問題,讓讀者讀起來非常不舒服。第二個方法吸引了我,我嘗試在線將圖片轉爲Base64編碼,把結果複製到CSDN的markdown編輯器上,圖片居然真的顯示了!

  於是,我只需要寫一個程序,將md文件中的圖片找出來,轉爲Base64編碼就可以了。但是後面我發現,雖然CSDN和Typora都是markdown編輯器,但是它們還是有一定的區別。

Typora轉CSDN

1. 圖片轉換

  Typora用以下兩種方式表示圖片:

![image](C:\Users\xxx.png)
<img src="C:\Users\xxx.png" alt="xxx" style="zoom: 67%;" />

  第二種格式在修改圖片的尺寸時會出現

  而CSDN用Base64編碼後的圖像是下面的格式:

<img src="data:image/png;base64,圖片Base64碼" />

  圖片轉換只需要從圖片路徑讀取圖片,然後進行改尺寸、加水印等操作,轉爲Base64編碼,最後套上上面的格式就可以了。

  水印參考:java實現給圖片添加水印

2. 居中佈局

  Typora中的圖片是默認居中的,而CSDN默認是左對齊的。顯然居中會讓人讀起來更舒服。

  由於CSDN的markdown是基於html的,可以用html的段落進行居中:

<p align=center>
	<img >
</p>

3. 縮進轉換

  Typora、word都可以用Tab鍵進行縮進,其對應的字符是’\t’。但是CSDN中不能用這個進行縮進,需要用的是"&emsp;"代替’\t’。這應該是網頁的規定,總之進行替換就能實現這個功能。

  參考:CSDN-markdown 首行縮進的快捷實現: 全角空格配合

4. 鏈接轉換(未實現)

  Typora中的鏈接會自動識別,而CSDN中必須用[https://www.baidu.com/](https://www.baidu.com/)表示才能用藍色下劃線樣式展示,並按住Ctrl+點擊可以直接打開鏈接。

5. 頁內跳轉(未實現)

詳見:Typora、CSDN和GitHub的頁內跳轉

程序誕生的一刻就廢棄了

  當我花了兩天時間寫代碼一天時間做UI後,這個簡陋的程序終於是完成了

​  效果還是不錯的,用Typora打開的效果跟源文件是一樣的,複製到CSDN後格式也完全一樣,再也不用手動將每個圖片居中了!

  但是我發現無論是直接複製還是使用CSDN的導入鍵,當圖片一多,文章就不完整了。我才知道,CSDN居然限制了發佈的文本的大小。😥

總結

  現在CSDN支持word直接複製了,當圖片較多的時候,還是用富文本編輯器比較方便。如果沒啥圖片,習慣了md,又不想排版,可以試試我這個然並卵的程序😭。
  說到底,還是markdown比較合適程序員寫博客,word不能設置代碼塊。希望CSDN能支持md文件一鍵導入吧。

下載地址:MD2CSDN.jar

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