what is markdown and who use it

what is markdown ?

Markdown 是一種格式化文件的語言。

一種輕量的標記語言,最終會轉換成 HTML 語法,既可輕易散佈在網路上。

主要優點:

  1. 纯文字檔案,任何編輯器可以撰寫。
  2. 讓大家不需要學習複雜的 HTML 語法就能夠使用標記語言格式。
  3. 語法簡單,易學。
  4. 好閱讀,就算沒有轉化成 HTML 語言之前結構也是非常完整的。
  5. 甚至已經取代我做筆記的格式。

附檔名:

  1. .md
  2. .markdown

以上皆可,如果在 gitLab 中使用 New Page 所產生的檔案附檔名為: .markdown

誰在用 ?

  • Github
  • GitLab
  • hackpad
  • HackMD
  • FaceBook Notes
  • Slack
  • Medium
  • Dropbox Paper
  • Quip

越來越多 文章發佈系統溝通軟體,都已經支援 markdown 格式,好 markdown 不學嗎?


markdown syntax

1. 標題大到小

1
2
3
4
5
# H1 test
## H2 test
### H3 test
...
###### H6 test

ex:

H1 test

H2 test

H3 test

H6 test

2. 加入列表

通常我們會條列式的逐條記錄內容重點,既可使用以下語法。

1
2
3
4
5
6
7
8
9
10
列表範例:
- 珍珠奶茶
- 半糖微冰 2
- 三分微冰 4
- 無糖去冰 5
數字列表範例:
1. 復仇者聯盟
2. 鋼鐵人
3. 美國隊長

列表範例:

  • 珍珠奶茶
    • 半糖微冰 2
    • 三分微冰 4
    • 無糖去冰 5

數字列表範例:

  1. 復仇者聯盟
  2. 鋼鐵人
  3. 美國隊長

3. 數字列表的小技巧

情境:如果我要把以上範例的 復仇者聯盟 移動到最後一筆,那我不就要把所有編號也改過一次…

不,你只需要記住數字列表都使用 1. 當語法就可以了,程式會依序幫你編號。

1
2
3
4
語法:
1. 鋼鐵人
1. 美國隊長
1. 復仇者聯盟

範例:

  1. 鋼鐵人
  2. 美國隊長
  3. 復仇者聯盟

4. 加入一段程式碼

這個功能算是 markdown 重要的應用,一般的 文字記錄簿 (word text or blog) 都無法將程式碼縮排完整保留,而透過 markdown 格式發佈後還可以完整記錄下來。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// markdown example:
``` markdown
# H1 test
## H2 test
```
// javascript example:
``` javascript
function(){
console.log('markdown test OK!');
}
```
// 解釋
``` language
1. 區塊上下各插入三個 ` 符號(~ 鍵,範例為全形,真正語法需用半形)
2. 語法上方,加入 1 個空格,後面可帶入的參數代表的是:程式語言
3. 此區塊可以自由運用,所有空格符號都不會被移除。
4. 因此可以貼上 Code 而格式不會跑掉。
5. 搭配 highlight.js 就可以顯示跟平常 IDE 一樣的顏色。
```

5. 加入連結或圖片

1
2
3
4
5
6
加入連結:
[連接名稱](url)
ex: [google](https://www.google.com.tw)
加入圖片:
![圖片名稱](url)

連結範例:
google

圖片範例:
Markdown


學習更多 Markdown 語法:

還有其他語法嗎?

還有什麼樣式是你想夾到文件內的嗎?那就直接撰寫 HTML, CSS 到文件裡面吧。

因為最後會生成 HTML 檔案 :P


即時編輯器

初期撰寫 markdown 的時候建議使用具備 所見既所得 的即時編輯器來協助撰寫,同步觀看執行結果。

以下是我推薦的編輯器:

還可以做什麼 ?

好 markdown 不學嗎?

試著打一遍,很快就學會了,真的!

Markdown 缺點:

Markdown 主要缺點是發佈平台轉換引擎,發佈 Markdown 有兩種方式一種是直接將撰寫好的文件 push 到平台如 github, fackbook 等支援 Markdown 格式平台,這取決於此平台支援到什麼程度的 Markdown 語法。如:FaceBook 不支援 code block, 外部連結圖片。

另一種既是透過轉換引擎或透過線上轉檔成為最終的 HTML 檔案在散布到網路上,所以會取決於背後轉換的引擎可以解析到什麼 Markdown 語法。

基本上個平台都會說明可以使用的語法,如本文介紹的幾個簡單的用法,其他如: emoji 就比較少支援一點,所以各家的支援度都會有所不同是要注意的地方。

另一個 Markdown 小缺點是 Table 寫起來非常不好閱讀,小型還可以,如果超過 3 欄建議可以直接使用 HTML table 語法 參考 w3schools table 範例

以上是 Markdown 的小介紹。

你也來寫一個吧!