前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Markdown入门指南【我为什么要推荐你学习Markdown?】

Markdown入门指南【我为什么要推荐你学习Markdown?】

作者头像
我是管小亮
发布2020-04-20 16:18:25
1.5K0
发布2020-04-20 16:18:25
举报
文章被收录于专栏:程序员管小亮的成长之路

一、啥是Markdown

Markdown 是一种可以使用普通文本编辑器编写的轻量级标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,可以导出 PPT、LaTex、HTML、Word、PDF、Epub、JPG 等多种格式的文档,文档后缀为 .md

有一部分小伙伴被这个【轻量级】、【标记】、【语言】等名词直接劝退,还口中言语:【已经学了这么多种语言了】,【我不要再学新语言了】之类的话,我要说的是,你大概误会它了,Markdown 的语法可以说是非常简单,简单到常用的语法操作不超过十个,相较于同为标记语言的 HTML 来说,Markdown 被称为小儿科也不为过,学习成本极低,上手率超高,并且一旦熟悉这种语法规则,稍加练习,就会有一劳永逸的效果,回报率极高,你确定不要尝试一下嘛?

听说 Markdown 现在是互联网上最流行的写作语言!!!无论是博客,笔记还是论文等等,都是基于它写的!!!

二、Markdown工具

Markdown 这么牛逼的话,都有哪些网站或是工具使用了它啊?

答案是超级多:

  • 首先这种格式写出的简历更能得到 HR 的好感;
  • CloudApp 这种云服务工具可以直接上传至网页来分享文章;
  • 全球最大的轻博客平台 Tumblr,也支持 Mou 这类 Markdown 工具的直接上传;
  • 国内的博客平台,比如CSDN、简书、博客园、掘金、知乎等等;
  • 再比如微信公众号平台,说到微信公众号就得说咱们【程序员管小亮】。。。

好了,废话少说,干货开始!

三、Markdown优点

  • 直接创建,没啥限制和要求。
  • 排版简单,可读、直观、学习成本低。
  • 支持插入图片,视频等等(根据平台不同而定)。
  • 轻松的导出 HTML.md 文件。
  • 可跨平台同步数据。
  • 随时可修改(不必像word等易混乱)。…

四、Markdown误区

We believe that writing is about content, about what you want to say – not about fancy formatting. 我们坚信写作写的是内容,所思所想,而不是花样格式。————Ulysses for Mac

Markdown 再牛,也不过是个工具,最终还是要看你的文字和图片等内容,所以很多的 Markdown 工具集成了不同的功能(基础功能大致相同),例如流程图与时序图,复杂表格与复杂公式的呈现,虽然好像挺有用,但是还是与简单书写的初衷不符,用其他专业绘图工具不香嘛?不要舍本逐末!!!

五、Markdown基础语法

1)Markdown标题
  • 一级标题对应一个 # 号;
  • 二级标题对应两个 # 号;
  • 以此类推。。。一共六级标题。

如下:

代码语言:javascript
复制
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
2)Markdown文本
  • 斜体文本:可以在需要标注为斜体文本前及斜体文本结尾,输入一个星号 * 或者一个下划线 _
  • 粗体文本:可以在需要标注为粗体文本前及粗体文本结尾,输入两个星号 ** 或者两个下划线 _
  • 粗斜体文本:可以在需要标注为粗斜体文本前及粗斜体文本结尾,输入三个星号 *** 或者三个下划线 _

如下:

代码语言:javascript
复制
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
3)Markdown列表
  • 无序列表,使用星号(*)、加号(+)或是减号(-),再加一个空格作为列表标记;
  • 有序列表,使用数字并加上 . 号,再加一个空格作为列表标记;

如下:

代码语言:javascript
复制
* 无序列表 1+ 无序列表 2- 无序列表 3
1. 有序列表 12. 有序列表 23. 有序列表 3

如果要控制列表的层级,则需要在符号 - 前使用 tab,如下:

代码语言:javascript
复制
- 无序列表 1- 无序列表 2	- 无序列表 2.1	- 无序列表 2.2
4)Markdown链接

正常 Markdown 编辑器的超链接是很简单的,如下:

代码语言:javascript
复制
[链接名称](链接地址)
或者
<链接地址>[大话卷积神经网络CNN(干货满满)](https://blog.csdn.net/TeFuirnever/article/details/100057229)
或者
<https://blog.csdn.net/TeFuirnever/article/details/100057229>

不过微信公众号仅支持公众号文章的链接,即域名为 https://mp.weixin.qq.com/ 的合法链接,不支持外链的链接。

5)Markdown引用

引用的格式是在符号 > 后面书写文字,或者加一个空格再加文字,如下:

代码语言:javascript
复制
> 这是一个引用:> 欢迎关注微信公众号> 【程序员管小亮】

除正常引用外,还可以嵌套,一个 > 符号在第一层,两个 > 符号是第二层,以此类推,如下:

代码语言:javascript
复制
> 这是一个引用:>> 欢迎关注微信公众号>>> 【程序员管小亮】
6)Markdown分割线

可以在一行中用三个 - 或者 * 来建立一个分隔线,同时需要在分隔线的上面空一行,如下:

代码语言:javascript
复制
欢迎关注微信公众号
---【程序员管小亮】
或者
**** * ******- - -

如果不留空格,就会变成放大第一行字,如下:

代码语言:javascript
复制
欢迎关注微信公众号---【程序员管小亮】
7)Markdown删除线

删除线的使用,在需要删除的文字前后各使用两个 ~,如下:

代码语言:javascript
复制
~~这是要被删除的内容。~~
8)Markdown下划线

下划线的使用,在需要添加下划线的文字首部和尾部加上 <u>文本</u>,如下:

代码语言:javascript
复制
<u>这行文字已被添加下划线</u>
9)Markdown表格

表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行,如果想调整表格的左对齐、右对齐、居中对齐:

  • :-:将表头及单元格的内容左对齐;
  • -::将表头及单元格的内容右对齐;
  • :-::将表头及单元格的内容居中对齐;

如下:

代码语言:javascript
复制
| 姓名   	| 年龄 |      工作	 || :----- 	| :--: | -------:	 || 小可爱 	|  18  | 吃可爱多 	 || 小小勇敢 	|  20  | 爬棵勇敢树 	 || 小小小机智 |  22  | 看一本机智书 |
10)Markdown图片

插入图片,如果是行内图片则无图例,否则有图例,格式如下:

代码语言:javascript
复制
![图片描述](图片地址)
![公众号:【程序员管小亮】](https://img-blog.csdnimg.cn/20200204212418345.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly90ZWZ1aXJuZXZlci5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70)

支持 jpg、png、gif、svg 等图片格式,其中 svg 文件仅可在微信公众平台中使用

:仅支持 https 的图片,图片粘贴到网页编辑器后,会自动上传到服务器;如果是本地编辑器,需要有一个相对路径用来存储保存的图片。

11)Markdown脚注

脚注是对文本的备注说明,脚注与链接的区别,如下:

代码语言:javascript
复制
链接:[文字](链接)脚注:[文字](脚注解释 "脚注名字")
12)Markdown代码块

如果在一个行内需要引用代码,只要用反引号引起来就好,如下:

代码语言:javascript
复制
Use the `printf()` function.

如果是在一个块内需要引用代码,则在需要高亮的代码块的前一行及后一行使用三个反引号,同时 第一行反引号后面表示代码块所使用的语言,如下:

代码语言:javascript
复制
// FileName: HelloWorld.cpp#include<iostream>int main(){	printf("HelloWorld");}

支持以下语言种类:

代码语言:javascript
复制
bashc,clojure,cpp,cs,cssdart,dockerfile, differlanggo,gradle,groovyhaskelljava,javascript,json,juliakotlinlisp,luamakefile,markdown,matlabobjectivecperl,php,pythonr,ruby,rustscala,shell,sql,swifttex,typescriptverilog,vhdlxmlyaml

等等,各平台不一定一样。

基础语法到这里就差不多了,如果想学更多更炫酷的语法,那就接着看吧!!!

六、Markdown高级语法

1)Markdown数学公式

行内公式使用方法,比如这个化学公式,如下:

代码语言:javascript
复制
$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$

块公式使用方法,如下:

代码语言:javascript
复制
$$H(D_2) = -\left(\frac{2}{4}\log_2 \frac{2}{4} + \frac{2}{4}\log_2 \frac{2}{4}\right) = 1$$

矩阵使用方法,如下:

代码语言:javascript
复制
$$  \begin{pmatrix}  1 & a_1 & a_1^2 & \cdots & a_1^n \\  1 & a_2 & a_2^2 & \cdots & a_2^n \\  \vdots & \vdots & \vdots & \ddots & \vdots \\  1 & a_m & a_m^2 & \cdots & a_m^n \\  \end{pmatrix}$$
2)MarkdownTOC

TOC 全称为 Table of Content,列出全部标题,通俗点说,就是一个小目录,如下:

代码语言:javascript
复制
[toc] 或者 @[toc]# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
3)HTML

支持原生 HTML 语法,请写内联样式,如下:

代码语言:javascript
复制
<span style="display:block;text-align:right;color:orangered;">橙色居右</span><span style="display:block;text-align:center;color:orangered;">橙色居中</span>

也可以用 HTML 语法改变字色,字体和字号,如下:

代码语言:javascript
复制
<font face="黑体">我是黑体字</font><font face="微软雅黑">我是微软雅黑</font><font face="STCAIYUN">我是华文彩云</font><font color=#0099ff size=7 face="黑体">color=#0099ff size=72 face="黑体"</font><font color=#00ffff size=72>color=#00ffff</font><font color=gray size=72>color=gray</font>

颜色的英文单词:

  • red(赤)
  • orange(橙)
  • yellow(黄)
  • green(绿)
  • cyan(青)
  • blue(蓝)
  • purple(紫)

字体的英文单词:

  • rm(罗马字体)
  • it (意大利字体)
  • bf(黑体)
  • sl (斜体)
  • sf (等线体)
  • sc (小体大写字母)
  • tt (打字机字体)
  • mit (数学斜体)
4)转义

Markdown 编辑器里面使用了很多特殊符号来表示特定的意义,该特殊符号将不再显示,这个时候就需要转义字符——反斜杠,如下:

代码语言:javascript
复制
\*\*转义特殊符号正常显示\*\*
**无转义特殊符号无法正常显示**
5)URL

图床工具用来上传图片获取 URL 地址:

  • 开源工具 https://draw.io/ 制作后再导入图片
  • 围脖图床修复计划
  • Droplr
6)流程图和时序图

实现流程图和时序图的制作,很多编辑器无法支持,这里推荐马克飞象 Markdown 编辑器,如下:

代码语言:javascript
复制
```mermaidflowchatst=>start: Starte=>endop=>operation: My Operationcond=>condition: Yes or No?
st->op->condcond(yes)->econd(no)->op

以及时序图,如下:

代码语言:javascript
复制
```mermaidsequenceDiagramAlice->>Bob: Hello Bob, how are you?Note right of Bob: Bob thinksBob-->>Alice: I am good thanks!
7)复选框

使用 - [ ]- [x] 语法可以创建复选框,实现 todo-list 等功能,如下:

  • [x] 已完成事项
  • [ ] 待办事项1
  • [ ] 待办事项2

七、Markdown工具

  • 本地 APPMarkText、Typora、Notable、vnote 等,首推 Typora
  • Web APP:md2all、马克飞象、Markdown Nice 等;
  • 微信公众号 APP:md2all、Markdown Nice、壹伴、135等 。

总结

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员管小亮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、啥是Markdown
  • 二、Markdown工具
  • 三、Markdown优点
  • 四、Markdown误区
  • 五、Markdown基础语法
    • 1)Markdown标题
      • 2)Markdown文本
        • 3)Markdown列表
          • 4)Markdown链接
            • 5)Markdown引用
              • 6)Markdown分割线
                • 7)Markdown删除线
                  • 8)Markdown下划线
                    • 9)Markdown表格
                      • 10)Markdown图片
                        • 11)Markdown脚注
                          • 12)Markdown代码块
                          • 六、Markdown高级语法
                            • 1)Markdown数学公式
                              • 2)MarkdownTOC
                                • 3)HTML
                                  • 4)转义
                                    • 5)URL
                                      • 6)流程图和时序图
                                        • 7)复选框
                                        • 七、Markdown工具
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档