如題我現在有兩種思路:
第一種,使用 js 進行前台處理 缺點是對搜尋引擎不友好,個人感覺搜尋引擎可能對 markdown 文字親和力不高。
第二種,在輸出時對markdown 文字進行轉換成html,這樣可以做到程式碼的一致性,後端輸出到前端的程式碼都是html,但這種有一個bug 如果是自己的框架可以大肆更改使其支援markdown 轉換,但是如果給別人開發插件,或者開發框架已經做好了,在view 中大面積的轉換有些困難的,要怎麼處理。
第一種我在蟬知markdown 編輯器擴展中已經實現了,最近一直在思考第二種如何簡單有效的來控制內容輸出,我遇到了問題:
1、如何判斷一個字符串內容為markdown 文本內容
2、在不更改view 模板的情況下如何批量的對markdown 內容進行轉換
鑑於以上,希望跟大家交流下關於 markdown 展示的方案。
ps:
蟬知 markdown 編輯器使用的是 editmd 作為 markdown 輸入和輸出。
擴充原始碼可透過 http://git.oschina.net/hainuo... 取得
如題我現在有兩種思路:
第一種,使用 js 進行前台處理 缺點是對搜尋引擎不友好,個人感覺搜尋引擎可能對 markdown 文字親和力不高。
第二種,在輸出時對markdown 文字進行轉換成html,這樣可以做到程式碼的一致性,後端輸出到前端的程式碼都是html,但這種有一個bug 如果是自己的框架可以大肆更改使其支援markdown 轉換,但是如果給別人開發插件,或者開發框架已經做好了,在view 中大面積的轉換有些困難的,要怎麼處理。
第一種我在蟬知markdown 編輯器擴展中已經實現了,最近一直在思考第二種如何簡單有效的來控制內容輸出,我遇到了問題:
1、如何判斷一個字符串內容為markdown 文本內容
2、在不更改view 模板的情況下如何批量的對markdown 內容進行轉換
鑑於以上,希望跟大家交流下關於 markdown 展示的方案。
ps:
蟬知 markdown 編輯器使用的是 editmd 作為 markdown 輸入和輸出。
擴充原始碼可透過 http://git.oschina.net/hainuo... 取得
個人更傾向於第一種方案。
首先,這樣更利於前後端分離。例如前端適配多種展示樣式時,後端可以不改動程式碼。
其次,對於你說的搜尋引擎收錄的問題,我想就算是Markdown文本,其可讀性也是很好的。再者,隨著目前越來越多的網站採用非同步載入、單頁模式來設計,搜尋引擎已經逐漸在改進他們的抓取機制了。另外,我們還能透過meta的方式來直接指定關鍵資訊。
對於如何判斷字串是否為markdown,我想這個不用判斷吧。如果不是markdown,即使使用markdown來解析,輸出的也是最基本的文字。
在不改變View的情況下對內容進行轉換,其實就踩了我上面提到的坑,也就是後端轉換很難避免前後端不分離的情況,要轉換必然涉及到轉換程序和視圖模組代碼休戚與共的問題。