再也不用为排版发愁了,五分钟带你学会markdown

2022-08-26 15:22:17 浏览数 (1)

作者 | 梁唐

大家好,我是梁唐。

大家都知道,程序员日常工作除了编码之外,文档也占据了很大一部分。但对于大多数程序员来说,写文档是一个挺麻烦的事情,尤其是写完了还得排版,让它看起来美观,对于直男们来说这简直是致命的。

包括写公众号文章也是一样,写完了都需要排版。我对此深恶痛绝,所以刚开始的时候都是请家里的领导帮忙。直到后来找到了markdown排版神器才解决了这个问题。

markdown发布于2004年,是一个轻量级的标记语言。说白了就是用很简单的语法来标准化排版,从而大大减轻编写文档以及排版的工作。对于程序员来说,撰写文档是一个相当重要的工作,所以markdown也是必学技能。

关于markdown的介绍我也在B站上传了视频,不想看文字的同学也可以点击阅读原文前往B站,也当给我个支持了~

基本功能

首先,我们可以把markdown当做txt记事本来使用,也就是可以正常地输入文字。

当然只是输入文字是不够的,我们有的时候会希望文档会有层次,这个时候我们就需要标题,并且需要各种等级的标题。比如正标题、副标题、大标题、小标题……

标题

在markdown当中,设计了6个等级的标题来应对不同的标题需求。我们使用#加空格的方式来创建标题,每多一个#表示级别加一。标题的级别越大字号越小。

比如我们用一个#表示一级标题,两个#表示二级标题,最多可以支持6级标题。

代码语言:javascript复制
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

显示出来之后效果如下:

加粗、斜体和分割线

然后是加粗和斜体,加粗使用两个*来表示,比如**我是粗体**。一个星号表示斜体,也可以使用下划线_我是斜体_。显示出来的效果就是我是粗体我是斜体

也可以使用快捷键,比如加粗就是Ctrl(command) B,设置斜体就是Ctrl(command) I。

除此之外,有的时候我们希望划上一条分割线,用来分割内容。大家经常逛知乎的话应该不陌生,很多大v的回答里都喜欢用分割线。分割线上面是正文,下面是推广或者是一些补充说明。在markdown当中使用三个短横线---来创建一个分割线。

效果如下:


列表

有的时候我们会在文章当中列举观点,这个时候我们可以使用PPT当中的观点列表。列表分成两种,第一种是有序列表,第二种是无序列表。

有序列表顾名思义,就是以序号打头的列表。可以直接通过数字1加上点和空格创建。

  1. 第一条
  2. 第二条

无序列表就是以小圆点开头的列表,可以通过短横线创建

  • 第一条
  • 第二条

并且列表当中还有层次,使用tab键缩进即可,比如

  1. 第一条
  2. 第二条
    1. 2.1条
    2. 2.2条

超链接和图片

markdown当中同样支持超链接,我们可以指定超链接展示的文本,以及它跳转的链接。我们可以使用方括号写超链接的展示信息,后面的圆括号中写上跳转的地址。

比如我们创建一个百度的超链接:

代码语言:javascript复制
[百度](www.baidu.com)

它显示出来的效果就是:百度

在markdown的编辑器当中,上面的百度是可以点击的。由于微信公众号当中不支持外链,所以大家点不了。

markdown也可以展示图片,展示图片的语法和超链接几乎一模一样,只是前面多了一个感叹号。同样我们在方括号中写入图片的展示信息,圆括号中写入图片的地址。

我们写的是文本和地址,如:

代码语言:javascript复制
![公众号二维码](https://tva1.sinaimg.cn/large/008i3skNgy1gsg75hxnooj3076076mxf.jpg)

而展示出来的效果是一张图片:

公众号二维码

引用

引用,我们在markdown当中可以使用一个箭头创建引用文本的效果。

代码语言:javascript复制
> 这是引用文本

显示为:

背景颜色是绿色是因为我设置了编辑器的主题,也可以更换其他主题或者是自定义颜色。

引用一般用在文章末尾,也是作为补充说明,标记引用的资料等等。

代码块

对于程序员来说这是一个非常重要的功能,我们可以在markdown当中插入代码块。

代码块的插入分成两种,第一种是行内代码,第二种是完整的代码块。当我们要展示的内容放置于文本中的时候,我们可以使用行内式。即两个反引号包裹,比如:

代码语言:javascript复制
我要写一段`JavaScript`代码

显示出来的会是:我要写一段JavaScript代码,当中被反引号包裹的JavaScript会高亮显示。

如果我们要展示的是多行的代码,可以输入三个反引号加上语言的名称来进行高亮展示。比如我们编写Python代码,就指定高亮的代码语法是Python,它就会按照Python的语法对关键字进行高亮。

代码语言:javascript复制
```python
def func(a, b):
    return a   b
```

会显示成:

代码语言:javascript复制
def func(a, b):
    return a   b

语法嵌套

markdown当中所有的语法几乎都可以嵌套使用,比如我们可以在引用当中使用各种各样的语法,最后会把这些语法叠加起来显示。

代码语言:javascript复制
> ## 引用标题
>
> ```python
> return a   b
> ```
>
> [百度](www.baidu.com)
>
> ![](https://tva1.sinaimg.cn/large/008i3skNgy1gsg75i5zxkj3076076mxf.jpg)

会显示成:

latex与内嵌HTML

markdown还支持了latex的语法,我们可以在markdown文本当中创建数学公式。对于程序员来说这是一个巨大的福音,意味着再也不需要使用那些很难用的公式编辑器了,可以通过写代码的形式来输入公式。

如果是行内的公式,我们可以使用两个$符包裹,例如

代码语言:javascript复制
下面输入一个简单的一元二次方程:$y = ax^2   bx   c$

会显示成:

如果是复杂的公式,可以独立成行,使用4个$即可,我们同样来看一个例子:

代码语言:javascript复制
$$nabla f=(frac{partial f}{partial x}, frac{partial f}{partial y}, frac{partial f}{partial z})=frac{partial f}{partial x}i frac{partial f}{partial y}j   frac{partial f}{partial z}k$$

这一串复杂的公式会显示成这样:

nabla f=(frac{partial f}{partial x}, frac{partial f}{partial y}, frac{partial f}{partial z})=frac{partial f}{partial x}i frac{partial f}{partial y}j frac{partial f}{partial z}k

另外,markdown还支持html的语法,它也能渲染一些html的标签。

比如我们复制一段html创建表格的代码:

代码语言:javascript复制
<table border="1">     
    <tr>         
        <td>row 1, cell 1</td>         
        <td>row 1, cell 2</td>     
    </tr>     
    <tr>         
        <td>row 2, cell 1</td>         
        <td>row 2, cell 2</td>     
    </tr> 
</table>

粘贴进markdown编辑器当中会直接显示成表格:

markdown编辑器推荐

vscode

一个是vscode,我们可以在vscode当中安装markdown插件来支出markdown语法。

免费、跨平台,体验也还不错。但不支持所见即所得,也没有图床功能。这里简单介绍一下图床功能,因为markdown当中只是保存了图片的地址,而不是复制了一份。使用图床也就是将图片上传到云端CDN,生成一个云端的图片链接,而不是存在本地通过相对路径引用。

这样的好处是由于图片是一个网络链接,所以涉及图片的markdown文本可以多端显示。如果图片存在本地,那么markdown文本复制到其他机器或者是图片发生变化之后,图片就无法显示了,非常麻烦。

typora

第二个是我正在使用的typroa,所见即所得,多种主题,展示美观。支持图床功能,可以将图片上传到云端,同样跨平台,并且免费。

Quiver

仅支持Mac,界面非常漂亮,让你像是写代码似的写文档。但可惜,对图床支持不友好,使用了一段时间之后弃坑。

MWeb

界面也很好看,付费使用,功能强大,有图床功能,还可以自动上传到博客平台。

支持苹果多系统,iPhone、iPad和Mac,不支持Windows。

除了上面这些客户端之外,还有很多网络笔记平台也支持markdown,大家也可以尝试一下。

其实使用什么样的编辑器并不重要,重要的是我们能把这门工具使用好,给我们日常的工作和学习带来便利。

0 人点赞