標籤:

就我一人覺得markdown太弱嗎?問題出來哪裡?

最近打算建立第一個github項目的時候才發現markdown這貨(我承認我土)。認認真真在pc端寫的「wiki」卻完全放不上去,功能差太多跟重新寫一遍似的。

網上說markdown因為簡單且強大所以受眾甚廣。但當我發現連個特么最起碼的居中或靠右都沒有的時候,我的內心是崩潰的。

我當然搜了很多,看過什麼它有意將標記和排版分開之類的鬼話。但是在沒法用的前提下,要理念、初衷有個卵用?

做五金件兒的說,我的理念是把螺釘和螺母分開設計,然後他就單給我一隻精美的螺母,這不是有病嗎?

可是我看到markdown確實呼聲很高,bitbucket和github都用它。還有人拿它寫日記,寫簡歷,寫情書,寫傳記。本老土實在不明白啊?


我以前也不理解為什麼有人喜歡 MD。MD 是很弱。比 HTML 弱,比 BBcode 弱,比 MediaWiki 語法弱,比 LaTeX 更是不知弱到哪裏去。並且 MD 可擴展性弱,不嚴謹,各方面都比其它標記語言簡單。如果說「標記和排版分開」這個特點的話,XML + XSLT + CSS 比 MD 不知高到哪裡去。

MD 的最大優勢在於,它方便人直接閱讀。也就是說,直接閱讀原 MD 文件也能有很好的體驗,一目了然。

另一個優勢是因為語法簡單,所以 WYSIWYG 非常流暢(此處 LaTeX 倒地不起)。

於是後來我也喜歡上 MD 了。


誰說 markdown 不能居右居中的,即使不考慮內嵌 HTML,事實上 markdown 從未規定文字要居哪兒,這是 CSS renderer 的事情,比如你希望次級標題和區塊引用居中,那你只需要在你的renderer.css,或者直接在md開頭添加

&

h2, blockquote {

text-align: center;

}

&

你希望中文兩格縮進,你只需要在 p 上添加 text-indent: 2em 就行。

樣式內容分離是很先進的做法,包括在 word 等WYSIWYG 編輯器,如果編寫長久維護的文檔,你也應該事先想好需要哪些類型的內容,並事先定義好樣式。

至於大家為什麼那麼喜歡 markdown,因為 markdown 用最簡單的語法滿足了大家的需求。大家寫 markdown 並不是為了追求好看,而是只要結構清晰明了就夠了,我只關心標題之間的層級關係,## 是一個次級標題,### 就是它下面的一個內容,在閱讀渲染完的 markdown 的時候我完全不 care 這段話居左居中居右,不影響我的閱讀效率。

何況md的主要用戶是程序員。。寫文檔已經夠痛苦了,我能把意思表達明白就完了,你居然還要我幫你把文檔調好看?

不過 markdown 可以考慮加一下宏語法讓大家自己添加新的 class 倒是可能可以接受的,雖然沒那麼有必要。


「居中」、「靠右」這些不是文本內容本身,而是視覺排版樣式。

拿 Word 排版而言,

  • 「開題報告」四個字居中,華文黑體,加粗,字型大小小二

  • 「開題報告」四個字是標題;這份文檔中,標題應該居中,華文黑體,加粗,字型大小小二

前者是初學者,後者才是正道。

而 Markdown 所表達的就是文本的屬性(標題),而非樣式(居中、華文黑體……)。樣式交由 Markdown 所生成的 HTML 對應的 CSS 來控制。

當然 Markdown 不完美,所以支持內嵌 HTML 標籤來「擴展」的功能。儘管不推薦,但你仍舊可以通過濫用標籤來達到「居中」、「靠右」的目的。


你不知道GitHub的markdown可以內嵌HTML嗎

嫌棄你可以用Ascii Doc啊,GitHub也支持

實在不行寫個語言編譯到HTML生成README啊

你就是老土,說的真好


markdown最大的不方便是列表,中國人習慣講東西列個1,2,3,然後分別在1,2,3下具體展開,如果把這個1,2,3弄成一個標題,感覺大了,如果1,2,3弄成有序列表,裡面嵌東西又太非標, 各種工具支持的不一樣, 我為這個苦惱了好久, 比如

### 激活過程
1. 用root賬戶登錄
比如 `ssh root@192.168.1.1`
2. 運行命令
比如 `/usr/bin/xxx`
3. 檢查結果
可以看到xxx


為啥功能不強卻流行?一句話回答:簡單夠用。

補充幾句的話,Markdown 是用來寫內容的,不是用來排版的。例如程序員在 GitHub 上大量使用 GFM,是因為它幫助我們專註於內容。語法簡單,熟悉以後可以大大提高溝通效率,配合 GitHub 提供的樣式可以快速了解某條評論、某篇 wiki 中內容的重點,甚至快速跳轉到相關 issue。


你不是一個人。Markdown跟Emacs的Org mode比還是太菜。

還有反人類的換行是怎麼回事。


水能解渴,能煮飯。但你非要說水沒甜味,沒辦法,你只能出門左轉超市買飲料了。


這個問題確實土。

對於用慣 Word 寫開發文檔的「初學者」來說是有點難理解

題主如果覺得 Word(富文本編輯器)更勝一籌,那可以嘗試一下

  • 用 Word 對一百行的代碼做個語法高亮

  • 然後用 Word 把剛才代碼改成夜間模式

  • 對比一下不同版本上千行的 Word 文件,一分鐘內找到哪些地方做了修改?

對比一下左右兩邊內容有什麼不同?答案:跳轉的鏈接不一樣

用 Markdown 這些都不是個事!

開發文檔(不然呢?用來畫花草)注重於內容(文本)和多人協作(方便 Diff)。

富文本編輯器可以方便直觀地排版和設置樣式

但它最致命的缺點是:不方便 Diff 內容變更。因為存儲的文件做了繁雜標記。

doc 是種二進位格式,docx 則是壓縮的 xml 文件集格式。

docx 長這樣

另外如果你願意出錢幫我買份 Word 授權,我也可以勉為其難用 Word 寫開發文檔。

市面上有很多工具:docx -&> html -&> markdown 需要的時候可以尋找

如果你是個人項目(或者你是團隊負責人),用什麼寫開發文檔,開心就好。


如果你要擼 wiki 的話,還是 gh-pages方便


其實現在一堆的「擴展 Markdown」已經沒法做到「源碼仍然可讀」了

所以還不如真的認真開發一個帶宏的格式……


1. md確實比較簡陋

2. 在某些場景下,簡陋可以對抗多餘的複雜,這時md是好東西

3. 從你關注「對齊」這件事來看,你的思路走偏了


原來真的把word導出MD啊。

Markdown弱這件事情李阿玲好像吐槽了好久了。但是你說的不對啊,他不是不能用是你用的方法不對啊。你用word認真寫之後放不進去,那你還怪Markdown?我感覺這是得怪微軟吧?

Markdown的公式我記得可以用LaTeX啊,而且這個我用過啊。你說要是在word裡面的公式導進去那確實我不會。圖也可以啊,而且網上很多教程啊。雖然我沒怎麼用過Markdown但是感覺問題不是出在Markdown,而是你對他不了解,當然他也確實弱,但是我感覺寫wiki沒必要要右對齊什麼的吧?


Markdown的目的是把問題弄簡單——以最簡單的方式寫可以在網頁呈現的文章。

你想的什麼左右浮動之類的,實現也不難,但是把問題弄複雜了。我搞那麼複雜直接用網頁編輯器算了。還用什麼MD?


你,markdown,紐大的老師,IBM的技術面試官。這四個裡面,起碼有一個很有問題。


我來點異樣的聲音。

大家都說 markdown 的好處是內容與樣式分離,可以讓寫者更聚焦於「內容本身」,樣式交給樣式去解決。

「內容本身」究竟是什麼呢?文本來自於語言,語言作為聲音存在時,有抑揚頓挫等各種聲調,這種聲調的高低與間隔時長形成某種規律,就是音樂。音樂可以脫離文本而存在。寫文檔,文檔的排版,是一種視覺上的韻動,對文檔來說,排版布局等樣式是與文本同等重要的內容。

內容與樣式分離,是一個技術上的活,對普通用戶來說,把內容與樣式分離開來維護,就如把歌詞與曲子分開來一樣,是一個很專業的活。

markdown 的弱,是因為 markdown 嘗試讓普通用戶去干專業的活,css 控制樣式和譜曲一樣難,於是各種 markdown 編輯器會自帶幾個曲子。

然而,世間有多少美妙的曲子,就會有多少種美妙的排版。一旦默認曲子滿足不了用戶想表達的情感時,markdown 對普通用戶來說就太難太難了,沒有幾個用戶具備譜曲的能力。

用戶要的是歌,不是歌詞。把歌詞與曲子無縫串起來的編輯器,不是 markdown ,而是 Word 等富文本編輯器,在強大的 Word 目前,markdown 的的確確就是弱爆了。


問題出在你們非要邊寫 MD 邊預覽 HTML,也不知道是誰起的頭。

可能是臭名昭著的 Mou 吧……

MD 自帶結構,根本不需要再多此一舉加個預覽(除了圖片)。


殺雞焉用牛刀?


工具和技術選型一樣,都是建立在所需要場景之上。Markdown 本身當然是一個優秀的標記語言,但它之所以流行不是因為能表達多豐富的排版和樣式,而在於擁有排版能力的同時足夠簡單。

如果說 MS Office 是一個足夠強大的富文本編輯器的話,那麼 Markdown 只是比純文本而言多了一些最基本的樣式而已。對於大多數的文檔編寫來說,80% 的排版和樣式需求都僅限於標題層級、加粗高亮,而 Markdown 正好滿足了這一部分的需求。居中居右對於大多數文檔來說就是偽需求。

排版 樣式能力

排版 樣式操作複雜度

對於開源項目來說,Markdown 除了易於閱讀之外,最重要的一點是 portable。(一般項目)文檔和代碼倉庫一起走,那麼文檔必然需要體積很小,而且便於修改。假如用 *.docx 或者 *.pdf 的話本身體積就大,一修改 Git 會把它當成一個新的 object,倉庫體積像滾雪球一樣越滾越大。

對於題主說到的寫日記、寫簡歷也很正常。很多 bloging 系統用的都是 Markdown,讓寫作專註於內容,不會被排版和樣式過多的干擾。甚至圖靈的出版物(幾十萬字)也是用 Markdown 交稿的,既省事,又易讀,而且還能用版本控制。

另外,安利一下 Typora,所見即所得。所有操作既有可視化 UI,也可以通過快捷鍵完成,簡單高效。


連Markdown的定位都不清楚,不去提前了解,抱怨批判有何意義。就像不知道鉗子幹啥的,卻用它去上螺絲釘,還說這鉗子這東西賊沒用!

Markdown 是一種用來寫作的輕量級的【標記語言】,它用簡潔的語法代替排版,而不像一般我們用的字處理軟體 Word 或 Pages 有大量的排版、字體設置。它使我們專心於碼字,用「標記」語法,來代替常見的排版格式。例如此文從內容到格式,甚至插圖,鍵盤就可以通通搞定了。

所以是你自己的問題。


推薦閱讀:

HyperDown:一個結構清晰,易於維護,現代的 Markdown 解析器
一鍵!將 Word 轉換為 Markdown
Markdown 入門
認識與入門 Markdown
學會優雅實用的 Markdown 寫作,從這篇文章開始吧 | 有用功

TAG:Markdown |