<h2 id="1">一、什麼是 Markdown?</h2>html
從技術角度看,Markdown 是一種輕量級的標記語言。只須要在文檔中增長一些標記符號,Markdown 引擎就能根據這些文本格式符號渲染出豐富多樣的效果。git
從應用角度看,Markdown 是一種用於編寫結構化文檔的純文本格式。Markdown 使得咱們能用易於讀寫的純文本格式編寫文檔,而後轉換成標準格式的 HTML 頁面。程序員
其實 Markdown 的工做原理很簡單,就是經過引擎把預約義的標記語法轉換成對應的 HTML 標籤。Markdown 自然就是跨平臺的,基本不會有兼容性問題,純文本的格式使得其易於作版本管理,至於怎麼渲染 HTML 那就是瀏覽器的事情了。github
Markdown 經過簡單的標記符號使得普通文本呈現出必定的格式,即內容和樣式分離,巧妙的規避了繁重的排版工做,可讓使用者專一於內容寫做,而沒必要過分分心到內容格式處理上,熟練以後,給人一種優雅的沉浸式寫做體驗。瀏覽器
<h2 id="2">二、有哪些人在用 Markdown?</h2>微信
曾幾什麼時候,Markdown 還只是在程序員羣體中流行的書寫格式,好比全球最大的開源代碼庫 GitHub 和全球最大的 IT 技術問答社區 StackOverFlow 的默認書寫格式都是 Markdown。markdown
現現在,國內的博客園和 CSDN 等 IT 社區也都對 Markdown 提供了支持。Markdown 已經被被愈來愈多的知識工做者、寫做愛好者等有文字編輯需求的羣體普遍應用。網絡
好比:做家們用 Markdown 來寫書、寫小說;寫做愛好者們用 Markdown 來寫日記、寫文章;科研工做者和學生們用 Markdown 來記筆記、寫論文;老師們用 Markdown 來寫講義;博主們用 Markdown 來寫博文等等。編輯器
我我的主要是用 Markdown 來寫技術文檔和技術博客,好比本文就是用 Markdown 寫成的。估計大部分程序員用 Markdown 也都是用來寫文檔、寫博客、作幻燈片之類的吧。ide
<h2 id="3">三、用 Markdown 的優點是什麼?</h2>
Markdown 的主要優勢是易學、易讀、易編寫、易分享,且無需排版。Markdown 引擎會在用戶輸入的同時自動進行排版,因此寫做者可以絕不費力地寫出排版整齊的文章來。
一說寫文檔或寫做軟件,多數人首先想到的就是家喻戶曉的 Word。的確 Word 功能很強大,並且多年以來 Word 一直都是全世界最流行的文字處理工具。但 Word 的功能堆砌過多,排版過程耗時費力,容易讓人分心;且不一樣版本或平臺可能還會有兼容性問題;版本管理更是無從談起。
Markdown 幾乎完美規避了 Word 的這些缺陷。通常來講,要成爲一名 Word 達人,你須要熟練的掌握許多操做技巧,學習成本比較高。而 Markdown 平常使用僅需掌握幾個簡單的標記符號,學習成本很低。
Word 和 PowerPoint 的大部分功能對大部分人的大多數需求來講都是多餘的。而 Markdown 則只解決能夠用純文本表示的問題,沒有亂七八糟的樣式和花裏花俏的排版,顯得很純粹、很清新,給人一種極簡主義的感受。
Markdown 是一種自然兼容 HTML 的寫做格式,所以能以 HTML 格式發佈 Markdown 文檔,而 HTML 格式是很方便分享的,且 HTML 自然是跨平臺、跨終端的。不少工具甚至還容許 Markdown 文檔以 PDF、Word、圖片等格式發佈。
對程序代碼的良好支持是 Markdown 一大亮點,這大概也是不少技術博客積極採用 Markdown 的緣由之一吧。
現在愈來愈多的網絡筆記和內容社區都提供了對 Markdown 的支持,如印象筆記、爲知筆記、有道雲筆記、簡書等,讓內容生產者能以較小的輸入代價來輸出富有表現力的內容,也給讀者帶來了統1、溫馨、美好的閱讀體驗。
<h2 id="4">四、Markdown 的語法標準簡介</h2>
John Gruber 與 Aaron Swartz 合做開發了 Markdown,並於 2004 年以語法描述和 Perl 腳本的形式對外發布。John Gruber 還開發了一個用於將符合 Markdown 語法的純文本文檔轉換爲對應 HTML 的 Perl 工具。
在接下來的十多年中,Markdown 逐漸被各大軟件社區採用,然而 Markdown 中只定義了標題、強調、列表、連接、代碼塊、引用、分割線這 7 類語法,自己的功能極爲有限,一些特定的需求和場景沒法被知足。不少人都但願做者能繼續完善 Markdown,可做者再也沒提供任何更新(其中 Aaron Swartz 在 2013 年自殺了)。
Reddit、Stack Exchange、GitHub 等組織曾合聯合起來,想要將 Markdown 標準化,但在發佈 Standard Markdown 以後,卻被 John Gruber 要求更名,最後不得不改爲了 CommonMark。
慢慢的有人建立了轉換工具,能夠生成帶有略微差別的 HTML 文檔,也有人爲 Markdown 增長了一些功能,如表格、清單、腳註等。因而乎就產生許多第三方的擴展語法,相應的,原做者定義的那些語法就被稱之爲標準語法了。
目前最知名、最主流的兩個三方擴展語法分別是 GFM(GitHub Flavored Markdown) 和 CommonMark。
<h2 id="5">五、怎麼用 Markdown?</h2>
由於 Markdown 文檔是純文本格式的,因此你能夠用任何你熟悉的文本編輯器來寫 Markdown 文檔。然而就比如程序員們都用 IDE 寫代碼同樣,咱們通常也會挑一款趁手的 Markdown 編輯器來提高寫做效率和寫做體驗。
爲何要用 Markdown 編輯器呢?首先,Markdown 編輯器通常會提供菜單欄、工具欄以及快捷鍵支持,讓咱們可以方便快捷的輸入內容;其次,好的 Markdown 編輯器還有會有所見即所得的實時預覽功能,讓咱們可以實時預覽當前的編輯效果。另外,有些 Markdown 編輯器還有諸如打印、導出、上傳等強大又實用的功能,讓咱們的寫做如虎添翼。
<h2 id="6">六、如何選擇 Markdown 編輯器?</h2>
現在市場上可選的 Markdown 編輯器有不少,有桌面軟件,也有在線工具,還有許多支持 Markdown 的博客平臺和網絡筆記,有收費的,也有免費。通常來講,全部編輯器都支持標準語法,而擴展語法則各有各的不一樣。我時常會上網搜一下,看有沒有更好的編輯器可用。下面列出的是我接觸過的一些 Markdown 工具:
MarkdownPad 這是我日常用的最多的一個 Markdown 編輯器,它是 Windows 下的一個多功能 Markdown 編輯器。被不少網友盛讚爲 Windows 平臺上最好用的 Markdown 編輯器。MarkdownPad 支持實時預覽,可定製編輯器,可自定義樣式表,支持多種 Markdown 處理引擎,內置圖片上傳功能,以及其它編輯器廣泛支持的一些功能。最得我心的是良好的快捷鍵支持,貌似別的編輯器都不重視這方面的用戶體驗。
Typora 這是一款全平臺(Mac、Windows、Linux)支持的編輯器,主要優勢是對擴展語法的支持很全,功能細節可配置餘地較大,但不少默認配置不太合理,須要本身去改,對用戶要求較高。我在 Windows 上試用了一段時間,最後仍是放棄了。主要是操做不習慣,好比看預覽效果還得切換編輯器模式,給人感受很怪,不知道是否是不重視 Windows 的緣故。
馬克飛象 這是一款專爲印象筆記打造的 Markdown 編輯器,提供了桌面客戶端、Web 端、離線 Chrome App。
印象筆記 知名網絡筆記,不只支持 GFM 和 CommonMark 兩種主流擴展,並且支持數學公式、流程圖、時序圖、甘特圖、圖表等高級擴展,還把這些功能都預置到工具欄中,能夠一鍵生成。
小書匠 這是一款專爲 Markdown 寫做而設計的編輯器。全平臺支持,且有 Web 版,功能很強大,支持很全面,但收費。
Cmd Markdown 做業部落出品,全平臺支持,且有 Web 版,還配套有博客平臺。
Markdown Editor 極簡主義,僅支持最基本的語法,新手練習的話推薦用這個。
爲知筆記 知名網絡筆記,不少年前就支持了 Markdown。
有道雲筆記 大廠出品的網絡筆記,也支持 Markdown。
簡書 一款支持 Markdown 的博客平臺,必須註冊才能用。
FarBox 一款支持 Markdown 的博客平臺,支持微信和 Dropbox,能夠創建我的網站,不過 FarBox 是按階梯收費的。官方提供的客戶端編輯器卻是免費的,我感受用起來還不錯。
MdEditor 一款開源的在線 Markdown 編輯器。
StackEdit 國外的一款開源的在線 Markdown 編輯器。
Dillinger 社區裏有很多人推薦這個,但我試用後發現不夠穩定。
MaHua 界面有點簡陋,並且會與搜狗輸入法產生衝突,幾乎無法兒用。
若是你是程序員的話,你也能夠嘗試把 VS Code、Notepad++、Sublime Text 等專業的編輯器打形成 Markdown 編輯器來用。
<h2 id="7">七、如何快速上手 Markdown?</h2>
爲了讓那些從沒接觸過 Markdown 的朋友也能比較順暢和快速的上手 Markdown,這裏給出我根據我的經驗總結出來的一個學習思路和上手步驟:
#
和空格,就會變成一個大標題,加兩個#
就會變成一個小一點的標題,以此類推。*
表示粗體強調,或各加一個*
表示斜體強調。>
和空格便可表示引用。-
和空格便可。以上的這幾步操做,示例截圖以下(截自 MarkdownPad2):
完成以上幾步,你就已經能夠寫出一篇漂亮的小文章了。而後你再嘗試在文章中加個連接、嵌張圖片、畫個表格,就能夠做爲演示文稿了。相信你最後大機率會愛上 Markdown 這種獨特的書寫方式。
<h2 id="8">八、總結</h2>
本文介紹了 Markdown 這個排版語言的主要方面。Markdown 旨在儘量易於閱讀和易於編寫,因此若是你是常常寫文章的人,或者是有較多文字編輯需求的人,那麼學習用 Markdown 絕對是個明智的選擇。
本文連接:http://www.cnblogs.com/hanzongze/p/markdown-aspects.html 版權聲明:本文爲博客園博主 韓宗澤 原創,做者保留署名權!歡迎經過轉載、演繹或其它傳播方式來使用本文,但必須在明顯位置給出做者署名和本文連接!我的博客,能力有限,如有不當之處,敬請批評指正,謝謝!