為什麼有人說每個開發者都需要學一下Markdown?

DanceWithPython


首先,什麼是 MarkDown 呢?要想清楚為什麼?必須先知道它是什麼?有什麼優點,知道了這兩點,就知道為什麼(原因了)了?

所以,我們必須弄清楚,什麼是 MarkDown 呢?


MarkDown

Markdown 是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。


Markdown 是一種輕量級標記語言,讓使用者專注於寫作而不用關注樣式。它允許人們使用易讀易寫的純文本格式編寫文檔,然後轉換成格式豐富的 HTML 頁面(且 Markdown 是兼容 HTML 語法的)。所以用 Markdown 寫文章,寫文檔是最適合不過的了。

MarkDown 有什麼優勢?

  • 相比其他編輯器的特點,MarkDown 是輕量級標記語言,語法簡單

  • 內容也是文本

  • 格式是統一固定


最大的優勢就是語法簡單,非常輕量,常用的標籤記住幾個就能夠把文檔排的非常漂亮,而是格式非常統一固定,不會因為導出導致排版混亂。所以,非常好。

為什麼開發都需要學一下 MarkDown ?

因為開發者經常要寫文檔,尤其是現在很多程序員和 IT 網站都支持 MarkDown ,比如 GitHub 就是使用 MarkDown 來寫 readme 的。現在很多開發工具以及技術文檔都是 markdown 格式的。


作為程序員和開發者,如果你不懂,那就太落伍了,重點我感覺使用 markdown 寫文檔,簡單,方便,快捷,可以節省開發者很多時間,提高效率。


所以,開發者真的都有必要學習 markdown 。


關注「非著名程序員」,每天分享有價值的科技內容,也歡迎大家在回答底下留言,一起交流分享,另外回答不易,請點贊支持。感謝!

非著名程序員


首先我們來看一下Markdown的百度百科與維基百科是怎麼說

Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。

維基百科說

Markdown is a lightweight markup language with plain text formatting syntax. Its design allows it to be converted to many output formats, but the original tool by the same name only supports HTML.Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

總之,markdown是一種語言,它可以被用來編寫文檔。你可以使用簡單的標記語法,來寫出具有一定格式和樣式的文檔。

markdown被廣泛用於博客程序,在一些博客引擎中,markdown最終會被轉譯為html元素,markdown最終被翻譯為html文檔。使用這種方式的博客引擎有、等。

markdown被github指定為README專用的文檔格式,github中的每一個目錄下的文件都會被當成是當前目錄的解釋文件,被顯示在詳情頁上。

我覺得這一點很重要,GitHub是程序員很重要的網址,而markdown被github指定為README專用的文檔格式,你說程序員需不需要知道呢?


markdown的語法特別簡單,只需要稍作學習,就可以輕鬆運用。

但markdown也有侷限性,例如大多數markdown的使用場景都是在電腦上,由於移動端的輸入特性,markdown沒有一個好的方式為移動端提供支持。再就是markdown支持的格式沒辦法實現類似於論文那樣的精準格式要求,所以不適用於一些對格式要求過強的場景。

markdown基礎語法

markdown文檔的後綴名是。

markdown文檔不需要任何標籤,你可以在一個為後綴名的文件中的任意位置寫符合markdown語法的內容。

markdown語法指的是通用的markdown文檔的約定,不代表下面敘述的內容在實際應用上能被全部編輯器或解釋系統輸出為同樣的結果。通常在博客系統中,markdown還會被轉譯為html,在轉譯過程中,開發者會按照自己的喜好或主題的要求,將markdown內容轉化為一些特定的樣式,將markdown文檔進行相應的美化。但通常來講,markdown文檔都會遵循下面語法所描述的約定。

標題

在一行文字前寫1~6個號,當前行會被當成標題來處理。1個號表示1級標題,字號在標題中最大;6個號表示6級標題,字號在標題中最小。標題會加粗處理,並且單獨佔領一行。

實現效果是

這是一級標題這是二級標題這是三級標題這是四級標題這是五級標題這是六級標題字體

下面將展示一些字體的寫法。

實現結果是

加粗的文字兩邊用兩個包圍

傾斜的文字兩邊用一個包圍

加粗傾斜的文字兩邊用三個包圍

要加刪除線的文字兩邊用兩個包圍

引用

引用的文字使用 來開始,下面的一段都會被顯示為引用形式。例如

這段是引用文字

如果需要多行,可以在引用中使用 來折行。

> 第一行
第二行

第一行 第二行

如果內容太多,則需要使用 標籤,在這個標籤中的所有內容都會被顯示為引用的形式。

這段文字你真的放心不管換幾行都是引用

而且,引用可以和其他標記一起使用。

這段引用裡放了個一級標題

引用可以使用多級

我打算在這引用點東西我打算弄個第二層

分割線

使用 >= 3個的 或 號都可以表示一個分割線。

下邊是兩個分割線

列表

使用 來表示無序列表,符號和內容之間要有一個空格。

  • 列表
  • 列表
  • 無序列表

使用來表示有序列表,數字和內容之間要有一個空格。數字順序不會影響列表真正的數字順序。

  1. 第一個
  2. 第二個
  3. 就算寫的是4實際上也是3

列表之間可以嵌套,子級比父級多打即可。

  1. 第一個
    1. 第一個裡的第一個
    2. 第一個裡的第二個
  2. 第二個
  3. 第三個
  • 我也不敢問
  • 我也不知道
  • 第二個裡咋啥都沒有

鏈接

使用來表示一個點擊了會跳轉的超鏈接。

圖片

使用來表示一個圖片。

表格

表格的格式較複雜,但是一些markdown編輯器都會提供快捷的編寫表格的功能。

表格的格式是

實現效果是

表頭表頭表頭表頭右默認左對齊靠右中右默認左對齊靠右中右默認左對齊靠右中

表格使用類似來分割表頭和身體。表頭、分割線、表體的格子數都要一樣。分割線中不加,該列默認左對齊;右邊加,該列右對齊;兩邊加,該列居中對齊。

原生的markdown語法要求表格兩邊都要用包起來,一些特殊的markdown引擎沒有此要求。

代碼

在多行代碼的第一組三個反引號右邊,可以標註代碼所屬的語言,這樣可以方便markdown轉譯時做相應處理。例如

代碼功能也不一定應用於代碼,在一些文獻的編寫中,可以用於公式。代碼塊的功能主要是可以將裡邊寫入的內容按原樣顯示,不被markdown解釋器所解釋。本文的markdown標記部分全部都是使用代碼塊的方式寫的。

markdown高級用法應用於一些博客系統

在上一篇文章中提到如何使用hexo搭建一個個人博客。搭建成功後,就可以使用markdown語法來寫文章了。由於hexo使用的是markdown引擎,所以在執行的時候markdown會被hexo轉譯為對應的html形式。再加上hexo有優秀的主題模塊,同樣的markdown遇到不同的主題,也會變成不同的樣子。

如果使用typecho博客引擎的話,hi在編寫博客的時候使用markdown,但是不會被馬上轉譯為html。在查看對應內容的時候,typecho會使用markdown解釋器來顯示文檔內容。

如果你會使用html標籤

markdown文檔中是可以插入html標籤的,所以如果你會使用html標籤,你的markdown文檔會更加豐富的。例如我們可以使用css樣式來使markdown文檔內容具有顏色。例如:

這行字是紅色的

雖然markdown支持使用html來豐富內容,但在實際使用上還是不建議過多依賴於這種形式。因為我們選擇使用markdown時就是看中了markdown簡單快速,但是html標籤的支持卻與markdown本身的理念背道而馳。所以建議偶爾使用或者是在必要的時候使用html標籤來增強markdown的功能或者是完成必要的內容,而不是過度依賴於html來編寫markdown文檔。

一些工具typora

推薦使用typora來作為markdown編輯器。它符合markdown的初衷,簡潔、高效。輸入好的一段markdown文檔,會在你光標切換到下一段的時候直接顯示為markdown應該成為的樣式。但是缺點也有一些,例如不支持多標籤,沒有命令行工具。typora支持windows、macOS、Linux平臺,官網提供主題下載功能。

vscode

如果你的電腦上有vscode,同樣推薦你使用vscode來編寫markdown。vscode默認支持markdown解析,並可以將界面分成左右兩邊顯示,左邊輸入markdown文檔,右邊顯示結果。vscode比typora更多地支持命令行工具,所以在使用一些博客系統的時候會感覺到更舒服一些。

vscode也有更多的插件可供選擇,如果對typora的“馬上就能看到結果”不太感興趣的話,不妨試試vscode。

sublime

sublime和vscode原理相同,支持命令行,可以安裝插件。但是vscode完全免費,就沒有嘗試sublime。

結語

markdown真的很好用,很多編輯器也支持將markdown導出為其他格式。試想老闆讓你幾分鐘之內做出一篇文檔,當別人還在等待word打開的時候,你的文檔已經寫好開頭了。當別人給老闆甩過去一個.doc的超大文件,老闆也在等待word打開的時候,你使用markdown生成的html兩秒內就展示在老闆面前了,是不是這樣的結果可以讓人眼前一亮呢。

還有那個notepad,打開就白底黑字,縮進都支持不全,打上去的都是楷體字巴醜巴醜的。還有好多同行在聊天窗口裡打代碼,每行有幾個縮進就按幾個Tab,還不一定縮得準;一個手滑就把換行裡的shift忘掉了導致打了一半的代碼發出去了。所以我求求你們了,都學一學markdown吧,真的比你們用的好用好幾百倍,效果更是比你們實現的效果強好幾千倍。


源源而來


Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。

Markdown具有一系列衍生版本,用於擴展Markdown的功能(如表格、腳註、內嵌HTML等等),這些功能原初的Markdown尚不具備,它們能讓Markdown轉換成更多的格式,例如LaTeX,Docbook。Markdown增強版中比較有名的有Markdown Extra、MultiMarkdown、 Maruku等。這些衍生版本要麼基於工具,如Pandoc;要麼基於網站,如GitHub和Wikipedia,在語法上基本兼容,但在一些語法和渲染效果上有改動。

Markdown的語法簡潔明瞭、學習容易,而且功能比純文本更強,因此有很多人用它寫博客。世界上最流行的博客平臺WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全採用Markdown編輯器的博客平臺有Ghost和Typecho。

用於編寫說明文檔,並且以“README.md”的文件名保存在軟件的目錄下面。

除此之外,由於我們有了RStudio這樣的神級編輯器,我們還可以快速將Markdown轉化為演講PPT、Word產品文檔、LaTex論文甚至是用非常少量的代碼完成最小可用原型。在數據科學領域,Markdown已經廣泛使用,極大地推進了動態可重複性研究的歷史進程。

綜上,如果開發者學習了Markdown之後,就會有很多可以借鑑的地方。


優良家風


與其說每個程序員要學一下 Markdown,不如說每個程序員都要養成寫文檔的能力。程序員平時的日常工作中,經常會使用文檔去記錄一些工作方面的信息以及一些技術架構的設計等等。打個比方,我日常就會使用文檔記錄一些 Linux 方面的命令和一些有用的網址,這些信息有時候我不可能每個都記住,文檔方面的記錄,也便於我以後的回顧使用。

Markdown 本質是一門輕量級標記語言,一般使用 Markdown 用來編寫文檔。我剛開始寫文檔時,用的最多的還是 Word 進行編輯,但是用的時間一久,發現我很多精力會消耗在文檔的格式編排上面。比如字體加粗、字體的大小設置、標題設置、表格、圖片等等,有時候弄格式的時間比寫文檔還長,這也肯定不是我們程序員想要的。

後來的話,我開始使用 Markdown 語法來編輯文檔。程序員日常工作中,最多的還是寫代碼。使用 Markdown 的好處是,在格式方面的編排全都是相關符號進行編排,全部都是自己手打各種符號來編輯格式。寫一篇文檔,感覺就像一直在寫代碼一樣,這對於程序員來說,很熟悉和方便。我現在使用 Typora 這款軟件寫 Markdown 文檔,整體編寫非常順暢。

學習 Markdown 的終極目的,還是為了日常工作的文檔編寫。可能你在工作中,經常聽到主管們說要有工作沉澱,那麼文檔沉澱,也算其中一種。健全的文檔,能夠幫助新人快速的融入和熟悉將要從事的工作內容。自己多寫文檔,進行總結,其實對於自己的技術提升也是很大的一種幫助,自己未來也可以再進行回顧學習。

寫文檔的其他一個方面,尤其是技術文檔,可以提升個人的技術影響力,尤其是你未來晉升的時候,個人的影響力是一個評判的標準。你編寫的技術文檔給別人看,幫助別人解決問題和技術學習,那麼你的技術就會得到別人的認可,未來在這方面的技術難題時,別人都會來找你,你所起的作用,在公司裡面,也會更大。

我是Lake,專注大數據技術原理、人工智能、數據庫技術、程序員經驗分享,如果我的問答對你有幫助的話,希望你能點贊關注我,感謝。

我會持續大數據、數據庫方面的內容,如果你有任何問題,也歡迎關注私信我,我會認真解答每一個問題。期待您的關注


Lake說科技


因為大部分人沒說,只有少數人說了,所以叫有人說。為什麼少數人要這麼說,我估計是因為他學會了,而他看好多其他人還不會,優越感和自豪感油然而生。這種感覺,可能就像使用git的人說大家都應該學git而不是SVN,使用idea的人有人說不要eclipse,使用GO丟棄c++,使用PYTHON不用PHP。其實,markdown如果只是使用,學習時間只需要幾分鐘入門極為容易,學學當然沒壞處,技多不壓身。但肯定沒到每個開發者都必須學的地步。它更多作用是寫文檔,現在寫文檔的工具多了去了,選擇餘地很大。

當然,我也建議大家都學一學。[馬思純的微笑]



編程圈


開發者?搞過HTML、XML之後,Markdown 還用學?


分享到:


相關文章: