以前曾和51CTO的官方人員溝經過,建議在社區全面逐步開始試用markdown來支持博客和論壇等的發佈。他們曾承諾會考慮實施。markdown作一種標記語言的應用場景愈來愈普遍,現在也不是什麼新鮮事物了,若是還有一些人不是很熟悉的話,那麼正好,請聽我一一道來。
html
首先讓咱們從IT類文檔編寫談起。拋除正式的行政公文,IT類的文檔書寫通常比較隨意,不像畢業或學術論文,不會刻意去要求格式排版。此外該類文檔表現形式一般比較豐富,除了標準文字,圖片還會有一系列的圖、表等,甚至針對一些軟件層說明書和文檔還會截取部分只有少部分才能看懂的計算機語言(代碼)。在這種狀況下,傳統的文檔編輯以下git
一、基於無格式的txt文檔 這種文檔最大的優勢是小巧,便捷,很適合編寫一些軟件的說明文檔如readme。但缺點也是很是明顯,沒法設置格式,若是要進行排版,很是困難。github
這是一份某網站的軟件下載說明,從格式上說排版已經至關精美,可是要知道若是要修改這份文檔是至關困難的,由於你要考慮對齊的問題,並且最大的問題是這種文檔在WEB上無法展現。瀏覽器
二、基於大型辦公軟件word之流的高級文檔。優勢不用說了,格式編輯強大,支持功能衆多。。。 缺點也是很明顯的:排版時間長,WEB展現困難。二進制格式損壞修復困難。。。。markdown
三、相似博客這種UEditor-WEB富文本編輯工具。雖然已經很豐富了,最大的問題仍是排版困難,文檔移植麻煩網絡
說來講去,那邊有沒有一種方法可以自動排版,且各處通用呢?app
答案天然就是markdown.編輯器
那markdown到底是什麼?Markdown是一種輕量級標記語言,它以純文本形式(易讀、易寫、易更改)編寫文檔,並最終以HTML格式發佈。也就是說markdown有點相似HTML,也是一種標記語言,也是用純文本形式編寫文檔。只不過html文件後綴爲.html或.htm,而markdown文件後綴默認爲.mdide
關於markdown的歷史請參考文獻3工具
這裏要談一下markdown基本語法和擴展語法
因爲Aaron Swartz和John Gruber兩位大神建立了這種語法後,若是沒有高級需求,按理說也就足夠了(參見文獻2)。可是喜好的用戶多了後需求就愈來愈大了,並且有些設計其實不符合咱們的習慣,好比在標準Markdown語法中,要想換行必須在一行的最後加兩個空格才行,不然即便你在一行的末尾插入硬回車,這些文本仍然會被合併爲一行,這個特性會致使大量非預期的格式化錯誤。而咱們常常會用到表格、腳註、想要自動生成文章目錄等,如果涉及代碼的技術文章,咱們還但願代碼支持高亮以提高閱讀體驗。這就須要用到Markdown的擴展語法了。而其中最流行的當屬Github Flavored Markdown 了。參見參考文獻4
最後談一下目前亂像的markdown編輯工具。因爲markdown的流行,愈來愈多的網站都開始支持,如github、Stack Overflow 國內的如簡書,做業部落等。而不少編輯器、網絡筆記也不甘落後,紛紛推出了本身的插件以便支持。可是markdown的效果大部分是須要解釋引擎進行渲染完成(特別是使用了第三方擴展插件)由於解釋效果不盡相同,因此致使一份原始的md文件在A工具編寫完成後,在B工具導入瀏覽產生輕者錯行錯位,重者沒法解析排版反而更混亂的怪現象。特別是一些軟件做者植入第三方擴展插件,而後從新封裝後,雖然利用按鈕簡化了書寫,可是不公佈插件列表,不開發源碼從而形成文檔移植性變差,並且多數編輯工具呈收費的商業軟件,而原做者(在世的創始人之一)又極不同意統一標準,最後致使像當今多種瀏覽器訪問同一個網站顯示頁面錯亂和部分功能不可用等問題
最後,仍是讓咱們感覺一下markdown的魅力吧
左邊爲原始格式,右邊爲瀏覽格式
以上來自做業部落WEB端
參考文獻:
一、我爲何要使用markdown?http://7681901.blog.51cto.com/7671901/1942946
二、markdown語法說明
三、Markdown 前世此生
https://github.com/younghz/Markdown
四、Mastering Markdown
https://guides.github.com/features/mastering-markdown/
擴展閱讀:Aaron Swartz 平生