全網比較好的 Markdown 教程

peterjxl發表於2024-07-28

這應該是全網比較好的 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 的原理了:

  1. Markdown 的儲存方式以及編寫方式,跟純文字是一樣的。
  2. 但是 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 是由 SwartzGruber 共同開發,並在 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 的三個理由_部落格園

相關文章