這應該是全網比較好的 Markdown 入門教程了吧(確信)。
使用 Markdown 也有七八年了,一直沒有寫相關的教程,現在就來系統地寫一寫。
前言
在介紹什麼是 Markdown 之前,先說說沒有 Markdown 的情況是怎麼樣的。
最開始,文字是沒有格式的,只是單獨的純文字。
什麼意思呢?就比如你使用記事本來記錄文字,那麼儲存後的檔案就是 txt,它是沒有格式的,這些文字不能加粗,不能修改顏色,不能使用斜體、刪除線、下劃線....
而後來出現的 Word 文件,就支援豐富的格式,也叫富文字,不僅支援上述所說的情況,還能新增標題、超連結、水印、圖片...
Word 功能強大,選擇也足夠自由,但有利就會有弊,換個角度,如果你缺乏足夠的經驗,那也只能望洋興嘆:
- 一級標題用什麼字號什麼字型?
- 二級標題用什麼字號什麼字型?
- 正文用什麼字號什麼字型?
- 正文與前後標題的邊距怎麼設定?
- 行間距,字間距,段落間距怎麼設定?
- …
想要排版一篇看起來有模有樣的文章,確實不是一件容易的事,不僅需要掌握一些排版知識,還需要培養排版審美。要是有強迫症那就更慘了,不停地去調整,去比對,卻總是不盡人意!
那有沒有這樣一個模版,直接推薦一個美觀的樣式,讓我不用關心各類字型、字號、間距等等的問題,而是可以直接拿來套用?這樣我們就可以專注於寫作本身,而不是將時間花在排版上!
試試 Markdown 吧,它就是介於純文字和富文字之間的語言,它支援一部分格式,但同時又很簡單。
Markdown 是什麼?
來自維基百科:Markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的 HTML 頁面。
請不要被「標記」、「語言」所迷惑,Markdown 的語法十分簡單,我們直接看例子。
快速入門
第一個語法:標題
在 Markdown 中,最常用的可能就是標題了。舉例:
# 這是一級標題
## 這是二級標題
### 這是三級標題
#### 這是四級標題
##### 這是五級標題
###### 這是六級標題
- 在文字面前新增 1 個
#
,代表一級標題。 - 在文字面前新增 2 個
#
,代表二級標題。 - 在文字面前新增 3 個
#
,代表三級標題。 - ....
這個標題有什麼作用呢?就和平時我們看書時遇到的“第一章”,“1.1 ...” 差不多,可以將內容結構化,有層次。
使用線上 Markdown 編輯器
為了方便,我們可以先使用 Markdown 線上編輯器來檢視效果,比如:markdown-editor.org,隨便輸入一些標題和文字試試:
左側是使用 Markdown 編寫的純文字,右側是渲染後的結果,可以看到標題一級標題比二級標題大,更醒目,而正文則明顯是普通的字型,這就是渲染後的、帶有格式的結果。
除了標題,還有很多其他語法,例如給字型加粗,斜體,加下劃線,新增程式碼塊,圖片等等,這些都是純文字做不到的,而 Markdown 可以。
網上有很多線上的 Markdown 編輯器,使用搜尋引擎一搜一大堆(如果失效了換一個即可):
- 簡書:https://www.jianshu.com/writer
- 部落格園:https://www.cnblogs.com
- tool.lu/markdown
- markdown.devtool.tech/app
- milkdown.dev/playground
- zybuluo.com/mdeditor
- ...
Markdown 的基本原理
到了這裡,我們可以簡單介紹下 Markdown 的原理了:
- Markdown 的儲存方式以及編寫方式,跟純文字是一樣的。
- 但是 Markdown 可以透過編輯器渲染出一個帶有格式的頁面。
例如,在剛剛演示的圖中,左半部分就是純文字,右半部分就是渲染後的、帶有格式的結果。
其實,我們用 Markdown 寫作的時候,所有內容都是純文字,沒有樣式;在插入若干 Markdown 標記後,被標記的內容就有了樣式,會在最終渲染時呈現。
例如,在你所寫的文字中,你希望某一行文字呈現一級標題的樣式,那就給這行文字加個一級標題的標記。某幾個詞語需要加粗,那就給這幾個詞語加個粗體標記。
使用本地 Markdown 編輯器
大部分情況下,我們都是本地編寫文件,大部分情況下這樣更方便,畢竟可以不聯網、可以儲存,方便管理多份文件。
本地的 Markdown 編輯器,工作流程和線上編輯器是一樣的:md 檔案 → 解析器 → 帶有格式的頁面
在網上可以搜到很多的 Markdown 編輯器,我用的 Typora,官網 typora.io,中文網:typoraio.cn。
注意:
- Typora 是跨平臺的,支援 Windows / Mac / Linux
- 這是收費軟體,可以試用 15 天。此外該軟體以前是不收費的(低於 1.0 版本),可以去官網釋出頁面找舊版本使用。
- Typora 支援“所見即所得”,也就是不像其他編輯器一樣左邊純文字,右邊渲染後的文字,而是你碼字後直接渲染
去官網下載並安裝好後,我們開始實踐。新建一個 txt 檔案,輸入如下內容:
# 第 1 章 電控開關——計算機世界的基石
## 1.1 十餘年的疑惑
1 + 1 = 2,天經地義,雖然也有人想去證明為什麼1+1就等於2,但是我等是無法參透了。誰能告訴我CPU是怎麼算1+1=2的?2+2能算麼?這個問題,冬瓜哥從10年前就開始想搞清楚,當時見人就問,可是向到過的人沒一個能說清楚,得到最接近的一句回答是“CPU內部就是個加法器”。而這句話,我深理心中十餘年,也零零散散地探索了十餘年,直到近幾年,才慢慢搞清楚一點皮毛,不敢獨享,願與大家分享之。
## 1.2 從 1 + 1 = 2 開始
CPU是怎麼算1+1=2的,這的確值得思考和深究。CPU天生是不可能知道1+1=2的,一定是人類告訴它,1+1必須等於2,或者0+1必須等於1。
....
# 第 2 章 解脫人手——程式控制計算機
我們修改該 txt 檔案的字尾為 md,表明這是一個 Markdown 檔案。
然後我們在該檔案右鍵,選擇開啟方式為 Typora :
效果:
左側是目錄,右側是編輯器,可以直接碼字。
入門案例就到這了,其實非常簡單。平時我們都是開啟記事本或 Word 來碼字,而用 Markdown 也是一樣的,只不過換成了開啟 Markdown 編輯器。
使用 Markdown 的優點
接下來講講優點:
- 專注你的文字內容而不是排版樣式,安心寫作。
- 輕鬆的匯出 HTML、PDF 和本身的 .md 檔案。
- 純文字內容,相容所有的文字編輯器與字處理軟體。
- 隨時修改你的文章版本,不必像字處理軟體生成若干檔案版本導致混亂。
- 可讀、直觀、學習成本低。
應不應該使用 Markdown?
簡單介紹了下常見的語法以及編輯器,那麼我們到底是否應該使用 Markdown 呢?
首先,Markdown 是一門很簡單的語言,上手難度低,試用一下花不了多少時間。
此外,目前很多網站都支援 Markdown(GitHub、簡書、知乎等),很多筆記軟體也支援用 Markdown 做筆記(印象筆記,Notion,語雀,wolai,思源筆記等)。如果你學會了 Markdown,不用擔心無用武之地。
如果你已經習慣了 txt 或 Word 來碼字,並且試用後覺得 Markdown 也不過如此,那麼也沒必要專門為了用而用。
Markdown 的誕生
Markdown 是由 Swartz 和 Gruber 共同開發,並在 2004 年 3 月 19 日推出初代 Markdown。
據說格魯伯厭倦了使用標準 HTML 格式化網頁內容的複雜性,因此提出了 Markdown。
“Markdown 格式語法的首要設計目標是使其儘可能具有可讀性。我們的想法是,一個 markdown 格式的文件應該是可釋出的,就像純文字一樣,而不是看起來像是被標記了標籤或者格式說明。”- 約翰 · 格魯伯
Markdown 為什麼會流行?
這裡引用一篇知乎回答。
Markdown 為什麼會流行? - 靈狐技術的回答 - 知乎
大家一開始以為,文件處理不過就是寫寫字,然後 txt(文字)誕生了。
後來文秘們發現,文件並不只是文字,還要各種排版,然後增強版的 rtf(富文字)誕生了。
再後來文秘們發現,文件並不只是排版,還包括頁首頁尾,數學公式等排版,然後威力增強版的 doc(文件)誕生了。
再後來網路開發人員發現,上面的文件在網頁上直接呈現在網路傳輸中太笨重了,大家並不需要這麼豐富的排版功能,然後精簡版的 html(超文字標記語言)誕生了。
再後來開發人員發現,其實我在寫開發文件的時候,只是想簡單寫個紀要,只需要最簡單的幾個標識而已,html 還是太笨重了,然後 markdown(輕量級標記語言)誕生了。
上面各種格式都一直共存,大家只是透過實踐發現,原來我們的編輯需求可以細分這麼多的場景。
編輯於 2022-04-13 17:27
最後
Markdown 在 20 年前就有了,一開始還很小眾,不過後來以其獨到的優勢火了起來,很多主流的部落格平臺、筆記軟體都支援 Markdown。它尤其深受技術人員的喜愛:可以用來編寫說明文件,寫技術部落格,格式轉換方便,還能進行版本控制(例如 Git)。
接下來幾篇部落格,將會介紹 Markdown 的常見語法、流行的 Markdown 編輯器以及其他用法。
延伸閱讀
3 Reasons Why Everyone Needs to Learn Markdown,中文:為什麼我們要學習 Markdown 的三個理由_部落格園