入門指南

入門指南 #

什麽是 Markdown? #

Markdown 是一種輕量級標記語言,可用於向純文本文檔添加格式元素。Markdown 由 John Gruber 於 2004 年創建,現已成為全球最流行的標記語言之一。

使用 Markdown 與使用 所見即所得 的編輯器不同。在 Microsoft Word 等應用程序中,您可以單擊按鈕來設置單詞和短語的格式,並且更改會立即可見。Markdown 不是那樣的。當您創建 Markdown 格式的文件時,您會將 Markdown 語法添加到文本中以指示哪些單詞和短語應該看起來不同。

例如,要表示標題,可以在標題前添加數字符號(例如 # Heading One)。或者要使短語加粗,可以在其前後添加兩個星號(例如 此文本為粗體)。可能需要一段時間才能習慣在文本中看到 Markdown 語法,尤其是如果您習慣使用所見即所得的應用程序。下面的屏幕截圖顯示了 Notepad3 文本編輯器中顯示的 Markdown 文件。

Markdown file in the Notepad3

您可以使用文本編輯器應用程序將 Markdown 格式元素添加到純文本文件。或者,您可以使用適用於 macOS、Windows、Linux、iOS 和 Android 操作系統的眾多 Markdown 應用程序之一。還有幾個專門為使用 Markdown 寫作而設計的基於 Web 的應用程序。

根據您使用的應用程序,您可能無法實時預覽格式化的文檔。但沒關系。據 Gruber 介紹,Markdown 語法旨在易於閱讀且不引人註目,因此即使沒有渲染 Markdown 文件中的文本,也可以讀取它。

Markdown 格式語法的首要設計目標是使其盡可能易於閱讀。其理念是,Markdown 格式的文檔應可按原樣以純文本形式發布,而不像是被標記了標簽或格式說明。

為什麽要使用 Markdown? #

您可能想知道為什麽人們使用 Markdown 而不是 所見即所得 編輯器。既然您可以在界面中按下按鈕來格式化文本,為什麽還要使用 Markdown 寫作?事實證明,人們使用 Markdown 而不是所見即所得編輯器有幾個原因。

  • Markdown 可以用於一切。人們使用它來創建 網站文檔筆記書籍演示文稿電子郵件技術文檔

  • Markdown 是可移植的。包含 Markdown 格式文本的文件幾乎可以使用任何應用程序打開。如果您不喜歡當前使用的 Markdown 應用程序,則可以將 Markdown 文件導入另一個 Markdown 應用程序。這與將您的內容鎖定為專有文件格式的 Microsoft Word 等文字處理應用程序形成了鮮明對比。

  • Markdown 獨立於平臺。您可以在任何運行任何操作系統的設備上創建 Markdown 格式的文本。

  • Markdown 是面向未來的。即使您使用的應用程序在未來某個時候停止工作,您仍然可以使用文本編輯應用程序閱讀 Markdown 格式的文本。對於需要無限期保存的書籍、大學論文和其他裏程碑文件,這是一個重要的考慮因素。

  • Markdown 無處不在。 RedditGitHub 等網站都支持 Markdown,許多桌面和基於 Web 的應用程序也支持它。

實時編輯預覽Markdown #

開始使用 Markdown 的最佳方式就是使用它。得益於各種免費工具,這比以往任何時候都更容易。

您甚至不需要下載任何東西。有幾種在線 Markdown 編輯器可供您嘗試使用 Markdown 進行寫作。 MDEditor 是最好的在線 Markdown 編輯器之一。只需打開網站並開始在左側窗格中輸入內容即可。渲染文檔的預覽將顯示在右側窗格中。

mdeditor Markdown editor

閱讀本指南時,您可能希望保持 MDEditor 網站處於打開狀態。這樣,您可以在學習語法的同時嘗試語法。熟悉 Markdown 後,您可能希望使用可以安裝在臺式計算機或移動設備上的 Markdown 應用程序。

它是如何工作的? #

MDEditor 使使用 Markdown 寫作變得簡單,因為它隱藏了幕後發生的事情,但值得探索整個過程的總體工作方式。

當您使用 Markdown 寫作時,文本會存儲在擴展名為 .md.markdown 的純文本文件中。但接下來呢?您的 Markdown 格式文件如何轉換為 HTML 或可打印的文檔?

簡而言之,您需要一個能夠處理 Markdown 文件的 Markdown 應用程序。有很多應用程序可用 - 從簡單的腳本到看起來像 Microsoft Word 的桌面應用程序。盡管它們在視覺上有所不同,但所有應用程序都做同樣的事情。像 MDEditor 一樣,它們都將 Markdown 格式的文本轉換為 HTML,以便可以在 Web 瀏覽器中顯示。

Markdown 應用程序使用 Markdown 處理器(通常也稱為“解析器”或“實現”)來獲取 Markdown 格式的文本並將其輸出為 HTML 格式。此時,您可以在 Web 瀏覽器中查看文檔,也可以將其與樣式表結合並打印。您可以在下面看到此過程的直觀表示。

註意:Markdown 應用程序和處理器是兩個獨立的組件。為了簡潔起見,我在下圖中將它們合並為一個元素(“Markdown 應用程序”)。

Markdown文檔處理過程

總而言之,這是一個由四個部分組成的過程:

  1. 使用文本編輯器或專用的 Markdown 應用程序創建 Markdown 文件。該文件應具有 .md 或 .markdown 擴展名。
  2. 在 Markdown 應用程序中打開 Markdown 文件。
  3. 使用 Markdown 應用程序將 Markdown 文件轉換為 HTML 文檔。
  4. 在 Web 瀏覽器中查看 HTML 文件或使用 Markdown 應用程序將其轉換為其他文件格式,例如 PDF。

從你的角度來看,這個過程會因你使用的應用程序而有所不同。例如, MDEditor 基本上將步驟 1-3 合並到一個無縫界面中——你所要做的就是在左側窗格中輸入內容,渲染的輸出就會神奇地出現在右側窗格中。但如果你使用其他工具,比如帶有靜態網站生成器的文本編輯器,你會發現這個過程更加直觀。

Markdown 有什麽用處? #

Markdown 是一種快速簡便的記筆記、創建網站內容和制作可打印文檔的方法。

學習 Markdown 語法並不需要很長時間,一旦您知道如何使用它,您就可以在任何地方使用 Markdown 寫作。大多數人使用 Markdown 為網絡創建內容,但 Markdown 非常適合格式化從電子郵件到購物清單的所有內容。

以下是一些使用 Markdown 可以做什麽的示例。

網站 #

Markdown 是為網絡設計的,因此,有許多專門為創建網站內容而設計的應用程序也就不足為奇了。

如果您正在尋找使用 Markdown 文件創建網站的最簡單方法,請查看 blot.im。註冊 Blot 後,它會在您的計算機上創建一個 Dropbox 文件夾。只需將您的 Markdown 文件拖放到該文件夾​​中,然後 — 噗! — 它們就出現在您的網站上。再簡單不過了。

如果您熟悉 HTML、CSS 和版本控制,請查看 Hugo,這是一個流行的靜態網站生成器,它可以獲取 Markdown 文件並構建 HTML 網站。這種方法的一個優點是 GitHub PagesHugo 生成的網站提供免費托管。如果 Hugo 不是您的菜,只需選擇許多其他可用的靜態網站生成器之一。

註意:我使用 Hugo 創建了 Markdown中文網。您可以在 GitHub 上 查看源代碼

如果您想使用內容管理系統 (CMS) 來支持您的網站,請查看 Ghost。這是一個免費的開源博客平臺,帶有一個不錯的 Markdown 編輯器。如果您是 WordPress 用戶,您會很高興知道 WordPress.com 上托管的網站支持 Markdown。自托管的 WordPress 網站可以使用 Jetpack 插件。

文檔 #

Markdown 不具備 Microsoft Word 等文字處理器的所有功能,但它足以創建作業和信件等基本文檔。您可以使用 Markdown 文檔創作應用程序創建 Markdown 格式的文檔並將其導出為 PDF 或 HTML 文件格式。PDF 部分是關鍵,因為一旦您擁有 PDF 文檔,您就可以對其進行任何操作 - 打印、通過電子郵件發送或上傳到網站。

以下是我推薦的一些 Markdown 文檔創作應用程序:

提示: iA Writer 提供了預覽、打印和導出 Markdown 格式文檔的模板。例如,“學術 - MLA 風格”模板會縮進段落並添加雙倍句子間距。

筆記 #

從各個方面來看,Markdown 都是記筆記的理想語法。遺憾的是,Evernote 和 OneNote 這兩個最受歡迎的筆記應用程序目前不支持 Markdown。好消息是,其他幾款筆記應用程序確實支持 Markdown:

  • Obsidian 是一款功能豐富的流行 Markdown 筆記應用程序。
  • Simplenote 是一款免費的、基本的筆記應用程序,適用於每個平臺。
  • Notable 是一款可在多種平臺上運行的筆記應用程序。
  • Bear 是一款類似 Evernote 的應用程序,適用於 Mac 和 iOS 設備。默認情況下,它不完全使用 Markdown,但你可以啟用 Markdown 兼容模式。
  • Joplin 是一款尊重您隱私的筆記應用程序。它適用於所有平臺。
  • Boostnote 自稱是一款“專為程序員設計的開源筆記應用程序”。

如果您舍不得放棄 Evernote,請查看 Marxico,一款基於訂閱的 Evernote Markdown 編輯器,或者在 Evernote 網站上使用 Markdown Here

書籍 #

想要自行出版小說?試試 Leanpub,這項服務可將您的 Markdown 格式文件轉換為電子書。Leanpub 以 PDF、EPUB 和 MOBI 文件格式輸出您的書籍。如果您想制作書籍的平裝本,可以將 PDF 文件上傳到其他服務,例如 Kindle Direct Publishing。要了解有關使用 Markdown 撰寫和自行出版書籍的更多信息,請閱讀 此博客文章

演示文稿 #

信不信由你,你可以從 Markdown 格式的文件生成演示文稿。用 Markdown 創建演示文稿需要一點時間來適應,但一旦你掌握了它,它比使用 PowerPoint 或 Keynote 等應用程序要快得多,也容易得多。 Remark是一款流行的基於瀏覽器的 Markdown 幻燈片工具, CleaverMarp也是如此。如果你使用 Mac 並且更喜歡使用應用程序,請查看 DecksetHyperdeck

電子郵件 #

如果您發送大量電子郵件,並且厭倦了大多數電子郵件提供商網站上提供的格式控件,那麽您會很高興了解到有一種使用 Markdown 編寫電子郵件的簡單方法。 Markdown Here 是一個免費的開源瀏覽器擴展,可將 Markdown 格式的文本轉換為可發送的 HTML。

協作 #

協作和團隊消息傳遞應用程序是與工作和家庭中的同事和朋友溝通的一種流行方式。這些應用程序沒有利用 Markdown 的所有功能,但它們提供的功能相當有用。例如,無需使用所見即所得界面即可將文本加粗和斜體化,這非常方便。 Slack, Discord, Wiki.jsMattermost 都是不錯的協作應用程序。

技術文檔 #

Markdown 非常適合技術文檔。像 GitHub 這樣的公司越來越多地將他們的文檔轉換為 Markdown,了解他們如何將 Markdown 格式的文檔遷移到 Jekyll。如果您為產品或服務編寫文檔,請查看這些方便的工具:

  • MkDocs 是一款快速簡便的靜態站點生成器,旨在構建項目文檔。文檔源文件以 Markdown 編寫,並使用單個 YAML 配置文件進行配置。MkDocs 有多個內置主題,包括用於 MkDocs 的 Read the Docs 文檔主題的移植版。最新的主題之一是 MkDocs Material
  • Read the Docs 可以從您的開源 Markdown 文件生成文檔網站。只需將您的 GitHub 存儲庫連接到他們的服務並推送 — Read the Docs 會完成其余工作。他們還為商業實體提供服務。
  • DocusaurusDocusaurus 是一個靜態網站生成器,專為創建文檔網站而設計。它支持翻譯、搜索和版本控制。
  • VuePress 是一個由 Vue 提供支持的靜態站點生成器,並針對編寫技術文檔進行了優化。
  • Jekyll 在前面的網站部分中提到過,但它也是從 Markdown 文件生成文檔網站的好選擇。如果你選擇這種方式,一定要查看 Jekyll 文檔主題。

Markdown 的風格 #

使用 Markdown 最令人困惑的方面之一是,幾乎每個 Markdown 應用程序都實現了略有不同的 Markdown 版本。這些 Markdown 變體通常稱為風格。掌握應用程序實現的 Markdown 風格是您的工作。

為了讓您理解 Markdown 風格的概念,將它們視為語言方言可能會有所幫助。紐約市的人和倫敦人一樣說英語,但兩個城市使用的方言之間存在很大差異。對於使用不同 Markdown 應用程序的人來說也是如此。使用 MDEditor 用 Markdown 寫作的體驗與使用 Ulysses 的體驗截然不同。

實際上,這意味著當一家公司說他們支持“Markdown”時,您永遠不知道他們到底是什麽意思。他們談論的只是基本語法元素,還是所有基本和擴展語法元素的組合,還是某種任意的語法元素組合?您只有在閱讀文檔或開始使用該應用程序時才會知道。

如果您剛剛開始,我能給您的最佳建議是選擇一款具有良好 Markdown 支持功能的 Markdown 應用程序。這將在很大程度上保持 Markdown 文件的可移植性。您可能希望在其他應用程序中存儲和使用 Markdown 文件,為此您需要從提供良好支持的應用程序開始。您可以在 工具頁面來查找符合要求的應用程序。

其他Markdown資源 #

您可以使用許多資源來學習 Markdown。以下是其他一些入門資源: