2021-07-19

Markdown 如何翻轉我的數位體驗

我對自己的評估,雖然是一個讀社會科學的人,但內心有一股小小的程式魂。

小學三年級開始學習用「記事本」寫出一條條的 HTML 變成一個網頁,到小學參加全國網頁設計大賽得到第三名,陸續經過 CGI、ASP、PHP 的年代,自學做出了不少的網站,我是喜歡那個過程的。

這樣說來,會遇到 Markdown 看起來也是一種巧妙的安排。

我個人對於有次序這件事情是有追求的,所以寫程式、網站設計是如此的讓我樂此不疲,但還有一個跟次序有關的事情就是「排版」。

說到這邊,大家第一直覺可能會想到 Word、Google Doc 或者 Mac 上面的 Page,但我並不喜歡這些所見即所得(What You See Is What You Get,縮寫:WYSIWYG)的工具。反而鍾情於結合了程式邏輯跟排版概念的工具,之前一直都使用 \( \),Markdown 是發現的第二套。

Markdown 是什麼?

Markdown 是由 John Gruber 所創建的專案,開宗明義地指出:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

他的創造是為了讓在純文字(plain text format)的環境,擁有一個易讀(easy-to-read)跟易寫(easy-to-write)的創作工具,在語法的介紹,有一段令我印象深刻的話:

Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

所以方便解譯是一個很大的重點,也因為這個重點,讓我深深的愛上,並且持續的使用 Markdown 成為數位生活中不可或缺的要素。

Markdown 的特點?

Markdown 的原始檔案其實就是一個文字檔,裡面充滿開發者設計出來的語法(Syntax),任何程序、軟體想要解析的話,都是免費授權的。所以,很多寫作、筆記軟體,都會有支援 Markdown 的輸入,我習慣使用的 Agenda、iA Writer 以及最近火紅的 Notion 都有支援或部分支援。

而從我的觀點,Markdown 有幾個很大的特色:

  1. 免費開源,並且成熟的被許多軟體使用;
  2. 可以帶著走,只要文字編輯器就可以顯示;
  3. 不像程式語言那麼複雜,低學習門檻。

這些特色,讓 Markdown 有一個很重要的特點,就是幾乎永遠都不會退流行。

它既具備了程式語言中,「語言」的要件,擁有共通性、廣大的流通以及方便轉譯,從 Google 搜尋關鍵字,就可以找到許多免費線上轉譯工具;又少了傳統「程式」給人印象中的困難度,因為它專注在寫作這件事情上面

與 Markdown 相遇後的感覺?

2006 年我經營部落格的時候,使用的是 Blogger,雖然有提供 WYSIWYG 編輯器,但是非常的難用,所以我都是使用 HTML 原始碼來寫文章。老實說,真的很麻煩。

之後有一陣子就沒有繼續寫文章,直到 2019 年重新回頭經營的時候,忽然發現,比起要這樣配合程式碼寫文章,我更想要專注在「寫」這個動作上。與 Markdown 的相遇,真的是一種被救贖的感覺。〔有興趣的可以看這篇:將 Blogger 轉換至 Hugo(含優缺點評析)

就好像一個開關,在這兩年數位化的過程之中,Markdown 如同一把鑰匙,不管是在筆記軟體、專案管理或者是網站經營上面,都可看見其蹤影。

我想一方面是受惠在,許多軟體都已經是以網頁模式為基礎(Web-based)的方式製作,而 Markdown 最終的目標就是轉譯成 HTML,因為自己有 HTML 的基礎,就更覺得一見如故啊!

為什麼愛上 Markdown?

簡單的令人足以專注

Markdown 對我來說學習門檻非常低,受惠自己網站設計的基礎,所以可以直接的想到,這個語法後面代表的是哪個 HTML 碼,但我可以省下打很多程式碼時間,也不用思考要把頭尾都包起來。

擷取自 Markdown Guide

省去了還要補足程式碼這件事情,所以當我在執行「寫」這個動作的時候,會令我更能夠專注,只需要想著怎麼好好的寫。收集好素材,雙手幾乎可以不離開鍵盤,完成一篇網頁文章所需的各種元素

尤其是在使用專屬編輯器,例如 iA Writer、MWeb 的時候,因為是純文字的編輯,可以完整地看到整篇文章的情況。圖片錯了,可以快點重新貼上新網址,連結錯誤移過去馬上改就好。

在 iA Writer 會以純文字顯示文章

一頁式上下滑動即可看到全貌。

普遍性

開源、免費創造了現在許多軟體普遍支援 Markdown 語法,我想筆記軟體就不用多提,還有許多專案管理用的軟體 QuireJiraSlack 等,當今知名的 Trello、Notion、Bear Note,也都支援的系列當中。

這代表,學這個不會吃虧,你可以運用到很多不同的地方。這兩年來,隨著工作模式的改變、生活管理的需求,我在使用數位工具上,有一個很大的轉型需求。而 Markdown 的出現,學習上了這一套編寫的工具,更可以悠遊在不同的工具之中。

我最近受惠最大的,就是那一天忽然發現,目前正在使用的專案管理 Quire,專案項目的欄位是可以使用 Markdown 語法的,等於你可以把項目直接連出來,不用還要點進去看細節才能放連結。

Quire 可用 Markdown 直接設定項目外連

這就是普遍性的好處,Markdown 語法的使用,打開了許多軟體、工具更多的可能性,而對您來說,只是學習了一個語法,不需要針對不同軟體學習他們自己的語法。

帶得走不怕被侷限

軟體、工具會隨著時代更迭,就像我已經使用過很多不同的軟體,其中有些軟體已經不再繼續支持著我的生活。〔我用過的軟體可以參考:使用的服務/工具一覽

就像上面提到的,所有支援 Markdown 的軟體,都可以輸出成為一個純文字檔案。等於,如果有一天,真的有必要更換工具的時候,不會被綁住,而且是快速到連轉檔都省下來了。

只要同時也能夠編譯的軟體,簡單的複製貼上,幾乎就是無縫接軌,馬上開始無痛使用。這不僅僅只是適用在要轉換軟體這麼大規模的事情上,即使只是軟體互相流通,在 Markdown 的世界,就僅是一個 Ctrl V + Ctrl C(複製貼上)。

舉個例子,我最近正在實驗使用 Agenda 寫草稿,完稿使用 iA Writer,就只需要從 Agenda 複製為 Markdown,然後直接在 iA Writer 貼上,就完成了。

這樣的好處是,Agenda 在草稿編輯的時候,提供了很多預設的方法,例如複製 HTML 文字,貼上可以包含超連結都貼上,還有整合在自己的筆記系統之中,會有很多方便,這一點於後我們再來多聊聊。

好了!今天的故事就先講到這邊。

很多東西體會過後,每個人都會有自己使用的方式,之前談過網站版型更新的字體、掙扎與突破,這篇可以算是一個延續,Markdown 是一個很棒的排版工具,網路上也有許多資源可以找找,自己推薦兩篇給大家:知乎上的《基於 Markdown 的中文文檔排版規範(簡體中文)》以及還有雷蒙所寫的《Markdown 是什麼?寫作必備技術,沉浸式編輯的工具與應用推薦》。