第一次接触Markdown是写代码初期看很多大佬的github,他们的项目一定会有一份文件叫Readme.md的文件

他们由一些简单美观的符号和汉字字母组成,编译之后成为一篇简单直观的文档

深入了解之后我才知道,原来还有这样一种神奇的标记语言,可以写出这么好看的文档

当然,在我们记录一些技术文档或者写技术博客的时候,也经常会头疼,如何写一篇技术文档,能够同时以美观的格式发布到多个博客平台呢?

Markdown就可以解决我们快速书写和多个平台适配的痛点,他可以用一些简单的标记符,来格式化你的文档,并且保证不同平台统一的格式

当然,由于各个平台的Markdown解析器的配置不同,解析后的一些样式,比如字体粗细,超链接颜色,代码块颜色之类的,可能会稍有不同

可以说,Markdown就是为简单而生

什么是Markdown?

  1. Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档
  2. 他是由John Gruber在2004年发明创建
  3. Markdown编写的文档可以导出HTML 、Word、图像、PDF、Epub等多种格式的文档
  4. Markdown编写的文档后缀为.md.markdown`
  5. 注意!!!Markdown支持部分Html的语法,部分展示复杂的内容可以用Html代码来写

Markdown编辑器的选择

因为我个人是从js开始接触代码世界,所以我选择的第一个编辑器是Hbuilder(注意官网已经不提供更新版本下载),

不过目前它已经升级版本到HbuilderX,这不是一个专门的Markdown编辑器

但是他的内部集成了插件具有直接编写Markdown的功能,就我个人而言我觉得非常适合写Markdown文档,不仅不耽误写代码,

而且它的Markdown文本标注的颜色非常符合我的审美。当然萝卜青菜各有所爱,还有以下一些Markdown编译器大家都可以试试

  1. 各大博客网站的编写都是支持Markdown语法的,所以可以直接在网站上写,如:github,csdn,开源中国,掘金,思否之类的平台
  2. 专门的Markdown编辑器,如:

    Mou

    MarkdownPad

    Typora

    Atom

    Haroopad

    SublimeText

    Cmd Markdown

    Byword

    CuteMarkEd

    Dillinger

    EpicEditor

    MarkdownEditor

    MarkPad

    Marxico

  3. 最后,大部分的编译器都是可以安装Markdown编译器插件的,所以基本上可以直接在写代码的同时用Markdown写写技术文章哦

我常用的一些语法

注意!!!这里是我自己平时写文档和技术博客常用的一些Markdown标记,标注为我自己写文档使用的位置,不是这个标记的官方定义

# 大标题
### 段落标题
#### 特殊tip(会加粗成为目录中的标题,慎用,我是因为橘黄色才用这个作tip)
1. 有序列表
+ 无序列表
> 引用(需要垂直连续使用)
*文字* 倾斜
**文字** 加粗
***文字*** 加粗倾斜
[外部链接标题](外部链接地址 "标题") 外部链接,标题就是类似脚注,鼠标悬浮后显示的文字
`单行代码` 行内代码块
```*2 多行代码块(注意这里是两排```,中间写代码即可)
[锚链接标题](#锚链接id) + <span id="#锚链接id"></span> 组合使用可以完成锚链接,在当前文章内跳转到指定位置

Markdown语法大全

  1. 标题
  2. 段落
  3. 列表
  4. 引用
  5. 代码
  6. 链接
  7. 图片
  8. 表格
  9. 其他

标题

  1. 主要是用来写整个文档的目录结构的,需要注意的是各级标题的字体大小对应h1-h6
  2. 可以用下划线突出一下标题,不过我本人不喜欢这么标记,根据字符数量不同,标记线的长度不同
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
---- 标记线

段落

  1. 在文字的末尾添加两个空格或者下一行空一行,都可以实现换行
  2. 使用*或者_组合来实现加粗或者倾斜
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
  1. 使用下面这些符号都可以建立分割线,根据符号数量不同分割线长度不同
***
* * *
*****
- - -
----------
  1. 在文字的前后加上~或者~~可以实现删除线
~需要标注删除线的文字~
~~需要标注删除线的文字~~
  1. 让文字拥有脚注,就是鼠标悬浮之后显示的文字
[^需要注明的文字]: 悬浮后显示的文字

列表

  1. 有序列表,直接用1. 2. 3.按顺序标注下去即可,注意是数字加.
1. 第一项
2. 第二项
3. 第三项
  1. 无序列表,使用*或者+或者-按顺序标注下去即可
* 第一项
* 第二项
* 第三项 + 第一项
+ 第二项
+ 第三项 - 第一项
- 第二项
- 第三项
  1. 嵌套列表,列表嵌套只需在子列表中的选项前面添加四个空格即可。注意列表下也可以使用>来引用相关内容,注意引用换行需要在末尾加两个空格哦
1. 第一项:
* 第一项嵌套的第一个元素
* 第一项嵌套的第二个元素
2. 第二项:
+ 第二项嵌套的第一个元素
+ 第二项嵌套的第二个元素
3. 第三项
- 第三项嵌套的第一个元素
- 第三项嵌套的第二个元素
4. 引用内容
> 引用一(注意如果要换行就加两个空格,默认是不换行,会自动把下面引用内容拼接过来)
> 引用二

引用

  1. 在段落开头添加>,然后和段落之间要空一个空格。默认不换行,换行需要在末尾添加两个空格。支持嵌套
> 引用一
> 引用二
> 引用三 > 最外层
> > 第一层嵌套
> > > 第二层嵌套
  1. 区块中使用列表和列表中使用区块参考上一节末尾
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项 * 列表中使用区块
* 第一项
> 引用一
> 引用二
* 第二项

代码

  1. 如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`)(貌似没法用两个反引号把一个反引号写成代码片段?HbuilderX亲测不支持)
`code()` 函数
  1. 代码区块可以使用4个空格或者一个制表符 Tab键)即可。也可以使用两个(```)包裹一段代码,这样更为醒目,

    我经常使用,并且你可以指定代码的语言,也可以不指定
// 这里用括号包裹防止误认为代码块
(```)javascript
$(document).ready(function () {
alert('RUNOOB');
});
(```)

链接

  1. 普通链接,直接按下方格式书写,有完整格式和简介格式
// 完整格式,可以重命名,另外可选外加标题,标题可以不写,标题类似脚注,悬浮显示文字
[链接名称](链接地址 "链接标题") // 简洁格式
<链接标题>
  1. 高级链接,我们可以通过变量来设置一个链接,变量赋值在文档末尾进行
这个链接用 1 作为网址变量 [Google][1]
这个链接用 abc123 作为网址变量 [Baidu][abc123]
这个链接用 runoob 作为网址变量 [Runoob][runoob]
然后在文档的结尾为变量赋值(网址) [1]: http://www.google.com/
[abc123]: http://www.baidu.com/
[rb]: http://www.rb.com/

图片

  1. 基本语法,直接按照下方格式书写
![alt 属性文本](图片地址或图片网址)
![alt 属性文本](图片地址或图片网址 "可选标题")
  1. 高级语法,像网址那样使用变量
这个链接用 a 作为网址变量 [RB][a].
然后在文档的结尾为变量赋值(图片地址或图片网址) [a]: 图片地址或图片网址
  1. 没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的<img>标签
<img src="http://static.rb.com/images/rb-logo.png" width="50%">

表格

  1. 制作表格使用|来分隔不同的单元格,使用-来分隔表头和其他行
|  表头   | 表头  |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
  1. 我们可以设置表格的对齐方式

    • -: 设置内容和标题栏居右对齐
    • :- 设置内容和标题栏居左对齐
    • :-: 设置内容和标题栏居居中对齐
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
  1. 复杂表格,如需要合并表头之类的,可以直接使用Html中提供的表格
<table>
<tr>
<th colspan="3">js-pratice</th>
</tr>
<tr>
<th>一级目录</th>
<th>二级目录</th>
<th>描述</th>
</tr >
<tr >
<td rowspan="3">Array</td>
<td>Basic</td>
<td>数组基本操作</td>
</tr>
<tr>
<td>Repeat</td>
<td>数组去重操作</td>
</tr>
<tr>
<td>Sort</td>
<td>数组排序操作</td>
</tr>
<tr>
<td >Date</td>
<td>Date</td>
<td>日期对象操作</td>
</tr>
<tr>
<td >Inherit</td>
<td >Inherit</td>
<td >继承对象操作</td>
</tr>
<tr>
<td >Promise</td>
<td >Promise</td>
<td >Promise对象操作</td>
</tr>
</table>

其他

  1. 支持Html代码

    例如:Html转义字符在行首添加空格来实现,&ensp;代表半角空格,&emsp;代表全角空格

    例如:借助<br/>来在表格中实现换行

  2. \包裹来转义
  3. 部分高级Markdown编辑器支持使用$$包裹来使用数学公式
  4. 部分高级Markdown编辑器支持流程图的编译和展示

参考文档一 ———— 菜鸟教程 Markdown 教程

参考文档二 ———— 几款主流好用的markdown编辑器介绍

参考文档三 ———— 关于 Markdown 的一些奇技淫巧

我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!

如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~

转发请注明参考文章地址,非常感谢!!!

快速入门上手Markdown的更多相关文章

  1. R语言快速入门上手

    导言:     较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...

  2. 快速入门上手JavaScript中的Promise

    当我还是一个小白的时候,我翻了很多关于Promise介绍的文档,我一直没能理解所谓解决异步操作的痛点是什么意思 直到我翻了谷歌第一页的所有中文文档我才有所顿悟,其实从他的英文字面意思理解最为简单粗暴 ...

  3. Markdown: Basics (快速入门)[转]

    Markdown: Basics (快速入门) / (点击查看完整语法说明) Getting the Gist of Markdown's Formatting Syntax [转自:http://w ...

  4. markdown预览-快速入门

    最近要写文档,领导指定用markdown. 这个两三年前用过两次的神器工具,都忘的差不多了. 为了熟练一点这个技能,决定好好的重新学一次. 于是乎:看快速入门文档 ...30分钟...看完文档发现要来 ...

  5. css3弹性盒模型flex快速入门与上手(align-content与align-items)

    接着上文css3弹性盒模型flex快速入门与上手1继续,上文还剩下两个父容器的属性align-items和align-content. 一.align-content:多行的副轴对齐方式 含义 多行的 ...

  6. webpack快速入门——webpack3.X 快速上手一个Demo

    1.进入根目录,建两个文件夹,分别为src和dist 1).src文件夹:用来存放我们编写的javascript代码,可以简单的理解为用JavaScript编写的模块. 2).dist文件夹:用来存放 ...

  7. MarkDown快速入门(typora)

    MarkDown快速入门(typora) 1.代码块: //代码块语法: ​```java ​```shell 1.java代码 package com.yjx.jdbc import java.sq ...

  8. 3分钟 Markdown 快速入门(超详细)(Day_33)

    Markdown 快速入门 (这个贼重要)注:所有符号要在英文状态下完成哦,中文是没有效果的. 1.标题 # 表示一级标题 ## 表示二级标题 ### 表示三级标题 #### 表示四级标题 ##### ...

  9. Sass简单、快速上手_Sass快速入门学习笔记总结

    Sass是世界上最成熟.稳定和强大的专业级css扩展语言 ,除了Sass是css的一种预处理器语言,类似的语言还有Less,Stylus等. 这篇文章关于Sass快速入门学习笔记. 资源网站大全 ht ...

随机推荐

  1. css如何简单设置文字溢出盒子显示省略号

    1.单行文本溢出显示省略号单行文本溢出显示省略号,必须满足三个条件:(1)先强制一行内显示文本white-space:nowrap;(默认 normal自动换行)(2)超出的部分隐藏overflow: ...

  2. windows右键菜单自动打包发布nuget,没有CI/CD一样方便!

    构建现代的 .Net 应用离不开 Nuget 的支持,而快速打包 Nuget 成了提高生产率的有效方法.没有CI/CD?来试试使用windows右键菜单吧 先看右键效果图 有时候我们可能没有CI/CD ...

  3. 【UE4 C++ 基础知识】<4> 枚举 Enum、结构体 Struct

    枚举 UENUM宏搭配BlueprintType可以将枚举暴露给蓝图,不使用的话,仅能在C++使用 //定义一个原生enum class enum class EMyType { Type1, Typ ...

  4. 使用cerebro可视化ElasticSearch集群信息

    使用cerebro可视化ElasticSearch集群信息 一.背景 二.安装步骤 1.下载并解压 2.配置cerebro 3.启动 cerebro 4.启动界面 三.注意事项 四.参考文档 一.背景 ...

  5. stm32f103中断学习总结

    一.NVIC 介绍 NVIC 英文全称是 Nested Vectored Interrupt Controller,中文意思就是嵌套向量中断控制器,它属于 M3 内核的一个外设,控制着芯片的中断相关功 ...

  6. 『学了就忘』Linux基础 — 11、通过setup工具配置Linux系统IP地址

    目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6 ...

  7. TypeError: 'encoding' is an invalid keyword argument for this function 解决Python 2.7

    在python2.7中这样调用代码 open('file/name.txt','r',encoding= 'utf-8').read() 会出现 TypeError: 'encoding' is an ...

  8. Django(74)drf-spectacular自动生成接口文档

    介绍 drf-spectacular是为Django REST Framework生成合理灵活的OpenAPI 3.0模式.它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不 ...

  9. Centos 7 局域网 yum 源搭建

    一.需求及实现方式介绍: 需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如:openstack)后,如果过一段时间想扩展集群时发现软件版本早已迭代更新,安装后导致和现有环境或多或少不兼容, ...

  10. SkyWalking部署及.Net Core简单使用

    SkyWalking官方网站非常详细,以下只是本人学习过程的整理 一.SkyWalking简介 1.概念 SkyWalking是分布式系统的应用程序性能监视工具,专为微服务.云原生架构而设计 SkyW ...