做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)javascript
1、什麼是 Markdown?
Markdown 是一種輕量級標記語言,創始人是約翰·格魯伯(John Gruber)。容許人們使用易讀易寫的純文本格式編寫文檔,能夠導出 HTML 、Word、圖像、PDF、Epub 等多種格式的文檔,文檔後綴爲.md,.markdown。
據說Markdown是目前互聯網上最流行的寫做語言,它使用一些簡單的符號# * / > [] ()\來標記文本格式,語法很是簡單。除此以外,還有不少很是好看的格式可自行選擇。php
2、爲何學習 Markdown?
自從運營公衆號起,剛開始那會,我都是經過公衆號後臺編輯的文章。這裏確定有很多讀者,不知道公衆號後臺是如何編輯文章的,給你們看下,具體見下圖。css
公衆號後臺編輯文章時,不只輸出的同時,還要調整字體大小、加粗、對齊、縮進等一系列的操做,剛開始推送出去的文章,排版總體以爲不是很美觀,後來,慢慢接觸了業界的大佬們吸收了他們的經驗,慢慢改善,逐步轉向了markdown編輯器,排版格式也獲得了讀者們的承認。java
通過一段時間的研究後,Markdown 編輯器不只能夠幫助公衆號排版以外,還能夠給其餘文檔進行排版,使其文章更有結構感,總體佈局也更加好看。我相信你們,只要你喜歡記錄和輸出,Markdown 是一個很是值得學習和掌握的技能,良好的平臺擴展性,專一於寫做自己而不是格式。python
3、Markdown 編輯器工具
平臺文章編輯器:簡書、CSDN 等;windows
本地APP:MarkText、Typora、Notable、vnote 等;bash
Web APP:md2all、mdeditor 等;微信
4、Markdown 有哪些特色?
一鍵建立markdown
支持主流的語法運維
支持插入圖片
支持多種模式切換
跨平臺同步
演示模式
…
5、Markdown 的基本語法
Markdown 標題
使用#號可表示1-6級標題,一級標題對應一個#號,二級標題對應兩個#號,以此類推。
# 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題 ###### 六級標題
字體
斜體文本:能夠在須要標註爲斜體文本前及斜體文本結尾,輸入一個星號*或者一個下劃線_
粗體文本:能夠在須要標註爲粗體文本前及粗體文本結尾,輸入兩個星號**或者兩個下劃線__
粗斜體文本:能夠在須要標註爲粗斜體文本前及粗斜體文本結尾,輸入三個星號***或者三個下劃線_
*斜體文本* _斜體文本_ **粗體文本** __粗體文本__ ***粗斜體文本*** ___粗斜體文本___
分隔線
在一行中用三個(以上)的星號、減號、底線來創建一個分隔線,該分隔線行內不能輸出任何其餘文本,也能夠在星號或是減號中間插入空格。
*** * * * ***** - - -
刪除線
若是段落上的文字需添加刪除線,在須要添加刪除線的文字首部和尾部加上兩個波浪線~~便可
這行文字已被刪除
這行文字已被刪除
下劃線
若是段落上的文字需添加下劃線,在須要添加下劃線的文字首部和尾部加上<u>文本</u>便可
<u>這行文字已被添加下劃線</u>
這行文字已被添加下劃線
腳註
腳註是對文本的備註說明。
print ^Hello World
列表
Markdown 支持有序列表和無序列表。
無序列表使用星號(*)、加號(+)或是減號(-)做爲列表標記;
有序列表使用數字並加上 . 號標記;
* 第一 + 第二 - 第三 1.第四 2.第五 3.第六
列表嵌套
列表嵌套需在子列表中的選項中添加四個空格
1. 第一 - 第一個列表嵌套 2. 第二 - 第二個列表嵌套
第一
第一個列表嵌套
第二
第二個列表嵌套
引用
Markdown 引用需在段落開頭使用>符號,後面緊跟一個空格符號,不加也可。
> 這是一個引用 > 做者:JackTian > 微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
這是一個引用
做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
除上述引用外,還能夠嵌套,一個>符號在第一層,兩個>符號是第一層的嵌套,以此類推。
> 這是一個引用 > > 做者:JackTian > > > 微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
這是一個引用
做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
引用中使用列表
> 引用列表 > * 這是一個引用 > - 做者:JackTian > 1. 微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
引用列表
這是一個引用
做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
列表中使用引用
如要在列表中使用引用,須要在>號前添加四個空格的縮進。
- 列表中使用引用 1 > 這是一個引用 > 做者:JackTian > 微信公衆號:傑哥的IT之旅(ID:Jake_Internet) - 列表中使用引用2
列表中使用引用 1
這是一個引用
做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)
列表中使用引用 2
代碼
markdown對代碼塊的語法是開始和結束行都要添加:,其中 ` 爲windows鍵盤左上角那個,要精確指定語言(如:java、cpp、css、xml、javascript、python、php、go、kotlin、lua、objectivec等等)時,在頭部直接指定,如:
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 環境下實戰 Rsync 備份工具及配置 rsync+inotify 實時同步](https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA) 或者 <https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA>
除此以外,連接還能夠用變量來代替。
這個連接用 Rsync 備份工具 做爲網址變量 Linux 環境下實戰 Rsync 備份工具及配置 rsync+inotify 實時同步
這個連接用 無人值守安裝 做爲網址變量 RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 實現無人值守安裝
結尾變量地址以下:
語法格式:
除此以外,圖片網址使用變量
這個連接用 WeChat 做爲網址變量 WeChat。
變量賦值:
在 Markdown 編輯器是沒法調整圖片的高度與寬度的,如須要可以使用普通的<img>標籤。
<img src="https://mmbiz.qpic.cn/mmbiz_png/nDMNE6lrvW5vhBgOCoUxyvxibYqeibicjWyFzjVIY8fEWVslGUcwPxicOggBCt0Os7ib7KYzqwNLS3sIAmGMxQRlibjg/0?wx_fmt=png" width="50%">
表格
製做表格使用|來分隔不一樣的單元格,使用-來分隔表頭和其餘行。
表格語法格式:
| 表頭 | 表頭 | 表頭 | | ---- | ---- | ----- | | 單元格 | 單元格 | 單元格 | | 單元格 | 單元格 | 單元格 |
注意:表格在公衆號預覽時,可能在 PC 端顯示的不是正確的全屏,但在手機上預覽時會正常顯示爲全屏。
若是你想調整表格的左對齊、右對齊、居中對齊,可按下述方式進行調整;
:-:將表頭及單元格的內容左對齊;
-::將表頭及單元格的內容左對齊;
:-::將表頭及單元格的內容居中對齊;
| 表頭1 | 表頭2 | 表頭3 | 表頭4 | | :---- | :----: | :-----: | -----:| | 單元格1 | 單元格2 | 單元格3 | 單元格4 | | 單元格1 | 單元格2 | 單元格3 | 單元格4 |
支持 HTML 元素
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等;
不在 Markdown 涵蓋範圍以內的標籤,可直接在文檔裏面用 HTML 撰寫,經過md2all編輯器是沒法顯示使用<kbd>Ctrl</kbd>+<kbd>C</kbd>複製文本 HTML 元素的,這裏你們能夠結合mdeditor編輯器平臺來實現。
使用 <kbd>Ctrl</kbd>+<kbd>C</kbd> 複製文本
轉義
在 Markdown 編輯器裏面使用了不少特殊符號來表示特定的意義,該特殊符號將再也不顯示。那麼若是須要想讓這些特殊符號顯示出來,則須要使用轉義字符,Markdown 編輯器可以使用反斜槓來進行轉義特殊字符便可;
轉義特殊字符格式:
\*\* 轉義特殊符號正常顯示 \*\*
科學公式
當須要在 Markdown 編輯器中插入數學公式時,可使用兩個美圓符$$包裹TeX或LaTeX格式的數學公式來實現。
$$E=mc^2$$ $$\sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i + \cos(f))$$
多行公式
橫向流程圖
在md2all編輯器是沒法實現流程圖的製做的,能夠在有道雲筆記PC端,新建一個md的文件,開啓源代碼模式進行編輯查看效果;
graph LR
A(總經理) --> B(技術部)
B --> C{開發/測試/運維}
C --> |開發部| D[開發者1]
C --> |測試部| E[測試者1]
C --> |運維部| F[運維者1]
G[橫向流程圖]
豎向流程圖
graph TD
A(總經理) --> B(技術部)
B --> C{開發/測試/運維}
C --> D[開發者1]
C --> E[測試者1]
C --> F[運維者1]
G[豎向流程圖]
標準流程圖
```flow st=>start: 用戶登錄 op=>operation: 登錄操做 cond=>condition: 登錄成功 Yes or No? e=>end: 進入後臺 st->op->cond cond(yes)->e cond(no)->op
![](https://s4.51cto.com/images/blog/202101/24/b448f225ab16f234aa25fe1cd548bfa7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 標準流程圖(橫向)
st=>start: 用戶登錄 op=>operation: 登陸操做 cond=>condition: 登錄成功(Yes or No?) sub1=>subroutine: 從新登陸 io=>inputoutput: 開始操做後臺 e=>end: 退出系統 st(right)->op(right)->cond cond(yes)->io(bottom)->e cond(no)->sub1(right)->op
![](https://s4.51cto.com/images/blog/202101/24/81ac7e0e2d74a12468e2c493b6141161.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) UML時序圖
好友A->好友C: Hello,好友C!(請求) Note left of 好友A: 一段有趣的對話 好友C-->好友A: Hi,好友A!(響應) 好友A->好友B: Good night! 好友B-->好友A: Good night! 好友C->好友B: How are you? 好友B-->好友C: Fine,thank you!
![](https://s4.51cto.com/images/blog/202101/24/c30020cf243902df2855e320b9f71c3f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) UML 複雜時序圖
Title: 標題:這是一個複雜的 UML 時序圖 好友A->好友C: Hello,好友C!(請求) Note right of 好友C: 好友C的描述 Note left of 好友A: 好友A的描述(提示) 好友C-->好友A: Hi,好友A!(響應) 好友B->小三: 小三,你還好嗎? 小三-->>好友A: 好友B,今天找我了,問我還好嗎? 好友A->好友B: 那你怎麼回覆小三的呢? Note over 小三,好友B: 很久不見,咱們仍是好朋友。 participant 好友D Note right of 好友D: 竟然沒人問我???
![](https://s4.51cto.com/images/blog/202101/24/f7b127403cf140abb9e87acba30de771.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 除了上面舉例的橫向流程圖、豎向流程圖、標準流程圖、標準流程圖(橫向)、UML時序圖、UML複雜時序圖,還有UML標準時序圖、甘特圖等等。 **6、Markdown 能夠在哪一個平臺編寫文章?** 在上面第三標題內簡單介紹了幾款平臺文章編輯器、本地 APP、Web APP,結合我自身狀況,如今用的是md2all編輯器來寫文章,只需簡單的一些特殊字符來完成便可,不會把總體的文章搞的花裏胡哨的。 你們也能夠根據本身的需求,選擇適合本身的。這裏也歡迎你們留言說說,你是經過什麼 Markdown 編輯器工具來寫文章的。 **7、怎麼將 Markdown 編寫的文章與公衆號平臺相結合?** 公衆號編輯器是一個富文本編輯器,樣式都比較基礎,不支持直接用Markdown語法來編輯文本。 我我的是經過md2all編輯器編寫好後,而後複製粘貼到公衆號,全部的樣式渲染地很完美,包括圖片加載等等,且格式也不會變的很亂。 複製前的效果圖: ![](https://s4.51cto.com/images/blog/202101/24/26a23fe2e5e25259684d417280d59413.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 複製到公衆號編輯器後的效果圖: ![](https://s4.51cto.com/images/blog/202101/24/1ef6edd6babb5890acdf6714c9127b03.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)