對MarkDown這格式真是又愛又恨

愛是的它支持廣泛,已經算是事實上的標準

恨的按語言來說槽點很多,按行解析,沒有標準化

方便随手写文档,所以标准可能宽泛一些。语法越严格,对人越不友好嘛~

1 个赞

嚴格的說,html才是真正的標準,任何text最終都要轉成html。

同時,markdown沒有字體顏色,沒有下劃線。

其實它並不適合中國人寫作,它是外國人發明的。

它只追求簡單論述,並不是一種能用在所有場景的全方位解決方案。

那麼當你要求變高時,你就可以捨棄它,並尋找另一種擴展性更強的text。

比如你自建一個網站,你想寫一篇文章。因為這個網站後臺是你自建的,你可以有以下選擇:

  • markdown

  • plain text(html的< pre/>標籤是可以讀取換行的)

  • rich text(富文本編輯器)

  • json editor(這個也是format很強的格式)

  • mindmap/svg(這個可能網頁版是不能直接支持的了,你需要用其它軟件寫好,再導入進去)

markdown只能作為一種選擇,它並不是萬能的。某些文章用它寫會很方便,但並非一貫如此。

1 个赞

一切都是个习惯问题,习惯就好。

markdown 只是一种强调简单易用的文本格式,RTF、HTML的兼容性和功能也不逊于它(事实上,大部分网页、electron版markdown编辑器都是先输入html再转成markdown的)。

我之前就对md吐槽过.

不过目前来看, md适合两类人:

  1. 文字工作者, 对格式和复杂文档没有需求. 但是又有基本的格式要求.

  2. 论坛.

论坛发帖为了安全性, 需要表达相对丰富的格式, 又要屏蔽html代码隐患. 所以以前有bbcode 这类转义代码. 但是相对比较复杂, 而且通用性不太好. 纯代码复制跟html源码没什么区别.

1 个赞

我覺的對於論壇而言,bbcode是最適合的。

首先是安全性,管理員可以規定甚麼群組的人可以用甚麼標籤,有些標籤如[ iframe]或者[ svg]或許會有安全隱患。

bbcode的通用性是很好的,基本的加粗,斜體,下劃綫都通用。list確實不一定通用,也不會差很遠。

當然如果有自定義標籤,那就不會通用了。比如有些論壇是[ centre],有些是[ center]。再如背景色,大多數論壇會選擇[ highlight],而我覺的[ bg=]更準確。

自定義標籤使bbcode有最強大的擴展性,可以針對不同的論壇定製,如我的「天蒼人頡」論壇,是倉頡輸入法主題,那麼我就可以增加一個[ ij]標籤,方便輸入倉頡字元。

我覺的bbcode並不複雜,相比而言,人們有時會去問md的一些格式問題。比如如何換行但不分段,我近期才知道,有兩種方法,一種是在末尾加< br>,另一種是在末尾加兩個空格。並且,並不是每種md編輯器都支持。

对于标准,仅仅专注最小 公共集合就好了,一些软件自己的扩展标准,除非就是绑在这个软件上,否则,没太大意义。微软不就是老搞自己的小标准,做不大然后废掉,弄得乌烟瘴气的嘛。

2 个赞

bbcode只是 html代码的简单转义, 对普通用户并不友好。

你觉得合适 ≠ 对大多数人合适。

我举个最简单的例子:

  1. xx
  2. xxx
  3. xxx
  • xxx
  • xxx
  • xxx

如果用bbcode 实现起来, 是不是更复杂.

2 个赞

bbcode的寫法是:
[ list]
[ *]內容一
[ *]內容二
[ *]內容三
[/ list]

如果要用數字,就用[ list=1]。

其實在這方面,bbcode可能更勝一籌,因為你知道它在哪裏收尾。而markdown,如果你想在某一點寫兩段,一般人首先是不知道怎麼做,即便知道了它原来是靠空格縮進来指定它是同一點,也好像不如bbcode簡單。

[ list=1]
[ *]內容一

內容一第二段

又加一段
[ *]內容二
[/ list]

與此同時,假設,你就真的只是想寫1 .而不希望它轉碼呢,我覺的markdown有時會把我們不想轉碼的字符轉掉。特別是從其它地方複製過来的文本,你有時只是想快速的做個記錄。

因此目前大多數論壇仍然使用bbcode,包括目前使用人數最多的phpbb。

我说 bbcode复杂, 你说他强大.

那我要说html 强大, 你要说它不安全了?

咱们岂不是说不到一块了?

我只是阐述我理解的 md 具有的优势, 并不大代表我喜欢md, 讨厌bbcode.

感觉这种问题真的是有点"手上拿着锤子看什么都是钉子(尤其是自己的另一只手)"的感觉

我說的就是bbcode不複雜,我沒有說它強大,因為我跟你都沒有定義甚麼是「強大」,我也不知道你說的「強大」指的是哪些方面。

我說因為bbcode能明顯見到收尾的地方,所以它很簡單。而markdown看不到收尾,它是用換行和空格来控制收尾。

而對於一些人,其實包括我,都是近日才知道,markdown的list要list內多段的話該怎麼做。

不過如果你說的「簡單」是指「輸入字符少」,那markdown確實少很多。

  • xxx
    • xxx
      xxxxxxxxxxxxxx
      xxxxxxxxxxxxxxx
  • xxx
    • xxx
  • xxx

缩进, 回车啊. 这才符合普通人的书写习惯.

程序员思维才是
{
    一切不对称的括号都是异端[i].
}

MD很难让人爱起来,我情愿先码字再排版