K_各工具实现Markdown语法高亮和实时预览


传送门:
O_Markdown在线编辑器移植
K_各工具实现Markdown语法高亮和实时预览

VSCode

VSCode默认支持Markdown文件预览,无需添加插件。

  • Ctrl+K,松开后按V(英文输入法下),在旁边并列窗口打开预览。
  • Ctrl+Shift+V,在新窗口打开预览。
  • Ctrl+Shift+P打开命令面板,然后输入Markdowm,选择Open Preview即方法I,选择Open Preview to the Side即方法II。
  • Notepad++

    语法高亮

      可以在https://github.com/Edditoria/markdown-plus-plus下载Markdown规则文件,在udl文件夹中找到适合自己主题的xml文件。
      个人推荐最好在自己的主题基础上进行修改,比如本人用的Bespin主题,在语言->自定义语言格式…页面中如下配置关键字及与自己主题适配的前景背景色。

    PZ1
    PZ2
    PZ3
    PZ4
    PZ5

      配置完成后可以导出为xml,以后更换电脑或分享时在语言->自定义语言格式对话框中选择导入xml文件即可。

    md主题:_mdA.XML

    实时预览

    插件->插件管理…页面找到NppMarkdownPanel插件安装,Notepad++自动重启后即可预览。

    附:测试代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    #### Setting

    {
    codeFold : true
    }

    # Editor.md

    ![](https://pandao.github.io/editor.md/images/logos/editormd-logo-180x180.png)

    ![](https://img.shields.io/github/stars/pandao/editor.md.svg) ![](https://img.shields.io/github/forks/pandao/editor.md.svg) ![](https://img.shields.io/github/tag/pandao/editor.md.svg) ![](https://img.shields.io/github/release/pandao/editor.md.svg) ![](https://img.shields.io/github/issues/pandao/editor.md.svg) ![](https://img.shields.io/bower/v/editor.md.svg)

    **目录 (Table of Contents)**

    [TOCM]

    [TOC]

    # Heading 1
    ## Heading 2
    ### Heading 3
    #### Heading 4
    ##### Heading 5
    ###### Heading 6
    # Heading 1 link [Heading link](https://github.com/pandao/editor.md "Heading link")
    ## Heading 2 link [Heading link](https://github.com/pandao/editor.md "Heading link")
    ### Heading 3 link [Heading link](https://github.com/pandao/editor.md "Heading link")
    #### Heading 4 link [Heading link](https://github.com/pandao/editor.md "Heading link") Heading link [Heading link](https://github.com/pandao/editor.md "Heading link")
    ##### Heading 5 link [Heading link](https://github.com/pandao/editor.md "Heading link")
    ###### Heading 6 link [Heading link](https://github.com/pandao/editor.md "Heading link")

    #### 标题(用底线的形式)Heading (underline)

    This is an H1
    =============

    This is an H2
    -------------

    ### 字符效果和横线等

    ----

    ~~删除线~~ <s>删除线(开启识别HTML标签时)</s>
    *斜体字* _斜体字_
    **粗体** __粗体__
    ***粗斜体*** ___粗斜体___

    上标:X<sub>2</sub>,下标:O<sup>2</sup>

    **缩写(同HTML的abbr标签)**

    > 即更长的单词或短语的缩写形式,前提是开启识别HTML标签时,已默认开启

    The <abbr title="Hyper Text Markup Language">HTML</abbr> specification is maintained by the <abbr title="World Wide Web Consortium">W3C</abbr>.

    ### 引用 Blockquotes

    > 引用文本 Blockquotes

    引用的行内混合 Blockquotes

    > 引用:如果想要插入空白换行`即<br />标签`,在插入处先键入两个以上的空格然后回车即可,[普通链接](http://localhost/)。

    ### 锚点与链接 Links

    [普通链接](http://localhost/)

    [普通链接带标题](http://localhost/ "普通链接带标题")

    直接链接:<https://github.com>

    [锚点链接][anchor-id]

    [anchor-id]: http://www.this-anchor-link.com/

    [mailto:test.test@gmail.com](mailto:test.test@gmail.com)

    GFM a-tail link @pandao 邮箱地址自动链接 test.test@gmail.com www@vip.qq.com

    > @pandao

    ### 多语言代码高亮 Codes

    #### 行内代码 Inline code

    执行命令:`npm install marked`

    #### 缩进风格

    即缩进四个空格,也做为实现类似 `<pre>` 预格式化文本 ( Preformatted Text ) 的功能。

    <?php
    echo "Hello world!";
    ?>

    预格式化文本:

    | First Header | Second Header |
    | ------------- | ------------- |
    | Content Cell | Content Cell |
    | Content Cell | Content Cell |

    #### JS代码
    ` ``javascript
    function test() {
    console.log("Hello world!");
    }

    (function(){
    var box = function() {
    return box.fn.init();
    };

    box.prototype = box.fn = {
    init : function(){
    console.log('box.init()');

    return this;
    },

    add : function(str) {
    alert("add", str);

    return this;
    },

    remove : function(str) {
    alert("remove", str);

    return this;
    }
    };

    box.fn.init.prototype = box.fn;

    window.box =box;
    })();

    var testBox = box();
    testBox.add("jQuery").remove("jQuery");
    ` ``

    #### HTML 代码 HTML codes

    ` ``html
    <!DOCTYPE html>
    <html>
    <head>
    <mate charest="utf-8" />
    <meta name="keywords" content="Editor.md, Markdown, Editor" />
    <title>Hello world!</title>
    <style type="text/css">
    body{font-size:14px;color:#444;font-family: "Microsoft Yahei", Tahoma, "Hiragino Sans GB", Arial;background:#fff;}
    ul{list-style: none;}
    img{border:none;vertical-align: middle;}
    </style>
    </head>
    <body>
    <h1 class="text-xxl">Hello world!</h1>
    <p class="text-green">Plain text</p>
    </body>
    </html>
    ` ``

    ### 图片 Images

    Image:

    ![](https://pandao.github.io/editor.md/examples/images/4.jpg)

    > Follow your heart.

    ![](https://pandao.github.io/editor.md/examples/images/8.jpg)

    > 图为:厦门白城沙滩

    图片加链接 (Image + Link):

    [![](https://pandao.github.io/editor.md/examples/images/7.jpg)](https://pandao.github.io/editor.md/images/7.jpg "李健首张专辑《似水流年》封面")

    > 图为:李健首张专辑《似水流年》封面

    ----

    ### 列表 Lists

    #### 无序列表(减号)Unordered Lists (-)

    - 列表一
    - 列表二
    - 列表三

    #### 无序列表(星号)Unordered Lists (*)

    * 列表一
    * 列表二
    * 列表三

    #### 无序列表(加号和嵌套)Unordered Lists (+)

    + 列表一
    + 列表二
    + 列表二-1
    + 列表二-2
    + 列表二-3
    + 列表三
    * 列表一
    * 列表二
    * 列表三

    #### 有序列表 Ordered Lists (-)

    1. 第一行
    2. 第二行
    3. 第三行

    #### GFM task list

    - [x] GFM task list 1
    - [x] GFM task list 2
    - [ ] GFM task list 3
    - [ ] GFM task list 3-1
    - [ ] GFM task list 3-2
    - [ ] GFM task list 3-3
    - [ ] GFM task list 4
    - [ ] GFM task list 4-1
    - [ ] GFM task list 4-2

    ----

    ### 绘制表格 Tables

    | 项目 | 价格 | 数量 |
    | -------- | -----: | :----: |
    | 计算机 | $1600 | 5 |
    | 手机 | $12 | 12 |
    | 管线 | $1 | 234 |

    First Header | Second Header
    ------------- | -------------
    Content Cell | Content Cell
    Content Cell | Content Cell

    | First Header | Second Header |
    | ------------- | ------------- |
    | Content Cell | Content Cell |
    | Content Cell | Content Cell |

    | Function name | Description |
    | ------------- | ------------------------------ |
    | `help()` | Display the help window. |
    | `destroy()` | **Destroy your computer!** |

    | Left-Aligned | Center Aligned | Right Aligned |
    | :------------ |:---------------:| -----:|
    | col 3 is | some wordy text | $1600 |
    | col 2 is | centered | $12 |
    | zebra stripes | are neat | $1 |

    | Item | Value |
    | --------- | -----:|
    | Computer | $1600 |
    | Phone | $12 |
    | Pipe | $1 |

    ----

    #### 特殊符号 HTML Entities Codes

    © & ¨ ™ ¡ £
    & < > ¥ € ® ± ¶ § ¦ ¯ « ·

    X² Y³ ¾ ¼ × ÷ »

    18ºC " '

    [========]

    ### Emoji表情 :smiley:

    > Blockquotes :star:

    #### GFM task lists & Emoji & fontAwesome icon emoji & editormd logo emoji :editormd-logo-5x:

    - [x] :smiley: @mentions, :smiley: #refs, [links](), **formatting**, and <del>tags</del> supported :editormd-logo:;
    - [x] list syntax required (any unordered or ordered list supported) :editormd-logo-3x:;
    - [x] [ ] :smiley: this is a complete item :smiley:;
    - [ ] []this is an incomplete item [test link](#) :fa-star: @pandao;
    - [ ] [ ]this is an incomplete item :fa-star: :fa-gear:;
    - [ ] :smiley: this is an incomplete item [test link](#) :fa-star: :fa-gear:;
    - [ ] :smiley: this is :fa-star: :fa-gear: an incomplete item [test link](#);

    #### 反斜杠 Escape

    \*literal asterisks\*

    [========]

    ### 科学公式 TeX(KaTeX)

    $$E=mc^2$$

    行内的公式$$E=mc^2$$行内的公式,行内的$$E=mc^2$$公式。

    $$x > y$$

    $$\(\sqrt{3x-1}+(1+x)^2\)$$

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

    多行公式:

    ` ``math
    \displaystyle
    \left( \sum\_{k=1}^n a\_k b\_k \right)^2
    \leq
    \left( \sum\_{k=1}^n a\_k^2 \right)
    \left( \sum\_{k=1}^n b\_k^2 \right)
    ` ``

    ` ``katex
    \displaystyle
    \frac{1}{
    \Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{
    \frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {
    1+\frac{e^{-6\pi}}
    {1+\frac{e^{-8\pi}}
    {1+\cdots} }
    }
    }
    ` ``

    ` ``latex
    f(x) = \int_{-\infty}^\infty
    \hat f(\xi)\,e^{2 \pi i \xi x}
    \,d\xi
    ` ``

    ### 分页符 Page break

    > Print Test: Ctrl + P

    [========]

    ### 绘制流程图 Flowchart

    ` ``flow
    st=>start: 用户登陆
    op=>operation: 登陆操作
    cond=>condition: 登陆成功 Yes or No?
    e=>end: 进入后台

    st->op->cond
    cond(yes)->e
    cond(no)->op
    ` ``

    [========]

    ### 绘制序列图 Sequence Diagram

    ` ``seq
    Andrew->China: Says Hello
    Note right of China: China thinks\nabout it
    China-->Andrew: How are you?
    Andrew->>China: I am good thanks!
    ` ``

    ### End