Markdown使用学习

什么是markdown

Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)。允许人们使用易读易写的纯文本格式编写文档,可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档,文档后缀为.md,.markdown

为什么学习markdown

有些朋友会觉得,我用 Word 也可以实现同样的效果,为什么要使用 Markdown 呢?这个问题提得非常好。
Word 等其他文本编辑工具虽然也能实现同样的效果,但是其功能太强大了。Word 还能改变字体颜色,还可以调节字体大小。这么强大的功能可以说是 Word 的优点,但也可以说是它的缺点。当功能多了,我们的注意力就会分散,我们就会去纠结:这个字体大小到底是 14 还是 16 好?我想强调这一句话,是要加粗还是标红?
而 Markdown 的出现让我们不需要去纠结这些问题。Markdown 的本质是让我们回归到内容本身,注重文章本身的结构,而不是样式。例如我们想要强调一句话,那么我们直接使用两个星号为其加粗,而不需要考虑是加粗还是标红(Markdown中只有黑色字体,没有其他颜色字体)。你也不需要关心字体大小问题,因为 Markdown 中字体大小都与结构有关,无法手动设置。一级标题字体大一些,二级标题小一些。
Markdown 的本质是让我们回归内容本身。 当你明白这个道理的时候,你会明白为什么许多功能 Markdown 没有。

markdown的编辑工具

平台文章编辑器:简书、CSDN 等;
本地APP:Typora、MarkText、Notable、vnote 等;
Web APP:md2all、mdeditor 等;

markdown的特点

一键创建
支持主流的语法
支持插入图片
支持多种模式切换
跨平台同步
演示模式

markdown的语法

原生的 Markdown 语法只包含了最基础的一些特性,例如:标题、加粗、斜体、段落、引用、超链接、图片、列表、代码块、水平分割线等。而一些自定义实现的编辑器,则有一些自定义的实现,例如:数学公式、TODO列表等。所以当你看到有一些语法在一个编辑可以用,但到另一个编辑器又用不了的时候,那么这个语法可能就不是通用的 Markdown 原生语法了。

目录

说明

@[TOC](这里写目录标题)
# 一级目录
## 二级目录
### 三级目录

说明:
toc: table of contents

标题

说明

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

说明:使用#号可表示1-6级标题,一级标题对应一个#号,二级标题对应两个#号,以此类推。
 # 和 标题内容之间存在一个空格

字体

说明

*强调文本/斜体文本* _强调文本/斜体文本_
**加粗文本** __加粗文本__
==标记/高亮文本==
***粗斜体字体***

范例

这是正常字体
这是强调字体/斜体字体
这是加粗字体
这是标记/高亮本文
这是粗斜体

线

说明

(1)分隔线
	在一行中用三个(以上)的星号、减号、底线来建立一个分隔线;
	该分隔线行内不能输出任何其他文本,也可以在星号或是减号中间插入空格。如下所示:
***
* * *
*****
- - - 

(2)删除线
如果段落上的文字需添加删除线,在需要添加删除线的文字首部和尾部加上两个波浪线~~即可。如下所示:
~~这行文字已被删除~~

(3)下划线(underline)
如果段落上的文字需添加下划线,在需要添加下划线的文字首部和尾部加上<u>文本</u>即可。如下所示:
<u>这行文字已被添加下划线</u>

范例

这行文字已被删除


这行文字已被添加下划线

引用&列表

说明

(1)列表
Markdown 支持有序列表和无序列表。
无序列表使用星号(*)、加号(+)或是减号(-),加上空格,作为列表标记;
有序列表使用数字并加上 . 号标记;如下所示:
* 第一
+ 第二
- 第三
1.第四
2.第五
3.第六

(2)列表嵌套
列表嵌套需在子列表中的选项中添加四个空格,如下所示:
1. 第一
    - 第一个列表嵌套
2. 第二
    - 第二个列表嵌套

(3)复选框
-空格[空格]:表示未完成
-空格[x]: 表示完成
如下所示:
- [ ] 计划任务
- [x] 完成任务

(4) 引用
Markdown 引用需在段落开头使用>符号,后面紧跟一个空格符号。如下所示:
> 这是一个引用
> 作者:JackTian

(5)  引用嵌套
还可以嵌套,一个>符号在第一层,两个>符号是第一层的嵌套,以此类推。如下所示:
> 这是一个引用
> > 作者:JackTian
> > > 微信公众号:杰哥的IT之旅(ID:Jake_Internet)

(6) 引用中使用列表
> 引用列表
> * 这是一个引用
> - 作者:JackTian

(7)列表中时候引用
如要在列表中使用引用,需要在>号前添加四个空格的缩进(类似于列表嵌套)。如下所示:
- 列表中使用引用 1
    > 这是一个引用
    > 作者:JackTian
    > 微信公众号:杰哥的IT之旅(ID:Jake_Internet)
- 列表中使用引用 2

范例

  • 第一
  • 第二
  • 第三
    1.第四
    2.第五
    3.第六
  • 一级列表1
    • 二级列表1
      • 三级列表1
  • 一级列表2
    • 二级列表2
      • 三级列表2
  • 计划任务
  • 完成任务
  • 未完成2
  • 完成2

这是一个引用
作者:JackTian

微信公众号:杰哥的IT之旅(ID:Jake_Internet)

引用列表

  • 这是一个引用
  • 作者:JackTian
  • 列表中使用引用 1

    这是一个引用
    作者:JackTian
    微信公众号:杰哥的IT之旅(ID:Jake_Internet)

  • 列表中使用引用 2

代码

说明

markdown对代码块的语法是开始和结束行都要添加:,其中 ` 为windows键盘左上角那个,要精确指定语言(如:java、cpp、css、xml、javascript、python、php、go、kotlin、lua、objectivec等等)时,在头部直接指定,如:java

范例

#!/bin/bash
. /etc/init.d/functions
for var in {11..59}
do
	ip=172.16.1.$var
	ping -c2 $ip >/dev/null 2>&1
	if [ $? = 0 ];then
		action "$ip" /bin/true
	else
		action "$ip" /bin/false
	fi
done

链接

说明

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

范例

Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
https://mp.weixin.qq.com/s/P8XDrr7ROIXBYOZnLy45zA

图片链接

图片的样式与超链接非常相似,只需在前面加个感叹号就可以了,即用表示图片。其中中括号表示图片未加载时的提示文字,小括号表示图片地址。

说明

图片语法格式:
![图片描述](图片地址)
![图片描述](图片地址 "可选标题")
带尺寸的图片: ![图片描述](图片地址 =30x30)
居中的图片: ![图片描述](图片地址#pic_center)
居中并且带尺寸的图片: ![图片描述](图片地址#pic_center =30x30)

图片描述(Alt text)

Alt text:图片的Alt标签,用来描述图片的关键词,可以不写。最初的本意是当图片因为某种原因不能被显示时而出现的替代文字,后来又被用于SEO,可以方便搜索引擎根据Alt text里面的关键词搜索到图片。

图片链接

可以是图片的本地地址或者是网址。

"可选标题"(“optional title”)

鼠标悬置于图片上会出现的标题文字,可以不写。

范例

链接: link.
Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

变量引用

背景

  • 使用变量一处定义,处处使用,还方便统一修改
  • base64方式插入图片时,一长串的字符串把整个文章分割开,非常影响编写文章时的体验。如果能够把大段的字符串放在文章末尾,然后在文章中通过一个变量来调用,文章就不会被分割。

定义变量

定义的变量可以在文档的任何位置,而且在正文中不显示,比如说本文底部定义了上面代码块里的变量,供下面示例使用,不过页面上是看不到的。

[变量名称]:链接地址
[我的博客]:https://blog.csdn.net/jcfszxc

使用变量

链接的原本使用方式为:[链接名称](链接地址)
如果使用变量形式,则为:[链接名称][链接变量名称]
比如:[我的博客][我的博客]

范例

我的博客

插入本地图片

说明

(1) 插入网络图片
只需要在基础语法的括号中填入图片的网络链接即可,
现在已经有很多免费/收费图床和方便传图的小工具可选。
例如:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCIkxSL7-1633264798224)(网络图片路径)]

(2) 插入本地图片
只需要在基础语法的括号中填入图片的位置路径即可,支持绝对路径和相对路径。
例如:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PlaOKwB3-1633264798255)(本地文件路径)]

本地图片的缺点:

不灵活不好分享,本地图片的路径更改或丢失都会造成markdown文件调不出图。

网络图片的缺点:

将图片存在网络服务器上,非常依赖网络。加载速度也相对慢

把图片存入markdown文件

用base64转码工具把图片转成一段字符串,然后把字符串填到基础格式中链接的那个位置。

基础用法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AssqczSn-1633264798257)(data:image/png;base64,iVBORw0......)]
这个时候会发现插入的这一长串字符串会把整个文章分割开,非常影响编写文章时的体验。如果能够把大段的base64字符串放在文章末尾,然后在文章中通过一个id来调用,文章就不会被分割的这么乱了。
高级用法
比如:
![avatar][base64str]
[base64str]:data:image/png;base64,iVBORw0......

base64的图片编码如何得来?

  • 使用python将图片转化为base64字符串:
import base64
f=open('723.png','rb') #二进制方式打开图文件
ls_f=base64.b64encode(f.read()) #读取文件内容,转换为base64编码
f.close()
print(ls_f)
  • base64字符串转化为图片
import base64
bs='iVBORw0KGgoAAAANSUhEUg....' # 太长了省略
imgdata=base64.b64decode(bs)
file=open('2.jpg','wb')
file.write(imgdata)
file.close()

表格

说明

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

表格语法格式:
|  表头   | 表头  |  表头  |
|  ----  | ----  | ----- |
| 单元格  | 单元格 | 单元格 |
| 单元格  | 单元格 | 单元格 |

如果你想调整表格的左对齐、右对齐、居中对齐,可按下述方式进行调整;
:- 表示将表头及单元格的内容左对齐;
-: 表示将表头及单元格的内容左对齐;
:-: 表示将表头及单元格的内容居中对齐;

|  表头1   | 表头2  |  表头3  |  表头4  |
|  :----  | :----: | :-----: | -----:|
| 单元格1  | 单元格2 | 单元格3 |  单元格4 |
| 单元格1  | 单元格2 | 单元格3 |  单元格4 |

范例

表头1表头2表头3表头4
单元格1单元格2单元格3单元格4
单元格1单元格2单元格3单元格4

转义

说明

在 Markdown 编辑器里面使用了很多特殊符号来表示特定的意义,该特殊符号将不再显示。那么如果需要想让这些特殊符号显示出来,则需要使用转义字符,Markdown 编辑器可使用反斜杠来进行转义特殊字符即可;

\*\* 转义特殊符号正常显示 \*\*

兼容Markdown

使用了 Markdown 可以写出条理非常清晰的文章,文章结构特别清晰。但是对于一些老编辑器而言,例如:ATLASSIAN 的 WIKI 对于 Markdown 的支持就很弱。
那么怎么办呢?其实很简单,因为老的编辑器基本都支持 HTML,所以我们可以将 Markdown 渲染后的 HTML 复制到老编辑器。
一般是在本地写好 Markdown 文章,之后直接复制到一个 Markdown 编辑器,然后复制对应的 HTML 文本到老编辑器中。

参考文章

markdown总结的比较好的文章:
https://jishuin.proginn.com/p/763bfbd23766
https://www.cnblogs.com/chanshuyi/p/why_markdown_no_word.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值