G-NO.0 Markdown——高效码字神器

1 篇文章 0 订阅
1 篇文章 0 订阅

1 什么是Markdown

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown语法简单,界面简洁,具有强大的排版功能,让编辑者更多关注内容本身,而不需要过多关注排版;Markdown功能甚多,在此列举markdown对以下几类使用者的优势:

  • 程序员:全球的程序员几乎都在使用markdown做笔记,使用markdown可以大大地提高程序员学习和做笔记的效率,特别是markdown可以高亮显示各种语言的代码块,对程序员非常友好。

  • 文员:语言简单,界面友好,无需排版,可更多的关注内容,输入方式体验极佳 。

  • 理工科:Markdown语法具有强大的拓展功能,比如表格、脚注、内嵌HTML等等,此外,markdown还支持Latex数学公式语法,可以快速编写数学公式,这对与理工科的朋友来说是非常友好的。

    Markdown语法简单,仅需几十分钟即可入手。

2 Markdown平台与软件

2.1 Windows

VSCode、Atom、CuteMarkEd、MarkdownPad、Miu、Typora、RStudio

2.2 Linux

VSCode、Atom、Typora、ReText、UberWriter、RStudio

2.3 MAC

Byword、Day one、Editorial、Drafts 4、Matcha 3

2.4 浏览器插件

MaDo (Chrome):Marxico(Chrome)

2.5 个人笔记

CSDN、简书、有道云笔记、印象笔记

推荐:

     以上的编辑器中有免费的有收费的,且不同软件语法也有略微差异,个人推荐使用Typora编辑器(免费),做个人笔记的话推荐使用有道云笔记,写个人博客可以使用CSDN或简书,其中CSDN对markdown的兼容性是最好的。

3 Markdown语法

3.1 基础语法

3.1.1 标题

语法:“#” + “空格” + “标题”或使用快捷键“ctrl” + 数字,数字对应各级标题,如:ctrl +1 是一级标题,”#“的个数和数字对应标题的级别数

示例:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果


在这里插入图片描述


3.1.2 目录

[toc]:自动生成目录     见文首

3.1.3 文本设置

语法与示例:

*斜体* 或 _斜体_
**粗体**
***斜体加粗体***
~~删除线~~
<u>下划线</u>
下标:h~2~0 
上标:2^5^
简单颜色:==颜色==

效果


斜体斜体

粗体

斜体加粗体

删除线

下划线

下标:h20

上标:25

简单颜色:颜色


3.1.4 分割线

语法:三个或者三个以上的 - 或者 * 都可以。

示例:

---
----
***
*****

效果:无论哪种表达方式,显示效果都是一样的。





3.1.5 代码

(1)单行代码

语法:使用两个 ` 符号

示例:

 这是单行代码显示样式 

效果

这是单行代码显示样式

(2)多行代码块

语法:使用三个 ` 符号,然后点击“enter”键

示例:

​```
这里是多行代码块,可以包含一段或多段代码,可以写任何语言的代码

效果:

这里是多行代码块,可以包含一段或多段代码,可以写任何语言的代码

3.1.6 引用

语法:在“>”符号之后跟一个空格,然后添加引用内容。

效果:

这是引用的效果

3.1.7 转义字符

有时我们需要输出某种符号但又被软件编译了而无法实现,这时需要转义字符帮助输出

语法:使用反斜杠\+需要输出的符号来实现

示例:

*无转义字符
\*有转义字符

效果


  • 无转义字符
    * 有转义字符

3.1.8 插入链接

语法:[链接名称](链接地址) 或者 <链接地址>

示例:

这是[冷哥的个人博客网站](https://jonethon.github.io)
这是冷哥的个人博客网站:<https://jonethon.github.io>

效果


这是学习怪咖的个人博客网站

这是学习怪咖的个人博客网站:https://jonethon.github.io


3.1.9 插图图片

语法:![图片的代替文字,任意文字,也可不填](文件路径或图片链接),当然也可以直接粘贴或者直接拖进来啦。

示例:

![头像](C:\Users\Wang\Desktop\头像.jpg)

效果


在这里插入图片描述


3.1.10 插入表格

语法:Markdown 制作表格使用|来分隔不同的单元格,使用 -来分隔表头和其他行。

对齐方式:

表达式说明
----:设置内容和标题栏居右对齐
:----设置内容和标题栏居左对齐
:----:设置内容和标题栏居中对齐

示例:

| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

效果:

左对齐右对齐居中对齐
单元格单元格单元格
单元格单元格单元格

3.1.11 文本缩进语法

语法:

&ensp;半角空格  
&ensp;&ensp;半角空格两个  
&emsp;全角空格  
&emsp;&emsp;全角空格两个,用作首行缩进

示例:

这是没有空格
&ensp;这是半角空格  
&ensp;&ensp;这是半角空格两个  
&emsp;这是全角空格  
&emsp;&emsp;这是全角空格两个,常用作首行缩进
注意:必须加分号,否则不是markdown语法

效果:


这是没有空格
 这是半角空格
  这是半角空格两个
 这是全角空格
  这是全角空格两个,常用作首行缩进


3.2 高级语法

目前markdown支持 sequence, flowchart and mermaid这3中流程图工具,使用markdown语法直接画图不需要考虑其他干扰的东西,且可以更好的将图形嵌入文档中。Mermaid 是一个用于画流程图、状态图、时序图、甘特图的库,可以完全取代sequence和flowchart。

3.2.1 Mermaid语法

(1)语法

graph 方向描述
  描述语句

注意:

  • 语法必须在代码块内书写
  • 必须选择代码的语言,不同的工具包应选择对应代码语言,分别为:Mermaid、sequence、flow(注意flowchart的代码语言是flow而不是flowchart)

(2)语法解释

A.方向描述

表达式说明
TB从上到下
BT从下到上
RL从右到左
LR从左到右

B.节点

表达式说明
id[文字]矩形节点
id(文字)圆角矩形节点
id((文字))圆形节点
id>文字]右向旗帜状节点
id{文字}菱形节点

说明:id是框图的识别标志,文字是框内显示的文字,包裹文字的各种括号是框图的形状

C.连接线样式

表述说明
>添加尾部箭头
-不添加尾部箭头
单线
–text–单线上加文字
==粗线
==text==粗线加文字
-.-虚线
-.text.-虚线加文字

D.子图语法

subgraph 子图表名称
    描述语句(同上)
end

3.2.2 流程图

下面给出了使用mermaid和flowchart两个工具包绘制的流程图,mermaid功能更全面操作性更高但图形效果不够理想,而flowchart语法更简单图形效果美观。很明显我们更喜欢使用示例2的效果,且示例2使用的flowchart工具包语法更简单易懂,在此就不细说了,详情请看示例代码。

(1)示例1(mermaid)

graph TB
A[开始] --> B(初始化)
	B --> C[条件1]
    C --> |YES| C1{条件2}
    C --> |NO| C2{条件3}
    C1 -->|YES| D[结果1]
    C1 -->|NO| E[结果2]
    C2 -->|YES| F[结果3]
    C2 -->|NO| B(初始化)
    D[结果1] --> G(end)
    E[结果2] --> G(end)

(2)效果

YES
NO
YES
NO
YES
NO
开始
初始化
条件1
条件2
条件3
结果1
结果2
end

(3)示例2(flowchart)

flow
st=>start: 开始
op=>operation: 初始化
op1=>operation: 结果1
op2=>operation: 结果2
op3=>operation: 结果3
c1=>condition: 条件1
c2=>condition: 条件2
c3=>condition: 条件3
e=>end

st->op->c1
c1(yes)->c2
c1(no)->c3
c2(yes)->op1->e
c2(no)->op2->e
c3(yes)->op3->e
c3(no)->op

(4)效果

Created with Raphaël 2.2.0 开始 初始化 条件1 条件2 结果1 End 结果2 条件3 结果3 yes no yes no yes no

3.2.3 时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。在markdown中使用sequence工具包制作。

语法:

符号含义说明
-代表实线表示主动发送消息
>代表实心箭头表示同步消息
代表虚线表示返回消息
>>代表非实心箭头表示异步消息

示例1:

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

效果:

Andrew China Says Hello China thinks\nabout it How are you? I am good thanks! Andrew China Here is a title

示例2:

Title: Here is a title
A->B: Normal line
B-->C: Dashed line
C->>D: Open arrow
D-->>A: Dashed open arrow

效果:

A B C D Normal line Dashed line Open arrow Dashed open arrow A B C D Here is a title

以上示例均来源于sequence官网:https://bramp.github.io/js-sequence-diagrams/,更多内容请前往相关晚上查找资料学习。

3.2.4 甘特图

甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。在markdown中使用mermaid工具包制作。

语法:

属性说明
gantt特指甘特图的关键词
dateFormat指定日期格式:YYYY-MM-DD,Y表示年,M表示月,D表示日,如:2019-12-01
title指甘特图的标题
section项目关键字,空格之后输入项目名称
done已完成
active正在进行
crit关键任务,
不填写默认情况下任务都为待完成状态
id框图的识别标志
after用于描述任务时间关系
时间范围YYYY-MM-DD,YYYY-MM-DD,如:2019-12-06,2019-12-08
指定天数指定完成该过程需要的时间天数,如:3d
指定开始日期+天数“YYYY-MM-DD+xd”,如:2019-12-09, 3d

示例:

gantt         
       dateFormat  YYYY-MM-DD   
       title 使用mermaid语言定制甘特图

       section 任务1
       已完成的任务           :done,id1, 2019-12-06,2019-12-08
       正在进行的任务         :active,id2, 2019-12-09, 3d
       待完成任务1           :         id3, after id2, 5d
       待完成任务2           :         id4, after id3, 5d

       section 关键任务
       已完成的关键任务       :crit, done, 2019-12-06,24h
       已完成的关键任务2      :crit, done, after id1, 2d
       正在进行的关键任务     :crit, active, 3d
       待完成的关键任务       :crit, 5d
       待完成任务            :2d
       待完成任务2           :1d

效果:

Mon 09 Mon 16 已完成的任务 正在进行的任务 待完成任务1 待完成任务2 已完成的关键任务 已完成的关键任务2 正在进行的关键任务 待完成的关键任务 待完成任务 待完成任务2 任务1 关键任务 使用mermaid语言定制甘特图

3.3 文件导出

markdown提供了导出功能,可以将上面的所有内容和图形导出为各种文件格式,不同的编辑器支持的导出格式各异,不过也有一把瑞士军刀啦——pandoc,这把军刀可以把Markdown转换成日常所需的文件格式啦,如需求量大的话,请留言啦,下次安排一下啦。

4 Markdown与HTML

以上基础可以解决了我们的基本应用,但有时我们想用颜色或字体大小等突出文字又该怎么实现呢?

markdown具有超强的拓展功能,支持HTML语法,不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。需要HTML语法学习的朋友请自行学习,下面仅列出在markdown中常用到的HTML语法。

4.1 HTML元素

目前支持的HTML元素:<kbd> <b> <i> <em> <sup> <sub> <br>

示例:

使用 <kbd>Ctrl</kbd>+<kbd>ALT</kbd>+<kbd>Del</kbd> 重启电脑

效果:


使用 Ctrl+ALT+Del 重启电脑


其他元素请自行参考HTML语法规则

4.2 HTML语句

Markdown语法简单易学,可以实现大部分功能,但有时我们想设置特殊的格式以突出文本,这是需要使用HTML语法来帮助实现自己想要的功能,简要介绍几个常用的HTML语句。特别指出的是,Markdown可以与HTML语法混用,如:<center>**居中加粗**</center> 。

4.2.1 字体

语法:

<font face="字体">文本内容</font> 

示例:

<font face="华文行楷">这是华文行楷</font> 

效果:


这是华文行楷


4.2.2 字号

语法:

<font Size=(1~7)>文本内容</font>  #默认字体大小为3号

示例:

<font Size=1>我是1号字</font>  
<font Size=2>我是2号字</font>  
<font Size=3>我是3号字</font>  
<font Size=4>我是4号字</font>  
<font Size=5>我是5号字</font>  
<font Size=6>我是6号字</font>  
<font Size=7>我是7号字</font>  

效果:


我是1号字
我是2号字
我是3号字
我是4号字
我是5号字
我是6号字
我是7号字


4.2.3 颜色

语法:

<font color=颜色值>文本</font>  

示例:

<font color=#0099ff>color=#0099ff</font>
<font color=red>color=red</font>

效果:


color=#0099ff
color=red


说明:颜色值可以是颜色英文名也可以是十六为颜色值,更多详细内容请参考:https://blog.csdn.net/testcs_dn/article/details/45719357/

4.2.4 文本居中

语法:

<center>文本内容</center>  

示例:

<center>我想居中</center>  

效果:


我想居中

5 特殊符号与数学符号

Markdown支持Latex语法,可以快速输入特殊符号、数学符号和数学公式等,网上有许多前辈整理得非常的完善,在此就不做过多赘述,详情请自行查找,也可参考:markdown公式符号大全

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值