标记语言Markdown介绍以及日常使用
Markdown介紹
- Markdown是一種文本標記語言,用于快速文檔排版
- Markdown文件為純文本文件,后綴名為 .md
- Markdown介于Word和HTML之間
- 比起Word,Markdown是純文本,排版文檔輕量、方便、快速。
- 比起HTML,Markdown簡單直觀,易讀、易寫、易修改
Markdown優點
- 簡單、流行、B格高且使用廣泛,排版功能足夠使用(不足之處可用HTML、CSS彌補)
- 廣泛用于用于辦公、文字工作者、程序員等人員日常文檔的寫作排版
Markdown缺點
- 太簡單,很多復雜的專業排版樣式功能無法實現,只適用于要求不高的文字排版場合(辦公、技術文檔等)
Markdown編輯器
- 任意文本編輯器
- 專業Markdown編輯器:支持Markdown文檔排版后預覽,適合文字工作者
- MAC:mou,macdown
- Windows:MarkdownPad
- 自帶預覽功能的專業代碼編輯器:適合編程、分析等理工類應用
- VSCode 原生支持預覽
- Atom 原生支持預覽,并可將md文件另存為HTML文件
- Jupyter Notebook 科學工作者和程序員用交互式筆記本,網頁版,可用于數據分析、教學、演講等
Markdown預覽
- Atom:
- 預覽快捷鍵:Ctrl+Shift+M
- 或:Ctrl+Shift+P - 命令窗口輸入 markdown ,回車
- VSCode:md文件右上方-打開側邊欄預覽
Markdown語法
Markdown有很多擴展方言,這里使用GFM(Github Flavored Markdown)
如何速成Markdown?
一份Markdown格式的文件, 應該要能以純文字形式直接發表, 并且一眼看過去不存在任何標記用的標簽或格式指令。- John Gruber- 不要機械記憶Markdown標記,如果由我發明一種格式標記語言,寫文章時候如何表示標題、段落、列表,你就知道Markdown是怎么發明出來的了。
Markdown基本語法:
- 1:標題(# h1-h6)
- 2:空格、段落和換行(<p><br>)
- 3:超鏈接([]() <a>)
- 4:圖片(![]() <img>)和公式
- 5:列表(<ul><ol><li>)
- 6:代碼塊(``` <pre>)
- 7:著重、強調(** <em><strong>)
- 8:表格(-|-|- <table>)
- 9:轉義字符(\)
- 10:分隔線(--- <hr>)
1:標題(# h1-h6)
<!-- 標題用 2個或2個以上的=或- -->一級標題 ==二級標題 --<!-- 或者: --># 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題 ###### 六級標題一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
2:空格、段落和換行(<p><br>)
- 空格:直接在編輯器空格或換行,md都只顯示為一個空格
- 段落:回車兩次,編輯器換兩行,顯示為段落(p標簽)
少見情況:
- 多個空格:語義性原因不建議這么做,可直接寫HTML轉義字符
- 換行:上一行結尾加兩個空格再回車(<br>)。建議少用,可用無序列表代替
- 連續換行多行:語義性原因不建議這么做,可直接寫HTML換行標簽<br>
空 格沒 ????換行
段落
本行結尾空兩格
回車就會換一行
連續換行多行
換行結束
3:超鏈接([]() <a>)
3.1:直接寫鏈接地址:http://www.aaa.com/ (VSCode不支持)3.2:[超鏈接](http://www.aaa.com/)3.3:[本頁面錨點](#abc) <div id="abc">點擊跳轉到本頁面錨點位置,多用于文檔目錄</div>
4:圖片(![]() <img>)和公式
- 圖片只比超鏈接前面多個 !
- 圖片路徑,相對鏈接、絕對鏈接均可
- 復雜的寫法,例如 圖片加超鏈接、圖片設寬高 等,建議用HTML或CSS實現
URL地址中帶括號的圖片,一般是公式,
圖片調用和URL鏈接隔行書寫,
- 一行調用(描述可以不寫),
- 一行定義圖片URL地址(括號內名字或數字對應)。
5:列表(<ul><ol><li>)
* 無序列表1 * 無序列表2* 無序列表3* 無序列表4* 無序列表51. 有序列表1 1. 有序列表21. 有序列表31. 有序列表41. 有序列表5無序列表
- 無序列表1
- 無序列表2
- 無序列表3
- 無序列表4
- 無序列表5
- 無序列表3
有序列表
6:代碼塊(``` <pre>)
` 反引號
- 將編輯器內程序代碼原格式顯示
- 內部的HTML特殊符號如< > &和都會自動轉義為< > &
- 代碼塊要離上下內容空一行,否則易出問題
1:行內代碼塊,一個反引號,HTML轉義為<code>包裹區塊,保留布局
這是`<strong>行內代碼塊</strong>`都在一行內效果:這是<strong>行內代碼塊</strong>都在一行內
2:塊級代碼塊,三個反引號包含,```,HTML轉義為<pre><code>包裹區塊,保留布局
``` <div>這是塊級代碼塊 </div> ```效果:
<div>這是塊級代碼塊 </div>如要帶代碼高亮效果,3個反引號開始處加上編程語言名
```html <div>這是塊級代碼塊 </div> ```效果:
<div>這是塊級代碼塊 </div>如要顯示一個反引號或者<pre>標簽,用兩個反引號包裹文檔 ``
在這個``文本中夾雜一個`反引號如何顯示``?效果:在這個文本中夾雜一個`反引號如何顯示?
如要顯示3個反引號,用<pre>標簽標簽包裹文檔
<pre> ```javascript function aaa(){var a = 1; } ``` </pre>效果:
```javascript function aaa(){var a = 1; } ```7:著重、強調(** <em><strong>)
著重 斜體 em *著重 斜體 em*
強調 粗體 strong **強調 粗體 strong**
8:表格(-|-|- <table>)
默認左對齊
表頭1 | 表頭2 | 表頭3 ------|------|------ 行1列1 | 行1列2 | 行1列3 行2列1 | 行2列2 | 行2列3 行3列1 | 行3列2 | 行3列3| 行1列1 | 行1列2 | 行1列3 |
| 行2列1 | 行2列2 | 行2列3 |
| 行3列1 | 行3列2 | 行3列3 |
9:轉義字符(\)
\ 反斜杠
- 想在頁面顯示md標記,
- 或者你不小心寫了其他重復md標記,例如:
標題
也是著重標記
反斜杠轉義
\### 標題\__也是著重標記__1986\. 數字+點,被轉成有序列表 1986\. 數字+點,被轉成有序列表### 標題
_也是著重標記_
1986. 數字+點,被轉成有序列表1986. 數字+點,被轉成有序列表
10:分隔線(--- <hr>)
---
- 前面空一行
- 本行最少三個-表示水平線,分隔線
Markdown拓展應用
1:Markdown保存為HTML
- 最簡單的方法:Atom - 預覽界面右鍵 - Save As HTML(注意圖片路徑默認為絕對路徑,需要修改為相對路徑)
- 高級方法:
- 使用基于Node.js的gitbook庫自動生成HTML文檔
- 使用基于Python的Sphinx庫生成HTML文檔
- 使用基于Haskell的Pandoc轉換任意電子文檔格式
2:在Markdown中直接寫HTML/CSS/JavaScript
不在md范圍內的標記或樣式,或者說用Markdown很難實現的標記或樣式,可以直接寫HTML/CSS/JavaScript語言實現
你完全可以把md文檔當成HTML文檔在里面寫原生HTML/CSS/JS代碼(注意環境支持度)
- HTML: 所有編輯器都支持
- CSS: 大部分支持。Atom VSCode支持,JupyterNotebook只支持行內樣式
- JS: 基本都不支持。VSCode設置開啟后支持,其他環境如想寫JS可導出HTML文檔后自行編輯
3:在Markdown中載入基于文本的公式
上面圖片標簽講了怎樣載入基于圖片的公式,怎樣載入基于文本的公式?
- MathJax是一個渲染公式的JS庫,LaTex語法書寫
- 使用MathJax顯示公式,文檔瀏覽器必須支持JS
- Jupyter不需操作,原生支持
- VSCode需手動載入MathJax.js,再啟用JS后支持
- Atom默認過濾JS,不支持
使用方式:
效果(需啟用JS支持才可預覽):
$$ P(A \mid B) = \frac{P(B \mid A) \, P(A)}{P(B)} $$
- myscript網站可以手寫公式,自動轉為LaTeX語法:http://webdemo.myscript.com/views/math.html#
總結
以上是生活随笔為你收集整理的标记语言Markdown介绍以及日常使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: coturn的负载均衡特性_高性能负载均
- 下一篇: 5.搭建集群