快速入门上手Markdown
第一次接触Markdown
是写代码初期看很多大佬的github
,他们的项目一定会有一份文件叫Readme.md
的文件
他们由一些简单美观的符号和汉字字母组成,编译之后成为一篇简单直观的文档
深入了解之后我才知道,原来还有这样一种神奇的标记语言,可以写出这么好看的文档
当然,在我们记录一些技术文档或者写技术博客的时候,也经常会头疼,如何写一篇技术文档,能够同时以美观的格式发布到多个博客平台呢?
Markdown
就可以解决我们快速书写和多个平台适配的痛点,他可以用一些简单的标记符,来格式化你的文档,并且保证不同平台统一的格式
当然,由于各个平台的Markdown解析器
的配置不同,解析后的一些样式,比如字体粗细,超链接颜色,代码块颜色之类的,可能会稍有不同
可以说,Markdown
就是为简单而生
什么是Markdown?
Markdown
是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档- 他是由
John Gruber
在2004年发明创建 - 由
Markdown
编写的文档可以导出HTML 、Word、图像、PDF、Epub
等多种格式的文档 - Markdown
编写的文档后缀为
.md或
.markdown` - 注意!!!
Markdown
支持部分Html
的语法,部分展示复杂的内容可以用Html
代码来写
Markdown编辑器的选择
因为我个人是从js开始接触代码世界,所以我选择的第一个编辑器是Hbuilder(注意官网已经不提供更新版本下载),
不过目前它已经升级版本到HbuilderX,这不是一个专门的Markdown编辑器
,
但是他的内部集成了插件具有直接编写Markdown
的功能,就我个人而言我觉得非常适合写Markdown
文档,不仅不耽误写代码,
而且它的Markdown文本标注
的颜色非常符合我的审美。当然萝卜青菜各有所爱,还有以下一些Markdown编译器
大家都可以试试
- 各大博客网站的编写都是支持Markdown语法的,所以可以直接在网站上写,如:github,csdn,开源中国,掘金,思否之类的平台
- 专门的Markdown编辑器,如:
Mou
MarkdownPad
Typora
Atom
Haroopad
SublimeText
Cmd Markdown
Byword
CuteMarkEd
Dillinger
EpicEditor
MarkdownEditor
MarkPad
Marxico - 最后,大部分的编译器都是可以安装
Markdown编译器
插件的,所以基本上可以直接在写代码的同时用Markdown写写技术文章哦
我常用的一些语法
注意!!!这里是我自己平时写文档和技术博客常用的一些Markdown标记,标注为我自己写文档使用的位置,不是这个标记的官方定义
# 大标题
### 段落标题
#### 特殊tip(会加粗成为目录中的标题,慎用,我是因为橘黄色才用这个作tip)
1. 有序列表
+ 无序列表
> 引用(需要垂直连续使用)
*文字* 倾斜
**文字** 加粗
***文字*** 加粗倾斜
[外部链接标题](外部链接地址 "标题") 外部链接,标题就是类似脚注,鼠标悬浮后显示的文字
`单行代码` 行内代码块
```*2 多行代码块(注意这里是两排```,中间写代码即可)
[锚链接标题](#锚链接id) + <span id="#锚链接id"></span> 组合使用可以完成锚链接,在当前文章内跳转到指定位置
Markdown语法大全
标题
- 主要是用来写整个文档的目录结构的,需要注意的是各级标题的字体大小对应
h1-h6
- 可以用下划线突出一下标题,不过我本人不喜欢这么标记,根据字符数量不同,标记线的长度不同
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
---- 标记线
段落
- 在文字的末尾添加两个空格或者下一行空一行,都可以实现换行
- 使用
*
或者_
组合来实现加粗或者倾斜
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
- 使用下面这些符号都可以建立分割线,根据符号数量不同分割线长度不同
***
* * *
*****
- - -
----------
- 在文字的前后加上
~
或者~~
可以实现删除线
~需要标注删除线的文字~
~~需要标注删除线的文字~~
- 让文字拥有脚注,就是鼠标悬浮之后显示的文字
[^需要注明的文字]: 悬浮后显示的文字
列表
- 有序列表,直接用
1. 2. 3.
按顺序标注下去即可,注意是数字加.
1. 第一项
2. 第二项
3. 第三项
- 无序列表,使用
*
或者+
或者-
按顺序标注下去即可
* 第一项
* 第二项
* 第三项
+ 第一项
+ 第二项
+ 第三项
- 第一项
- 第二项
- 第三项
- 嵌套列表,列表嵌套只需在子列表中的选项前面添加四个空格即可。注意列表下也可以使用
>
来引用相关内容,注意引用换行需要在末尾加两个空格哦
1. 第一项:
* 第一项嵌套的第一个元素
* 第一项嵌套的第二个元素
2. 第二项:
+ 第二项嵌套的第一个元素
+ 第二项嵌套的第二个元素
3. 第三项
- 第三项嵌套的第一个元素
- 第三项嵌套的第二个元素
4. 引用内容
> 引用一(注意如果要换行就加两个空格,默认是不换行,会自动把下面引用内容拼接过来)
> 引用二
引用
- 在段落开头添加
>
,然后和段落之间要空一个空格。默认不换行,换行需要在末尾添加两个空格。支持嵌套
> 引用一
> 引用二
> 引用三
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
- 区块中使用列表和列表中使用区块参考上一节末尾
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项
* 列表中使用区块
* 第一项
> 引用一
> 引用二
* 第二项
代码
- 如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`)(貌似没法用两个反引号把一个反引号写成代码片段?HbuilderX亲测不支持)
`code()` 函数
- 代码区块可以使用
4个空格
或者一个制表符 Tab键)即可。也可以使用两个(```)包裹一段代码,这样更为醒目,
我经常使用,并且你可以指定代码的语言,也可以不指定
// 这里用括号包裹防止误认为代码块
(```)javascript
$(document).ready(function () {
alert('RUNOOB');
});
(```)
链接
- 普通链接,直接按下方格式书写,有完整格式和简介格式
// 完整格式,可以重命名,另外可选外加标题,标题可以不写,标题类似脚注,悬浮显示文字
[链接名称](链接地址 "链接标题")
// 简洁格式
<链接标题>
- 高级链接,我们可以通过变量来设置一个链接,变量赋值在文档末尾进行
这个链接用 1 作为网址变量 [Google][1]
这个链接用 abc123 作为网址变量 [Baidu][abc123]
这个链接用 runoob 作为网址变量 [Runoob][runoob]
然后在文档的结尾为变量赋值(网址)
[1]: http://www.google.com/
[abc123]: http://www.baidu.com/
[rb]: http://www.rb.com/
图片
- 基本语法,直接按照下方格式书写
![alt 属性文本](图片地址或图片网址)
![alt 属性文本](图片地址或图片网址 "可选标题")
- 高级语法,像网址那样使用变量
这个链接用 a 作为网址变量 [RB][a].
然后在文档的结尾为变量赋值(图片地址或图片网址)
[a]: 图片地址或图片网址
- 没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的
<img>
标签
<img src="http://static.rb.com/images/rb-logo.png" width="50%">
表格
- 制作表格使用
|
来分隔不同的单元格,使用-
来分隔表头和其他行
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
- 我们可以设置表格的对齐方式
-:
设置内容和标题栏居右对齐:-
设置内容和标题栏居左对齐:-:
设置内容和标题栏居居中对齐
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
- 复杂表格,如需要合并表头之类的,可以直接使用
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>
其他
- 支持
Html
代码例如:
Html
转义字符在行首添加空格来实现, 
代表半角空格, 
代表全角空格
例如:借助<br/>
来在表格中实现换行 - 用
\
包裹来转义 - 部分高级
Markdown
编辑器支持使用$$
包裹来使用数学公式 - 部分高级
Markdown
编辑器支持流程图的编译和展示
参考文档一 ———— 菜鸟教程 Markdown 教程
参考文档二 ———— 几款主流好用的markdown编辑器介绍
参考文档三 ———— 关于 Markdown 的一些奇技淫巧
我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~
转发请注明参考文章地址,非常感谢!!!
快速入门上手Markdown的更多相关文章
- R语言快速入门上手
导言: 较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...
- 快速入门上手JavaScript中的Promise
当我还是一个小白的时候,我翻了很多关于Promise介绍的文档,我一直没能理解所谓解决异步操作的痛点是什么意思 直到我翻了谷歌第一页的所有中文文档我才有所顿悟,其实从他的英文字面意思理解最为简单粗暴 ...
- Markdown: Basics (快速入门)[转]
Markdown: Basics (快速入门) / (点击查看完整语法说明) Getting the Gist of Markdown's Formatting Syntax [转自:http://w ...
- markdown预览-快速入门
最近要写文档,领导指定用markdown. 这个两三年前用过两次的神器工具,都忘的差不多了. 为了熟练一点这个技能,决定好好的重新学一次. 于是乎:看快速入门文档 ...30分钟...看完文档发现要来 ...
- css3弹性盒模型flex快速入门与上手(align-content与align-items)
接着上文css3弹性盒模型flex快速入门与上手1继续,上文还剩下两个父容器的属性align-items和align-content. 一.align-content:多行的副轴对齐方式 含义 多行的 ...
- webpack快速入门——webpack3.X 快速上手一个Demo
1.进入根目录,建两个文件夹,分别为src和dist 1).src文件夹:用来存放我们编写的javascript代码,可以简单的理解为用JavaScript编写的模块. 2).dist文件夹:用来存放 ...
- MarkDown快速入门(typora)
MarkDown快速入门(typora) 1.代码块: //代码块语法: ```java ```shell 1.java代码 package com.yjx.jdbc import java.sq ...
- 3分钟 Markdown 快速入门(超详细)(Day_33)
Markdown 快速入门 (这个贼重要)注:所有符号要在英文状态下完成哦,中文是没有效果的. 1.标题 # 表示一级标题 ## 表示二级标题 ### 表示三级标题 #### 表示四级标题 ##### ...
- Sass简单、快速上手_Sass快速入门学习笔记总结
Sass是世界上最成熟.稳定和强大的专业级css扩展语言 ,除了Sass是css的一种预处理器语言,类似的语言还有Less,Stylus等. 这篇文章关于Sass快速入门学习笔记. 资源网站大全 ht ...
随机推荐
- cookie和session和localStorage的区别
这三个都是保存在浏览器端,而且都是同源的. Session仅在当前浏览器窗口关闭有效,不能持久保存 Localstorage始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据 Cookie只在设置 ...
- 5个步骤,教你瞬间明白线程和线程安全.md
记得刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题:你来说说有哪些线程安全的类?我心里一想,这我早都背好了,稀里哗啦说了一大堆. 他又接着问:那你再来说说什么是线程安全?--然后我就GG了 ...
- HttpRunner3.X - 实现参数化驱动
一.前言 HttpRunner3.X支持三种方式的参数化,参数名称的定义分为两种情况: 独立参数单独进行定义: 多个参数具有关联性的参数需要将其定义在一起,采用短横线(-)进行连接. 数据源指定支持三 ...
- 【UE4 C++】抛物线路径、发射轨道相关
基于UGameplayStatics Blueprint_PredictProjectilePath_ByObjectType 根据 Object Type,算出抛物线的点集合和检测结果 static ...
- 什么是Sprint计划?
Sprint 计划是Scrum框架中的一个事件,团队将确定他们将在冲刺期间处理的产品积压项目,并讨论他们完成这些产品积压项目的初始计划. 团队可能会发现建立冲刺目标很有帮助,并以此为基础确定他们在冲刺 ...
- IDEA 激活码,最新激活码,亲测有效,持续更新(2021.10.26)
这里整理了一份 IntelliJ IDEA的最新激活码,持续更新 获取链接:[腾讯文档]分享白嫖JB Account和激活码(并附带破解工具) https://docs.qq.com/doc/DVnB ...
- Spring Cloud Alibaba 介绍及工程准备
简介 SpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案. 微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一个服务都是可以独立运行的子工程.其中涵盖 ...
- Python 检查当前运行的python版本 python2 python3
检查当前运行的python版本,可以帮助程序选择运行python2还是python3的代码 import sys if sys.version > '3': PY3 = True else: P ...
- 极速上手 VUE 3—v-model 的使用变化
本篇文章主要介绍 v-model 在 Vue2 和 Vue3 中使用变化. 一.Vue2 中 v-model 的使用 v-model 是语法糖,本质还是父子组件间的通信.父子组件通信时有两种方式: 父 ...
- Python里字符串Format时的一个易错“点”
这是一篇很小的笔记,原因是我做学习通的时候见到了这个题: 当时看了一会儿发现没有符合自己想法的答案,然后就脑袋一热选了C,结果当然是错了... 看了一眼这个format的字符串对象,发现有个 {:7. ...