Markdown分級參考手冊

来源:http://www.cnblogs.com/Chayeen/archive/2017/11/19/7862914.html
-Advertisement-
Play Games

[TOC] PS: 本地預覽目錄OK,但是博客園貌似不支持,那就只能這樣了。 前言(可以不看) 最開始只是想寫一篇博文,準備使用markdown,感覺很流行(github、簡書……很多都支持),而且渲染出來很好看,一直很想學,沒有合適的機會,結果拖到了現在。比起什麼python、C之類的編程語言,m ...


[TOC]

PS: 本地預覽目錄OK,但是博客園貌似不支持,暫時先這樣。

前言(可以不看)

最開始只是想寫一篇博文,準備使用markdown,感覺很流行(github、簡書……很多都支持),而且渲染出來很好看,一直很想學,沒有合適的機會,結果拖到了現在。比起什麼python、C之類的編程語言,markdown常用的語法也就10個左右,還是比較容易的,網上資料也很多,看了兩天,有了一點初步的認識,感覺現在來說基本夠用了,後面用到一些特殊or高級功能的時候再通過參考鏈接進行學習和使用就好。畢竟markdown也只是一種工具、一種表現形式,私以為不用在上面花費太多精力,而且它自己也說了,這是為了讓大家專註於寫作的一種輕量級語言。

下麵的參考手冊從語法、工具兩個方面寫了一些參考(因為別人的博客已經寫得很好了,就不用重新貼一遍引用,直接指路鏈接),主要目的是如果自己忘了,能夠查找起來非常迅速。可能對完全沒有接觸過markdown的小白同學來說不是很友好,但我在最後列了一下從小白到入門到中級到高級balabala的路線。私以為我現在的學習進度應該是入門和中級之間,當前來看,已知的這些知識已經夠用,我需要一段時間進行使用、鞏固,後面如果有需要我再繼續往上。

私以為markdown語法分3級(因為沒有詳細調研,所以可能不太對):最基本的Markdown,擴展的 Markdown Extra,GitHub Flavored Markdown (GFM)(可能GFM就是一種 Markdown Extra)。下麵的語法,絕大多數markdown編輯器都是支持的,但有一些很棒的功能只有支持解析GFM的才能支持,還有一些只能在GitHub上寫,暫時還沒學會,所以先記下,後面用到了再慢慢學。

好像說了一堆廢話,下麵直接開始吧。

基本語法(18)

  • 純文字(1-3):能夠撰寫文章大綱,展現基本的層級、邏輯關係,表達基本的含義;
  • + 強調樣式(4-8):能夠在基本的含義之上,添加一些簡單樣式,表達的含義更豐富;
  • + 鏈接跳轉(9-10):不管文章長度如何,如果有索引跳轉機制,可以顯著提升讀者閱讀體驗;
  • + 參考引用(11-13):如果就是自己的記錄,可能沒什麼參考引用的地方,但只要是寫正式的文章,參考引用肯定是必需的;
  • + 通用多媒體對象(14-15):上面基本都還是純文字,雖然加了一些樣式、鏈接引用之類,但表現力、感染力還是弱了一些,在添加一些通用多媒體對象後,能夠表達更多的含義,感染力更強;
  • + 特定多媒體對象(16-18):對大部分人來說可能不會用到,針對特定需求去學習使用。

可能有些效果有多種實現形式,這裡只列舉私以為簡單有用的形式(1個或2個),如果想要瞭解更多,去看參考文獻更好。另外,快捷鍵均為 Sublime Text 插件 MarkdownEditing 編輯器環境下,後文就不一一說明瞭。

1. 標題#

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

快捷鍵:

  • Ctrl+1/2/3/4/5/6,分別插入一級至六級標題.

2. 無序列表-

    - 無序列表
    - 無序列表
    - 無序列表

3. 有序列表1.

    1. 有序列表
    2. 有序列表
    3. 有序列表

4. 斜體*

    *斜體*

5. 粗體**

    **粗體**

6. 加粗斜體***

    ***加粗斜體***

7. 刪除線~~

    ~~刪除線~~

8. 分隔線---

    ---

9. 目錄:[TOC]

    [TOC]

10. 錨點{#}

    ## 目錄{#index}
    
    跳轉到[目錄](#index)

11. 引用>

    > 一級引用

    >> 二級引用

    >>> 三級引用

根據tab縮進不同,引用可嵌套

12. 註腳[^]

    markdown[^1], GitHub[^2]

    [^1]: Markdown 是一種純文本標記語言
    [^2]: GitHub 是一個代碼托管平臺

13. 鏈接[]( "")

    行內式:
    [blog](http://www.cnblogs.com/Chayeen/ "滑鼠懸停文本")
    參考式1:
    [blog][1]
    [1]:http://www.cnblogs.com/Chayeen/ "滑鼠懸停文本"
    參考式2:
    [blog][]
    [blog]:http://www.cnblogs.com/Chayeen/ "滑鼠懸停文本"
    自動鏈接:
    <http://www.cnblogs.com/Chayeen/>

快捷鍵:

  • Ctrl+Win+V:選中的內容將自動轉換為行內式超鏈接,鏈接到剪貼板中的內容;
  • Ctrl+Win+R:選中的內容將自動轉換為參考式超鏈接(全文多處引用時),鏈接到剪貼板中的內容;
  • 輸入 “mdl + tab” :會自動生成鏈接標記:[](link)

14. 圖片![]( "")

    行內式:
    ![圖片](http://www.example.com/demo.png "demo")
    參考式:
    ![圖片][demo]
    [demo]:http://www.example.com/demo.png "demo"

快捷鍵:

  • Win+Shift+K:插入一個標準的行內式圖片(此快捷鍵可能與輸入法有衝突)
  • 輸入 “mdi + tab” :會自動插入下麵的圖片標記:
    ![Alt text](/path/to/img.jpg "Optional title")

15. 表格|

    | Tables        | Are           | Cool  |
    |:------------- |:-------------:| -----:|
    | col 3 is      | right-aligned | $1600 |
    | col 2 is      | centered      |   $12 |
    | zebra stripes | are neat      |    $1 |

如果覺得表格輸入太過麻煩,這裡有2個參考鏈接能夠簡化一下表格操作:

16. 代碼:`

    `行內代碼`
    ```c
    #include <stdio.h>
    int main()
    {
        printf("Hello Jianshu!")
    }
    ```

17. 公式$

    行內公式:
    $E=mc^2$
    整行公式:
    $$\sum_{i=1}^n a_i=0$$

公式也不太常用,更多語法參考: MathJax

18. 流程圖

    flow
    st=>start: Start:>https://www.zybuluo.com
    io=>inputoutput: verification
    op=>operation: Your Operation
    cond=>condition: Yes or No?
    sub=>subroutine: Your Subroutine
    e=>end
    st->io->op->cond
    cond(yes)->e
    cond(no)->sub->io

流程圖測試沒有成功,由於暫時用不到,先不管了。更多語法參考:流程圖語法參考

註意事項

  1. 由於當前各種Markdown的編輯器、解析器很多,可能有些只支持基本的Markdown語法,有些支持Markdown Extra,有些支持 GitHub Flavored Markdown,還有些語法可能需要編輯器進行特殊配置才能夠支持,特別是代碼、公式、流程圖這種特定多媒體對象,暫時還沒弄清楚,反正基本能用,後面用到了再說。
  2. 在 Markdown 編寫中私以為最重要的需要理解 空格空行tab縮進 的作用,如果渲染出來的效果不是你想象的那樣,除了明顯的語法問題以外,很多時候都是沒有用空格、空行、tab縮進進行分隔導致的。私以為記住以下三點原則就能夠hold住大部分問題:
    • 關鍵字與正文內容之間,都採用空格進行分隔
    • 一個空行才表示分段,在要分段的地方,一定要空一行;不想分段的地方,敲個回車就行了
    • tab縮進主要表示一種層級關係,在各種嵌套的時候,一定要註意縮進,縮進少一個空格都有可能出問題,詳情見參考資料Markdown 語法手冊從(完整整理版)
  3. 圖片鏈接引用主要有如下三種方式,分別進行討論:
    • 本地圖片:使用絕對 or 相對即可,但是就是只能自己看,別人是看不了的
    • 圖片外鏈:直接使用 http 鏈接即可,但如果是自己的圖片,比如說截圖、照片之類,則需要上傳圖片到圖床之後,生成一個圖片外鏈進行引用。調研了一番,最後選擇了七牛雲+極簡圖床/MPic-圖床神器的方式,參考這裡進行註冊、配置、上傳即可簡單使用了
    • 圖片 base64 :即利用base64 工具把圖片轉成一串字元串放在鏈接的位置即可,本來最初想用這種方式,因為它無需依賴圖床,直接把圖片寫入到了md文件中,感覺比較獨立,很不錯;結果後來看到了這個base64的弊端,發現 base64 有一些很硬的缺點,所以最後還是選擇了外鏈的方式。

參考資料

從小白到入門到中級到高級……本文撰寫很多就參考了這些,都列在了後面,還有一些後續可能會用到的進階資料,也整理到後面,給自己定個目標。

  1. 一張圖理解Markdown語法:對應關係很明顯,最最基礎的,看完可能就可以開始動手寫了。
  2. Markdown——入門指南:講解的比較詳細,比上一張圖來說,能夠看出一些效果。
  3. Markdown基礎語法總結Markdown 11種基本語法:比上面一個又多了幾個語法,基本能夠hold住大部分情況了。
  4. Markdown語法說明(簡體中文版)Markdown語法說明(詳解版):我只看完了前面的簡體中文版,感覺詳解版類似就沒看了,看完能夠發現一些小的tips,需要註意的點,推薦至少認真看完一遍。
  5. Markdown 語法手冊從(完整整理版):總結的非常多,基本的確是完整整理版了,但是裡面也有一些問題作者沒有指出來,最大的問題就是並不是所有的解析器都支持某些語法,比如說上面的流程圖,估計是需要一些特殊配置。
  6. 使用Sublime Text 3寫Markdown:這個介紹了ST下的markdown環境配置,推薦看完,而且指了GFM的路。
  7. [譯] GitHub 風格的 Markdown 語法:這個說了一些 GFM 和普通的 Markdown Extra 語法的一些區別,看了這個才明白前面完整整理版裡面寫了一些語法可能不是所有的解析器都能夠解析,不過 MarkdownEditing 的配置可以選擇 github,所以這裡寫的有些語法能夠渲染出來,試了一個 task list,感覺很不錯。
  8. [譯] GitHub 上的書寫方式:這個大概掃了一遍,就是在 GitHub 上和別人交流的時候可以用的,後續把 GitHub 用起來的時候再好好看看。
  9. 代碼塊可用的語言標識符:代碼塊的起始三個`後面需要接一個語言標識符,這樣才能對內部代碼進行高亮,之前代碼總是不能高亮,還以為是插件配置的問題,後來才發現是少寫了個c。
  10. 我的總結之sublime text2中MarkdownEditing插件的安裝與markdown的編寫使用:這篇博客的名稱可真夠長的,主要參考了後面總結的 MarkdownEditing 快捷鍵,其實這些也寫在了插件的預設配置文件中,只是這裡翻譯了一下,每個都試了,能用的就上面列舉的那些,其他不能用主要是因為快捷鍵衝突,暫時先這樣,比較關鍵的快捷鍵還都用,感覺夠了。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • try//嘗試執行 {SomeCode} except//出錯的時候執行, Except有特定的錯誤類型 {SomeCode} end; try//嘗試執行 {SomeCode} finally//無論如何都強制執行 {SomeCode} end; 例:tryAge:=StrToInt(Edit1. ...
  • 在開發過程中,我們經常需要列印一些變數的值,便於調試。這個時候就會發現如果在dict list這些容器中,如果包含中文字元,不管是str類型,還是unicode類型,都列印不出來。如下: >>> print {'name': '張三'}{'name': '\xd5\xc5\xc8\xfd'}>>> ...
  • 選擇列 根據列名來選擇某列的數據 輸出結果: 也可以用點符號來進行: 上面的功能跟data["A"]一樣。 選擇某幾行數據 輸出為: 也可以根據索引號範圍來選擇某幾行的數據。 比如,如下的例子中我們就選擇出2017 01 10到2017 01 12的數據: 輸出為: 使用loc進行選擇 使用loc選 ...
  • 感冒咳嗽停更了幾天,今天恢復更新了。 先來看下instanceof與向下轉型的概念: 1.instanceof instanceof是一個二元操作符,用法是:boolean result = a instanceof ClassA,即判斷對象a是否是類ClassA的實例,如果是的話,則返回true, ...
  • 遠端創建倉庫 登陸鏡像倉庫 使用 登陸遠端倉庫 生成需要發佈 修改鏡像名發佈 使用 通過容器生成鏡像 使用 通過已有容器生成鏡像 推送到遠端伺服器 使用 推送遠端伺服器 遠端查看 ...
  • 環境安裝 Go 語言支持以下系統: Linux FreeBSD Mac OS X(也稱為 Darwin) Window Linux FreeBSD Mac OS X(也稱為 Darwin) Window 安裝包下載地址為:https://golang.org/dl/。 Windows下直接下載對應的 ...
  • 使用靜態方法實現類的多態 類的封裝--升級版 繼承升級版 ...
  • 註:本文為mysql基礎知識的總結,基礎點很多若是有些不足夠,還請自行搜索。後續增加 一、mysql簡介 資料庫簡介 資料庫是電腦應用系統中的一種專門管理數據資源的系統 資料庫是一組經過電腦處理後的數據,存儲在多個文件中,而管理資料庫軟體被稱為資料庫管理系統 DBMS 而MYSQL ORACLE ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...