爲何要學習 Markdown?究竟有什麼用?

爲何要學習 Markdown?究竟有什麼用?

做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)javascript

1、什麼是 Markdown?
Markdown 是一種輕量級標記語言,創始人是約翰·格魯伯(John Gruber)。容許人們使用易讀易寫的純文本格式編寫文檔,能夠導出 HTML 、Word、圖像、PDF、Epub 等多種格式的文檔,文檔後綴爲.md,.markdown。
據說Markdown是目前互聯網上最流行的寫做語言,它使用一些簡單的符號# * / > [] ()\來標記文本格式,語法很是簡單。除此以外,還有不少很是好看的格式可自行選擇。php

2、爲何學習 Markdown?
自從運營公衆號起,剛開始那會,我都是經過公衆號後臺編輯的文章。這裏確定有很多讀者,不知道公衆號後臺是如何編輯文章的,給你們看下,具體見下圖。css

爲何要學習 Markdown?究竟有什麼用?

公衆號後臺編輯文章時,不只輸出的同時,還要調整字體大小、加粗、對齊、縮進等一系列的操做,剛開始推送出去的文章,排版總體以爲不是很美觀,後來,慢慢接觸了業界的大佬們吸收了他們的經驗,慢慢改善,逐步轉向了markdown編輯器,排版格式也獲得了讀者們的承認。java

爲何要學習 Markdown?究竟有什麼用?

通過一段時間的研究後,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級標題,一級標題對應一個#號,二級標題對應兩個#號,以此類推。

# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題

爲何要學習 Markdown?究竟有什麼用?

字體

斜體文本:能夠在須要標註爲斜體文本前及斜體文本結尾,輸入一個星號*或者一個下劃線_

粗體文本:能夠在須要標註爲粗體文本前及粗體文本結尾,輸入兩個星號**或者兩個下劃線__

粗斜體文本:能夠在須要標註爲粗斜體文本前及粗斜體文本結尾,輸入三個星號***或者三個下劃線_

*斜體文本*
_斜體文本_
**粗體文本**
__粗體文本__
***粗斜體文本***
___粗斜體文本___

爲何要學習 Markdown?究竟有什麼用?

分隔線

在一行中用三個(以上)的星號、減號、底線來創建一個分隔線,該分隔線行內不能輸出任何其餘文本,也能夠在星號或是減號中間插入空格。

***
* * *
*****
- - -

爲何要學習 Markdown?究竟有什麼用?

刪除線

若是段落上的文字需添加刪除線,在須要添加刪除線的文字首部和尾部加上兩個波浪線~~便可

這行文字已被刪除
這行文字已被刪除

下劃線

若是段落上的文字需添加下劃線,在須要添加下劃線的文字首部和尾部加上<u>文本</u>便可

<u>這行文字已被添加下劃線</u>
這行文字已被添加下劃線

腳註

腳註是對文本的備註說明。

print ^Hello World

爲何要學習 Markdown?究竟有什麼用?

列表

Markdown 支持有序列表和無序列表。

無序列表使用星號(*)、加號(+)或是減號(-)做爲列表標記;

有序列表使用數字並加上 . 號標記;

* 第一
+ 第二
- 第三
1.第四
2.第五
3.第六

爲何要學習 Markdown?究竟有什麼用?

列表嵌套

列表嵌套需在子列表中的選項中添加四個空格

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

爲何要學習 Markdown?究竟有什麼用?

連接

連接語法格式:

連接名稱

或者

<連接地址>
[Linux 環境下實戰 Rsync 備份工具及配置 rsync+inotify 實時同步](https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA)

或者

<https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA>

爲何要學習 Markdown?究竟有什麼用?

除此以外,連接還能夠用變量來代替。

這個連接用 Rsync 備份工具 做爲網址變量 Linux 環境下實戰 Rsync 備份工具及配置 rsync+inotify 實時同步

這個連接用 無人值守安裝 做爲網址變量 RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 實現無人值守安裝

結尾變量地址以下:

爲何要學習 Markdown?究竟有什麼用?
語法格式:

圖片描述
圖片描述

爲何要學習 Markdown?究竟有什麼用?

除此以外,圖片網址使用變量

這個連接用 WeChat 做爲網址變量 WeChat。

變量賦值:

在 Markdown 編輯器是沒法調整圖片的高度與寬度的,如須要可以使用普通的<img>標籤。

<img src="https://mmbiz.qpic.cn/mmbiz_png/nDMNE6lrvW5vhBgOCoUxyvxibYqeibicjWyFzjVIY8fEWVslGUcwPxicOggBCt0Os7ib7KYzqwNLS3sIAmGMxQRlibjg/0?wx_fmt=png" width="50%">

爲何要學習 Markdown?究竟有什麼用?

表格

製做表格使用|來分隔不一樣的單元格,使用-來分隔表頭和其餘行。

表格語法格式:

|  表頭   | 表頭  |  表頭  |
|  ----  | ----  | ----- |
| 單元格  | 單元格 | 單元格 |
| 單元格  | 單元格 | 單元格 |

注意:表格在公衆號預覽時,可能在 PC 端顯示的不是正確的全屏,但在手機上預覽時會正常顯示爲全屏。

爲何要學習 Markdown?究竟有什麼用?

若是你想調整表格的左對齊、右對齊、居中對齊,可按下述方式進行調整;

:-:將表頭及單元格的內容左對齊;
-::將表頭及單元格的內容左對齊;
:-::將表頭及單元格的內容居中對齊;

|  表頭1   | 表頭2  |  表頭3  |  表頭4  |
|  :----  | :----: | :-----: | -----:|
| 單元格1  | 單元格2 | 單元格3 |  單元格4 |
| 單元格1  | 單元格2 | 單元格3 |  單元格4 |

爲何要學習 Markdown?究竟有什麼用?

支持 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 編輯器可以使用反斜槓來進行轉義特殊字符便可;

轉義特殊字符格式:

\*\* 轉義特殊符號正常顯示 \*\*

爲何要學習 Markdown?究竟有什麼用?

科學公式

當須要在 Markdown 編輯器中插入數學公式時,可使用兩個美圓符$$包裹TeX或LaTeX格式的數學公式來實現。

$$E=mc^2$$

$$\sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i + \cos(f))$$

爲何要學習 Markdown?究竟有什麼用?

多行公式

爲何要學習 Markdown?究竟有什麼用?

橫向流程圖

在md2all編輯器是沒法實現流程圖的製做的,能夠在有道雲筆記PC端,新建一個md的文件,開啓源代碼模式進行編輯查看效果;

 
 

graph LR
A(總經理) --> B(技術部)
B --> C{開發/測試/運維}
C --> |開發部| D[開發者1]
C --> |測試部| E[測試者1]
C --> |運維部| F[運維者1]
G[橫向流程圖]

 
 

爲何要學習 Markdown?究竟有什麼用?

豎向流程圖

 
 

graph TD
A(總經理) --> B(技術部)
B --> C{開發/測試/運維}
C --> D[開發者1]
C --> E[測試者1]
C --> F[運維者1]
G[豎向流程圖]

 
 

爲何要學習 Markdown?究竟有什麼用?

標準流程圖

```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=)