Markdown 極簡介紹
Markdown 容許人們使用易讀的符號註記標題、強調和腳註等排版元素。它既方便人類閱讀(相較於 Latex),也容易程式讀取(相較於 word),只要透過合適的渲染器即可將文件轉換為 HTML 格式,很適合需要版本控管而且內容單純的技術寫作。
Markdown 的語法直觀,例如標題的標記符號為 #
,只要疊加井字號的數量即可創建各級標題。常用的排版元素可以參考Markdown Basic Syntax。
功能 | 語法 | 範例 | 顯示效果 |
---|---|---|---|
標題 | # ~ ###### |
# 標題1 |
標題1(不同層級) |
粗體 | **文字** 或 __文字__ |
**粗體** |
粗體 |
斜體 | *文字* 或 _文字_ |
*斜體* |
斜體 |
粗斜體 | ***文字*** 或 ___文字___ |
***粗斜體*** |
粗斜體 |
刪除線 | ~~文字~~ |
~~刪除線~~ |
|
分隔線 | --- 或 *** |
--- |
——————————— |
區塊引用 | > 引用內容 |
> 這是一段引用文字 |
> 這是一段引用文字 |
程式碼(行內) | `程式碼` |
這是 `code` 行內碼 |
這是 code 行內碼 |
程式碼區塊 | ```程式語言\n內容\n``` | \nconsole.log("Hello");\n |
多行程式碼區塊 |
項目列表 | - 或 * |
- 項目1\n- 項目2 |
• 項目列表 |
有序列表 | 1. 、2. |
1. 第一項\n2. 第二項 |
1. 第一項 2. 第二項 |
連結 | [文字](網址) |
[Google](https://www.google.com) |
|
圖片 |  |
 |
顯示圖片 |
表格 | 使用 ` | 和 -` 排版 |
參考本表格 |
跳脫字元 | \* \_ \# \ 等前加反斜線 |
\*不是粗體\* |
不是粗體 |
如果想要用進一步美化或排版的話,得引用 HTML 和 CSS 的功能。 例如想要呈現靠右對齊的效果,就得用 html 標記將文字包起來2:
不要相信胡適。
愛因斯坦
1 |
|
結合這些功能可以創建簡潔大方的履歷或是Github 個人頁面。
不過要注意的是,Markdown 是標記內容的方式,仍需要能辨識標記的編輯器才能瀏覽或匯出美化的內容。為了滿足不同文件的撰寫需求,很多編輯器和套件會納入原生 Markdown 沒有的語法,例如以 LaTeX 語法寫數學式或用 Mermaid 語法來畫流程圖等。
VSCode 的 Markdown All in One & Markdown Preview
現在有許多筆記軟體支援 Markdown 編輯,所以可以在撰寫文件的同時瀏覽渲染後的效果,例如 typora、Hackmd、Notion、Obsidian 等。
當初棄用 Evernote 花了不少時間搬筆記,讓我現在偏好方便遷移的方案。因為 .md
只是純文字檔,所以備份或轉換平台發布時也不用擔心富文本不相容的問題,所以我選擇用 .md
保存筆記,再用 VSCode 搭配擴充套件(Markdown All in One & Markdown Preview)來編輯。
對於更複雜的使用情境,也有軟體框架可將 Markdown 轉換為論文、書籍或是個人網頁等更有結構的媒體。
- 寫電子書和使用指南:sphinx、mdbook、mkdocs。
- 建立靜態個人網頁:hexo、hugo。
- 寫論文:Rbookdown,參考 Dissertating with RMarkdown and Bookdown。
綜上所述,Markdown 是人機易讀的標記語言,它的發展成熟而且應用多元,配合編輯器和框架的擴充功能,能夠滿足筆記、寫書、論文或建立個人網站等功能。對我個人而言,Markdown 不依賴 word 之類的編輯器,所以能輕易在不同平台遷移,減輕不少資料管理和相容性的問題。