Markdown 的解析可以從 Server-side 來做,也可以由 Client-side 進行。如果是從 Server-side 來解析,我在目前專案裡採用的是 [marked]。這是很不錯的 Markdown parser,並且支援 [GitHub flavored markdown]。
Marked 也有一份 Client-side 的 port,稱為 [Strapdown.js],Strapdown.js 也支援 GitHub flavored markdown。有於以下 3 個原因,後來我將 Server-side parsing 的做法,修改為 Client-side parsing:
1. UX - 原先採用 Server-side (RESTful) + Backbone way 的做法,使用者體驗比較不好
2. Better SEO - RESTful 與 Backbone way 的做法,使得 HTML 文件本身並不夾帶靜態文字,較不利於 SEO。雖然可以採用 Google 建議的方式,但會讓 URL 長的不好看
3. Editable - 將 markdown 以靜態方式放置在 HTML 文件裡,除了有利 SEO 外,未來也可以實用成 Client editable,讓 User 可以線上編輯 markdown 內容
目前,Server-side 的做法是利用 <script> 標籤來放置 markdown 內文。
* Jollen's Blog 將透過 Booklog 平臺,將日誌以 Ebook 形式集結為更系統化的電子書,歡迎關注。
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw