为什么要学习 Markdown?究竟有什么用?怎么用?
作者:JackTian
微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)
一、什么是 Markdown?
Markdown 是一種輕量級(jí)標(biāo)記語言,創(chuàng)始人是約翰·格魯伯(John Gruber)。允許人們使用易讀易寫的純文本格式編寫文檔,可以導(dǎo)出 HTML 、Word、圖像、PDF、Epub 等多種格式的文檔,文檔后綴為.md,.markdown。
聽說Markdown是目前互聯(lián)網(wǎng)上最流行的寫作語言,它使用一些簡(jiǎn)單的符號(hào)# * / > [] ()\來標(biāo)記文本格式,語法非常簡(jiǎn)單。除此之外,還有很多非常好看的格式可自行選擇。
二、為什么學(xué)習(xí) Markdown?
自從運(yùn)營(yíng)公眾號(hào)起,剛開始那會(huì),我都是通過公眾號(hào)后臺(tái)編輯的文章。這里肯定有不少讀者,不知道公眾號(hào)后臺(tái)是如何編輯文章的,給大家看下,具體見下圖。
公眾號(hào)后臺(tái)編輯文章時(shí),不僅輸出的同時(shí),還要調(diào)整字體大小、加粗、對(duì)齊、縮進(jìn)等一系列的操作,剛開始推送出去的文章,排版整體覺得不是很美觀,后來,慢慢接觸了業(yè)界的大佬們吸取了他們的經(jīng)驗(yàn),慢慢改善,逐步轉(zhuǎn)向了markdown編輯器,排版格式也得到了讀者們的認(rèn)可。
經(jīng)過一段時(shí)間的研究后,Markdown 編輯器不僅可以幫助公眾號(hào)排版之外,還可以給其他文檔進(jìn)行排版,使其文章更有結(jié)構(gòu)感,整體布局也更加好看。我相信大家,只要你喜歡記錄和輸出,Markdown 是一個(gè)非常值得學(xué)習(xí)和掌握的技能,良好的平臺(tái)擴(kuò)展性,專注于寫作本身而不是格式。
三、Markdown 編輯器工具
平臺(tái)文章編輯器:簡(jiǎn)書、CSDN 等;
本地APP:MarkText、Typora、Notable、vnote 等;
Web APP:md2all、mdeditor 等;
四、Markdown 有哪些特點(diǎn)?
一鍵創(chuàng)建
支持主流的語法
支持插入圖片
支持多種模式切換
跨平臺(tái)同步
演示模式
…
五、Markdown 的基本語法
Markdown 標(biāo)題
使用#號(hào)可表示1-6級(jí)標(biāo)題,一級(jí)標(biāo)題對(duì)應(yīng)一個(gè)#號(hào),二級(jí)標(biāo)題對(duì)應(yīng)兩個(gè)#號(hào),以此類推。
#?一級(jí)標(biāo)題 ##?二級(jí)標(biāo)題 ###?三級(jí)標(biāo)題 ####?四級(jí)標(biāo)題 #####?五級(jí)標(biāo)題 ######?六級(jí)標(biāo)題字體
斜體文本:可以在需要標(biāo)注為斜體文本前及斜體文本結(jié)尾,輸入一個(gè)星號(hào)*或者一個(gè)下劃線_
粗體文本:可以在需要標(biāo)注為粗體文本前及粗體文本結(jié)尾,輸入兩個(gè)星號(hào)**或者兩個(gè)下劃線__
粗斜體文本:可以在需要標(biāo)注為粗斜體文本前及粗斜體文本結(jié)尾,輸入三個(gè)星號(hào)***或者三個(gè)下劃線_
*斜體文本* _斜體文本_ **粗體文本** __粗體文本__ ***粗斜體文本*** ___粗斜體文本___分隔線
在一行中用三個(gè)(以上)的星號(hào)、減號(hào)、底線來建立一個(gè)分隔線,該分隔線行內(nèi)不能輸出任何其他文本,也可以在星號(hào)或是減號(hào)中間插入空格。
*** *?*?* ***** -?-?-?刪除線
如果段落上的文字需添加刪除線,在需要添加刪除線的文字首部和尾部加上兩個(gè)波浪線~~即可
~~這行文字已被刪除~~這行文字已被刪除
下劃線
如果段落上的文字需添加下劃線,在需要添加下劃線的文字首部和尾部加上<u>文本</u>即可
<u>這行文字已被添加下劃線</u>這行文字已被添加下劃線
腳注
腳注是對(duì)文本的備注說明。
print ^Hello World
[^Hello World]:你好,世界
列表
Markdown 支持有序列表和無序列表。
無序列表使用星號(hào)(*)、加號(hào)(+)或是減號(hào)(-)作為列表標(biāo)記;
有序列表使用數(shù)字并加上 . 號(hào)標(biāo)記;
*?第一 +?第二 -?第三 1.第四 2.第五 3.第六列表嵌套
列表嵌套需在子列表中的選項(xiàng)中添加四個(gè)空格
1.?第一-?第一個(gè)列表嵌套 2.?第二-?第二個(gè)列表嵌套第一
第一個(gè)列表嵌套
第二
第二個(gè)列表嵌套
引用
Markdown 引用需在段落開頭使用>符號(hào),后面緊跟一個(gè)空格符號(hào),不加也可。
>?這是一個(gè)引用 >?作者:JackTian >?微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)這是一個(gè)引用
作者:JackTian
微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)除上述引用外,還可以嵌套,一個(gè)>符號(hào)在第一層,兩個(gè)>符號(hào)是第一層的嵌套,以此類推。
>?這是一個(gè)引用 >?>?作者:JackTian >?>?>?微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)這是一個(gè)引用
作者:JackTian
微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)
引用中使用列表
>?引用列表 >?*?這是一個(gè)引用 >?-?作者:JackTian >?1. 微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)引用列表
這是一個(gè)引用
作者:JackTian
微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)
列表中使用引用 1
這是一個(gè)引用
作者:JackTian
微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)列表中使用引用 2
列表中使用引用
如要在列表中使用引用,需要在>號(hào)前添加四個(gè)空格的縮進(jìn)。
-?列表中使用引用?1>?這是一個(gè)引用>?作者:JackTian>?微信公眾號(hào):杰哥的IT之旅(ID:Jake_Internet)-?列表中使用引用?2代碼
markdown對(duì)代碼塊的語法是開始和結(jié)束行都要添加:```,其中 ` 為windows鍵盤左上角那個(gè),要精確指定語言(如:java、cpp、css、xml、javascript、python、php、go、kotlin、lua、objectivec等等)時(shí),在頭部直接指定,如:```java
#!/bin/bash .?/etc/init.d/functions for?var?in?{11..59}; do ip=172.16.1.$var ping?-c2?$ip?>/dev/null?2>&1 if?[?$??=?0?];then action?"$ip"?/bin/true else action?"$ip"?/bin/false fi don鏈接
鏈接語法格式:
[鏈接名稱](鏈接地址)或者<鏈接地址> [Linux?環(huán)境下實(shí)戰(zhàn)?Rsync?備份工具及配置?rsync+inotify?實(shí)時(shí)同步](https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA)或者<https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA>除此之外,鏈接還可以用變量來代替。
這個(gè)鏈接用 Rsync 備份工具 作為網(wǎng)址變量 Linux 環(huán)境下實(shí)戰(zhàn) Rsync 備份工具及配置 rsync+inotify 實(shí)時(shí)同步
這個(gè)鏈接用 無人值守安裝 作為網(wǎng)址變量 RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 實(shí)現(xiàn)無人值守安裝
結(jié)尾變量地址如下:
[Linux?環(huán)境下實(shí)戰(zhàn)?Rsync?備份工具及配置?rsync+inotify?實(shí)時(shí)同步]:?https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA [RHEL?6?下?DHCP+TFTP+FTP+PXE+Kickstart?實(shí)現(xiàn)無人值守安裝]:?https://mp.weixin.qq.com/s/YcPnTT74HfturmINeDvCeA圖片
圖片語法格式:
 題")除此之外,圖片網(wǎng)址使用變量
這個(gè)鏈接用 WeChat 作為網(wǎng)址變量 WeChat。
變量賦值:
[WeChat]:https://mmbiz.qpic.cn/mmbiz_png/nDMNE6lrvW5vhBgOCoUxyvxibYqeibicjWyFzjVIY8fEWVslGUcwPxicOggBCt0Os7ib7KYzqwNLS3sIAmGMxQRlibjg/0?wx_fmt=png在 Markdown 編輯器是無法調(diào)整圖片的高度與寬度的,如需要可使用普通的<img>標(biāo)簽。
<img?src="https://mmbiz.qpic.cn/mmbiz_png/nDMNE6lrvW5vhBgOCoUxyvxibYqeibicjWyFzjVIY8fEWVslGUcwPxicOggBCt0Os7ib7KYzqwNLS3sIAmGMxQRlibjg/0?wx_fmt=png"?width="50%">表格
制作表格使用|來分隔不同的單元格,使用-來分隔表頭和其他行。
表格語法格式:
|??表頭???|?表頭??|??表頭??| |??----??|?----??|?-----?| |?單元格??|?單元格?|?單元格?| |?單元格??|?單元格?|?單元格?|注意:表格在公眾號(hào)預(yù)覽時(shí),可能在 PC 端顯示的不是正確的全屏,但在手機(jī)上預(yù)覽時(shí)會(huì)正常顯示為全屏。
如果你想調(diào)整表格的左對(duì)齊、右對(duì)齊、居中對(duì)齊,可按下述方式進(jìn)行調(diào)整;
:-:將表頭及單元格的內(nèi)容左對(duì)齊;
-::將表頭及單元格的內(nèi)容左對(duì)齊;
:-::將表頭及單元格的內(nèi)容居中對(duì)齊;
支持 HTML 元素
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等;
不在 Markdown 涵蓋范圍之內(nèi)的標(biāo)簽,可直接在文檔里面用 HTML 撰寫,通過md2all編輯器是無法顯示使用<kbd>Ctrl</kbd>+<kbd>C</kbd>復(fù)制文本 HTML 元素的,這里大家可以結(jié)合mdeditor編輯器平臺(tái)來實(shí)現(xiàn)。
使用?<kbd>Ctrl</kbd>+<kbd>C</kbd>?復(fù)制文本轉(zhuǎn)義
在 Markdown 編輯器里面使用了很多特殊符號(hào)來表示特定的意義,該特殊符號(hào)將不再顯示。那么如果需要想讓這些特殊符號(hào)顯示出來,則需要使用轉(zhuǎn)義字符,Markdown 編輯器可使用反斜杠來進(jìn)行轉(zhuǎn)義特殊字符即可;
轉(zhuǎn)義特殊字符格式:
\*\*?轉(zhuǎn)義特殊符號(hào)正常顯示?\*\*科學(xué)公式
當(dāng)需要在 Markdown 編輯器中插入數(shù)學(xué)公式時(shí),可以使用兩個(gè)美元符$$包裹TeX或LaTeX格式的數(shù)學(xué)公式來實(shí)現(xiàn)。
$$E=mc^2$$$$\sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i?+?\cos(f))$$多行公式
橫向流程圖
在md2all編輯器是無法實(shí)現(xiàn)流程圖的制作的,可以在有道云筆記PC端,新建一個(gè)md的文件,開啟源代碼模式進(jìn)行編輯查看效果;
``` graph?LR A(總經(jīng)理)?-->?B(技術(shù)部)B?-->?C{開發(fā)/測(cè)試/運(yùn)維}C?-->?|開發(fā)部|?D[開發(fā)者1]C?-->?|測(cè)試部|?E[測(cè)試者1]C?-->?|運(yùn)維部|?F[運(yùn)維者1]G[橫向流程圖]```豎向流程圖
``` graph?TD A(總經(jīng)理)?-->?B(技術(shù)部)B?-->?C{開發(fā)/測(cè)試/運(yùn)維}C?-->?D[開發(fā)者1]C?-->?E[測(cè)試者1]C?-->?F[運(yùn)維者1]G[豎向流程圖] ```標(biāo)準(zhǔn)流程圖
```flow st=>start:?用戶登陸 op=>operation:?登陸操作 cond=>condition:?登陸成功?Yes?or?No? e=>end:?進(jìn)入后臺(tái)st->op->cond cond(yes)->e cond(no)->op ```標(biāo)準(zhǔn)流程圖(橫向)
```flow st=>start:?用戶登陸 op=>operation:?登錄操作 cond=>condition:?登陸成功(Yes or No?) sub1=>subroutine:?重新登錄 io=>inputoutput:?開始操作后臺(tái) e=>end:?退出系統(tǒng) st(right)->op(right)->cond cond(yes)->io(bottom)->e cond(no)->sub1(right)->op ```UML時(shí)序圖
```sequence 好友A->好友C: Hello,好友C!(請(qǐng)求) Note?left?of?好友A:?一段有趣的對(duì)話 好友C-->好友A: Hi,好友A!(響應(yīng)) 好友A->好友B: Good night! 好友B-->好友A: Good night! 好友C->好友B:? How are you? 好友B-->好友C: Fine,thank you! ```UML 復(fù)雜時(shí)序圖
```sequence Title:?標(biāo)題:這是一個(gè)復(fù)雜的 UML 時(shí)序圖 好友A->好友C: Hello,好友C!(請(qǐng)求) Note?right?of?好友C:?好友C的描述 Note?left?of?好友A:?好友A的描述(提示) 好友C-->好友A: Hi,好友A!(響應(yīng)) 好友B->小三:?小三,你還好嗎? 小三-->>好友A:?好友B,今天找我了,問我還好嗎? 好友A->好友B:?那你怎么回復(fù)小三的呢? Note over 小三,好友B:?好久不見,我們還是好朋友。 participant?好友D Note right of 好友D:?居然沒人問我???```除了上面舉例的橫向流程圖、豎向流程圖、標(biāo)準(zhǔn)流程圖、標(biāo)準(zhǔn)流程圖(橫向)、UML時(shí)序圖、UML復(fù)雜時(shí)序圖,還有UML標(biāo)準(zhǔn)時(shí)序圖、甘特圖等等。
六、Markdown 可以在哪個(gè)平臺(tái)編寫文章?
在上面第三標(biāo)題內(nèi)簡(jiǎn)單介紹了幾款平臺(tái)文章編輯器、本地 APP、Web APP,結(jié)合我自身情況,現(xiàn)在用的是md2all編輯器來寫文章,只需簡(jiǎn)單的一些特殊字符來完成即可,不會(huì)把整體的文章搞的花里胡哨的。
大家也可以根據(jù)自己的需求,選擇適合自己的。這里也歡迎大家留言說說,你是通過什么 Markdown 編輯器工具來寫文章的。
七、怎么將 Markdown 編寫的文章與公眾號(hào)平臺(tái)相結(jié)合?
公眾號(hào)編輯器是一個(gè)富文本編輯器,樣式都比較基礎(chǔ),不支持直接用Markdown語法來編輯文本。
我個(gè)人是通過md2all編輯器編寫好后,然后復(fù)制粘貼到公眾號(hào),所有的樣式渲染地很完美,包括圖片加載等等,且格式也不會(huì)變的很亂。?(備注:這里有修改)
推薦一個(gè)神網(wǎng)站mdnice.com,可以將Markdown源文件復(fù)制Markdown編輯器,預(yù)覽窗口即可顯示效果,并可以復(fù)制到微信公眾號(hào)或者知乎。
效果圖:
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)在線手冊(cè)AI基礎(chǔ)下載(pdf更新到25集)備注:加入本站微信群或者qq群,請(qǐng)回復(fù)“加群”獲取一折本站知識(shí)星球優(yōu)惠券,請(qǐng)回復(fù)“知識(shí)星球”
喜歡文章,點(diǎn)個(gè)在看
總結(jié)
以上是生活随笔為你收集整理的为什么要学习 Markdown?究竟有什么用?怎么用?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文浅析】Semi-supervise
- 下一篇: NeurIPS 2019:计算机视觉论文