Markdown是什么
一、Markdown是一种标记语言
标记语言是一种用于数据表示和文档创建的语言。它定义了数据的结构、格式、样式、传输方法等。与编程语言不同,标记语言不用于执行任何计算或创建程序。
标记语言的主要功能是在文档中添加标记,使之更易于阅读和理解。这些标记在文档处理过程中被解释和处理。这可能包括提取关键信息、格式化文本、创建图形等。
例如,HTML(超文本标记语言)是最常见的标记语言之一,它用于创建网页和其他超文本文档。其他常用的标记语言包括XML(可扩展标记语言),它通常用于数据传输和存储;以及CSS(层叠样式表),它用于为HTML文档添加样式。
另一种流行的标记语言是Markdown,这是一种轻量级标记语言,允许用户使用简单的文本格式创建易读易写的文档。
Markdown的发展历史
Markdown的发展可以追溯到1999年,由John Gruber编写。John Gruber 是一位程序员,他在编写文档时,希望能有一种简洁且易于阅读的标记语言,使得编程工作更高效。于是,他开始创造了Markdown。
Markdown的前身是 reStructuredText,是一种用于编程和技术写作的标记语言。John Gruber的目标是创建一种轻量级的、易于使用的标记语言,让普通的文本处理变得更加简单。
Markdown最初在2004年发布,但直到2010年,它才被广泛应用在网络上,那时Mozilla发布了一款支持Markdown的文件扩展名。从那以后,Markdown逐渐成为了一种非常流行的标记语言,被用于撰写网络文档和电子书籍。
在2010年,John Gruber发布了Markdown的最终版,提供了更多的功能,使得Markdown可以用于更多的应用场景。
随着时间的推移,Markdown已经成为了一种非常重要的标记语言,被广泛用于网络写作、编程和文档编写。许多编程语言和平台都支持Markdown,包括GitHub、Stack Overflow、Reddit等。
可以理解为,Markdown是一种用于创建文档,为文档定义了数据结构、格式、样式、传输方法的标记语言,标记语言是不用于执行任何计算或创建程序的。Markdown诞生的目标就是为了使文档更便于被创建,并且更易于阅读和理解。Markdown由于其简洁、易于使用、轻量的特点,在网络上发展应用的过程中逐渐流行起来。(一个优良的工具被大家所注意到,产生了影响力,并且在大小平台提供支持之后,它的应用就开始变得广泛起来了)Markdown是网络写作、文档编写、项目编程辅助、电子书刊等应用方向的良好的信息处理语言工具。(Markdown就是指,这门标记语言的规范语法)
二、支持Markdown语法的文本编辑器---Typora
Typora是一款开源的Markdown编辑器(在1.0版本之前是免费的,后续版本是激活买断使用权机制),它的设计目标是极致的简洁和直观,特别是它的实时预览功能,可以让你直接在编辑窗口看到渲染后的效果。
Typora支持多种Markdown语法,例如标题、列表、代码块、引用、脚注等。它还支持LaTeX公式什么是LaTeX编辑,方便编写数学公式。除此之外,Typora还支持图片的上传和链接插入,使得你可以方便地进行内容创作。
Typora提供了多种主题,你可以根据自己的喜好进行选择。此外,Typora还支持导出多种文件格式,包括HTML、PDF、EPUB等,方便你的文档分享和阅读。
[什么是LaTeX] LaTeX是一门主要用于科学文献和数学公式排版的标记语言。LaTeX也可以视为是一种具有排版功能的系统,就像MSWord一样具有文本编辑排版功能,只不过LaTeX为了专注于处理科学文献的优雅和数学公式的整洁。这里只需要将LaTeX简单的理解为一种 能够得到规范的数学公式的解决方案。(而Typora支持这种方案,这种方案可在数学公式一节了解到)
Markdown基础使用
一、正常模式书写markdown文本
快捷键和markdown语法都可用。基本上多使用快捷键。也可以选择多使用markdown语法,但是建议在[菜单]-[文件]-[偏好设置]-[编辑器]中,勾选开启 即时渲染。即时渲染功能可以在编辑情况,立刻渲染该行文本的格式并显示出它的markdown语法。
在不开启 即时渲染功能 的情况下编辑,快捷键偶尔会失效,但是依然可以直接使用markdown语法调整格式,只不过你会逐渐发现这样导致的不便,如不能直接对使用markdown语法定义的文本进行快捷键修改,快捷键修改的文本不能方便的通过markdown语法进行修改。
但是开启 即时渲染功能 在仅需要阅读的情况下,也会有些许不便,如光标移动到对应行时,会显示为它的markdown语法+非渲染后的格式,文字有变动效果,影响想要了解文章结构的读者阅读。
因此建议,在需求为编辑markdown文本的情况下选择开启 即时渲染;在需求为阅读markdown文本的情况下选择关闭 即时渲染。
二、源码模式书写markdown文本
只可用markdown语法,需要熟悉markdown语法的源码结构特点。实际markdown文本的显示效果的差异是由于源码上安排的结构差异导致的。
三、标题语法
介绍语法时会优先介绍快捷键方式,最后介绍markdown标准语法格式
选中文字,Ctrl+1、2、3、4、5、6【数字代表选中为几级标题,最小为6级】
选中文字,Ctrl+0,将文字转变为普通文本
选中文字,直接Ctrl+-,会对文字逐级增减为对应级数的标题
#+空格+文字【#个数代表该行文字为几级标题】
练习:
1.使用Ctrl+数字得到标题
二级标题
2.使用#得到标题
四级标题
3.使用Ctrl+0转变为普通文本
Ctrl+数字的标题变为普通文本,可以直接使用Ctrl+0变为普通文本
#+空格+文本的标题不能直接使用Ctrl+0变为普通文本
【注意】在修改格式时,光标应在选中文字末尾,并且快捷键通常失效的情况下,建议直接使用markdown语法进行修改。快捷键失效的原因可能是因为,编辑器刚好处于自动保存周期或者文本直接使用了markdown语法进行格式定义,导致短暂的快捷键失效。解决办法是,在[菜单]-[文件]-[偏好设置]-[编辑器]中,勾选开启 即时渲染
4.使用Ctrl+-改变标题级数
三级标题变为六级标题
未开启 即时渲染 时,Ctrl+-并不能直接对使用markdown语法进行格式定义的文本进行修改
四、段落语法
段落末尾Shift+Enter,小段落效果(段与段之间间隔小)
1段落 2段落
段落末尾直接Enter,大段落效果(段与段之间间隔较大)
1段落
2段落
一种视觉效果上间隔更大的段落效果(直接在段落末尾Enter两次,两段间直接空出一大行)
1段落
2段落
打开源码模式,发现出现这样的效果是因为源码上就有区别;小段落在源码中是没有源码空行,大段落在源码中是有一行源码空行,更大段落在源码中有三行源码空行
因此发现, 一个Enter换行=Enter时所在行+自带一个源码空行+跳转 一个Shift+Enter换行=Enter时所在行+跳转
五、分割线
三个---或三个***加Enter,得到一个整页分割线 分割线没有官方快捷键
练习:
六、文字显示
粗体
选中文字,Ctrl+B
一对双星号,** +中间为粗体文本+ **,星号后面没有空格直接接文本
斜体
选中文字,Ctrl+I
一对单星号,星号后面没有空格直接接文本
下划线
选中文字,Ctrl+U
一对html标记语言u框,<u></u>,标记语言u框内的所用内容包括空格都视作一个字符并配上下划线
删除线
选中文字,Alt+Shift+5
一对双波浪号,~~ ~~,双波浪号内没有空格直接接文本
高亮显示
一对双等号,== ==,双等号内没有空格直接接文本 没有官方快捷键
上2下3标
上标,在上标位置处,一对单小尖,^ ^,单小尖内没有空格直接接上标内容
下标,在下标位置处,一对单波浪号,~ ~,单波浪号内没有空格直接接下标内容
有局限性,markdown对于复杂的数学公式有另外处理办法132
问题:
乘法公式显示
112233 错误,直接使用*表示乘号,星号会与其他星号进行配对,产生markdown斜体语法
11*22*33*44 正确,应使用\反斜杠对星号进行转义,\反斜杠是转义字符
七、列表
同级无序列表
在列表序号处,Ctrl+Shift+]
在列表序号处,一对单星号然后在里面直接空格,*空格* ,在无序列表序号生成后直接书写
也可以是,-空格,+空格,都可以得到无序列表序号,但是样式都是一样的,并且列表序号都是不可作为可直接复制的文本
子集无序列表
第一集 在列表序号行位置,Ctrl+[ 降级,Ctrl+] 或者Tab 升级
第二集
第三集
同级有序列表
在列表序号处,Ctrl+Shift+[
在列表序号处,数字+.+空格,直接得到有序序列列表序号,在一个序号行的内容后Enter可以直接得到并跳转到下一同级有序序列序号行
序列列表嵌套产生多子集序列列表
依然是视觉效果上的缩进表示子集关系,并且有序序列列表和无序序列列表可以互相嵌套
1111
0.1
0.01
0.02
问问
222
s
s
s
s
333
33
s
但需注意,同级的列表序号只能为有序或者无序中的一种。想要放回普通文本行,多次使用Enter,而不是Backspace
任务列表
在任务列表序号处,必须是行首,Ctrl+Shift+X,与QQ截图快捷键冲突,不适用
在任务列表序号处,必须是行首 未完成任务,*空格*空格[空格]空格 已完成任务,*空格*空格[x]空格
效果:
- 已完成总任务1
- 已完成分任务1
- 已完成分任务2
- 未完成总任务1
- 未完成分任务1
- 未完成分分任务1
一对单星号可以换成,-空格 或者 +空格,因为就是在无序列表的基础上增加[ ] 中括号
区块列表
在想要生成区块列表的行首处,>+空格,尽量使用英文尖括号
区块和其他列表一样,可以互相嵌套构成子集关系
效果:
分区块1
是
分区块1.1
- 任务列表
分区块2
是
分区块2.1
有序列表
ss
无序列表
ss
s
s s
s
s
其实不光列表与列表能互相配合使用,markdown的语法都能产生独特的配合使用方法
八、代码显示
单行代码
选中想要变为代码的文本,Ctrl+Shift+`,单反引号
在想要插入单代码的位置(不一定是行首),一对单反引号``(在Esc下面),``,单反引号里面除了代码内部的空格,靠近单反引号的空格都会被省略
效果:
这个是代码示例,
int main(){}
,代码示例结束
代码块
在想要插入代码块的位置(代码块至少会占据一整行的位置,会将插入位置之后的文本向下顺延挤出至少一行的位置),Ctrl+Shift+K
在想要插入代码块的位置,三个单反引号+Enter,在指定位置生成代码块,再进入到代码块中编写代码。
代码块,可以指定代码语言,然后为代码进行着色。可以在生成代码块之后进行修改,也可以在生成时就指定代码块的语言。```+代码块语言+Enter,生成指定语言的代码块。
效果:
include<stdio.h> int main(){ printf("Hello World!"); return 0; }
九、链接
*网页链接
完整标准格式
在想要插入网页链接的位置,按照markdown链接语法格式,
[哔哩哔哩](https://www.bilibili.com "https://www.bilibili.com")
效果:
快速生成链接格式,Ctrl+K,选中对应文字,会将对应文字自动填入方括号中。方括号内是markdown文档中所在位置的提示文字,括号内直接写对应跳转网页的URL,括号内的双引号""写的是markdown文档中鼠标在提示文字位置时的弹窗提示内容。弹窗提示根据需求可以省略
简单快捷格式 直接在想要插入网页链接的位置,写想要跳转网页的URL,markdown会自动识别为网页链接,可省略超文本传输安全协议
效果:
本地文件系统链接
同理也适用于本地文件系统链接,括号内填 本地文件系统的跳转位置的绝对路径,如C:/1/223/3。如果路径不正确,将不会跳转。
我的电脑
markdown文档指定位置链接
同理也使用文档指定位置链接,括号内填文档的跳转位置的完整markdown语法格式及内容,基本上常用于标题,如 跳转到 第四节 四、段落语法,括号内填 ##四、段落语法。##后面没有空格,直接接对应标题,有空格将找不到位置
任何链接跳转都不会自动跳转,需要按住Ctrl然后鼠标点击链接,即可跳转
十、脚注
这是一段需要说明的文本,qwertyuiopasdfghjklzxcvbnm
在需要说明的文本行尾,[+^+脚注标签],然后再在一个合适位置,[+^+与上脚注标签对应的标签]+\:+解释说明的文本
效果:
这是一段需要说明的文本,qwertyuiopasdfghjklzxcvbnm解释说明1
阿斯顿
阿斯顿a 阿斯顿d
[解释说明1] 这段文本是26个英文字母
十一、插入图片
在想要插入图片的位置,Ctrl+Shift+I,快速生成图片链接的markdown语法格式,在括号内填入图片在本地文件系统中的绝对路径,即可插入了图片
图片插入链接的格式为,![图片的文字说明](图片在本地系统中的绝对路径"图片的弹窗提示"),也就是链接格式前多加一个!
插入后,对图片进行修改,在生成的html语言的<img />框内进行修改
src=” “指定img文件源路径 alt="替换原文件名的名称" title=”弹窗提示信息“ style="设置图片风格的标签,如zoom:图片缩放比例 ;" align=”设置图片对齐方式“默认middle居中,left左对齐,right右对齐
markdown语法本身是无法对文字颜色、样式,图片格式等进行修改的,但是由于它对html超文本标记语言的原生支持,可以通过html超文本标记语言来修改字体、字号、颜色、图片风格等。
十二、插入表格
建议使用快捷键插入表格即可,在想要插入表格的位置,Ctrl+T,选择表格的行列大小,无论多大的表格都会占掉一整个页宽
是1 sd s s d 是 是 是
认识markdown表格的源码
| 是1 | | | | ---- | ---- | ---- | | 是 | | | | 是 | | | | 是 | | |
十三、插入表情👌
太早版本的Typora和markdown不一定支持国际emoji,支持的版本可以直接通过鼠标右键然后在插入选项中找到
另外一个方法,通过windows自带的输入法,输入表情和符号。 快捷键,win+.
十四、数学公式
数学公式是Markdown的一个专精技能点,写在之后专门的附属部分
实际上,到这里Markdown的本身基础语法就已经学习完毕,Markdown后于TeX等标记语言问世,许多地方前人已经做出了努力,对于这些经验和解决方法的借鉴改良,才有了被大家接受的Markdown。到这里Markdown更像一种概念,是为了得到人们所期望中的Markdown文档的所有规范解决方案。
十五、其他快捷键
跳转到文章首、末,Ctrl+Home,Ctrl+End
跳转到行首、尾,Home,End
进入markdown源码模式,Ctrl+/
快速进入偏好设置,Ctrl+,
打开大纲列表,Ctrl+Shift+1
打开文件列表,Ctrl+Shift+2
打开文件树,Ctrl+Shift+3
快速搜索关键字,打开大纲列表,然后鼠标滚轮上滑,弹出关键字搜索框
F11,全屏显示
查找内容,Ctrl+F
查找内容,并快速替换,Ctrl+H
快速选中当前行,Ctrl+L
快速返回上一次光标所在的位置,Ctrl+J
页面大小快速缩放,Ctrl+Shift+-,Ctrl+Shift+=