VS Code 以及其他的安利向(2)-markdown

何为 markdown

markdown(有时候简称 md)是一个轻量的标记语言。和 word 不一样,Markdown 按照描述符来修饰语法。这个格式有以下一些优点:

  1. 轻量级,基本上就是纯文本文件,方便进行版本管理。不像 docx 是 xml 文件的打包。
  2. 语法极其简单,容易入门(相比下一篇要写到的复杂的标记语言 Latex)
  3. 由于语法简单,阅读源码也能保持一定的体验
  4. 可以选择不同的预览格式
  5. 现在相对比较流行,应用广泛
  6. 可以拓展支持 Latex 公式

环境

Markdown All in One

VS Code 下写 markdown,最基本的只需要安装插件Markdown All in One。这个插件可以提供最基本的侧边预览(在文件右上角),以及打印成 html 格式文件(ctrl+shift+p,打印到 html)的功能。

Word Count CJK

国人开发的,对 markdown 文件的字数统计。可以直接修改设置的 json 文件。

1
"wordcount_cjk.statusBarTextTemplate": "共 ${cjk} 字,共${en_words}单词"

也可以在设置的图形界面,在拓展一栏直接找到 Status Bar Text Template,添加共 “${cjk} 字,共${en_words}单词”,这样就能同时统计中文和英文。

Docs Authoring Pack

一个合集。可以在状态栏给不熟悉语法的读者一些快捷键。而笔者主要只是用到 ta 的 markdown 格式检查功能。虽然 markdown 语法上简洁随意,但遵守一定的规范会让源代码阅读更加好看。可以在这里查看规则

还可以这样修订规则,选择部分规则不检查。

1
2
3
4
5
"markdownlint.config": {
        "MD036": false,//可以复合使用加粗
        "MD028": false,//引言间可以有空行分割
        "MD010":false,//允许空格
    },

语法

当我们在谈论文章的时候我们在谈论什么

在介绍 markdown 语法之前,需要先思考一个问题,一篇文章是什么,需要大概什么部分。

文章首先需要标题,文章的大标题,分节的标题。文章里面一些句子/段落需要加粗或者是斜体。文章很多时候需要列表,有序无序列表作为顺序结构。一篇文章可能需要插入,图片表格链接数学公式这些辅助所里,有时候还需要插入代码块。还有,markdown 支持一个引言功能。

下面一个个看这些语法:

标题

#用来表示标题,越多标题层次越小。

1
2
3
# 一级标题

## 二级标题

加粗,斜体

用*括起文本实现

1
2
3
*斜体*
**加粗**
***倾斜加粗***

图片,链接,数学公式,代码块

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    ![图片名](图片地址)
    [链接名](链接地址)
    $行内公式$

    $$
    行间公式
    $$

    ```语言名字
        代码片段
    ```

|:表格功能,这个比较复杂,这里不详细说明。

列表

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

- 无序列表
- 无序列表

引用

1
    >引文

示例

下面是一个 markdown 语法的示例,比较完整的示例各个基础语法,出自本人之前的博客文章

示例

其实对于 markdown 入门,只需要记住#是表示标题的前驱就行。1 个#就是一级标题,2 个#就是二级标题,以此类推到六级标题。然后$就像 Latex 一样可以输入公式。这样的 markdown 已经能胜任很多小文章的编写工作了。

导出

虽然 markdown 简单,轻量,接受度越来越广,但不是所有人都之前接触过 markdown 或者是有软件打开 md 格式文件。下面是导出“通用”格式的教程。

html

ctrl+shift+p 打开顶部搜索框,输入 markdown all in one 就能找到打印当前文档为 html 格式文件的选项。这个格式就已经可以发给移动端或 pc 端的他人了。html 文件就是网页文件,任何浏览器都能打开。

如果再本地用浏览器打开,就可以右键,使用浏览器自带的打印成 pdf 文件的功能。

Typora

就如之前所说,md 已经得到广泛的应用,相应的市面上有很多专门的 markdown 编辑器(VS Code 是通用的文本编辑器),Typora 是其中一种。Typora 有导出为 pdf,docx 等各种常见格式的功能。Typora 还有各种 markdown 的主题,可以选择别的主题导出。

pandoc

通用的命令行格式转换工具。(笔者也不是很会用

1
pandoc demo.md -o demo.pdf