历史

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”,

自从GitHub流行以来,Markdown作为一种轻量级标记语言就深受程序员的喜爱,上手也是非常简单,接下来我们就来分析一下为什么markdown为什么能被一向挑剔的程序员们爱不释手呢?

语法

(注:Markdown发展至今衍生出一些细节上有些许差异的版本,这里以GitHub 的Flavored Markdown(同样在标准Markdown语法上有一些修改) 语法为标准讨论,谁叫咱是程序员呢..)


head


Markdown支持多级标题对应不同的字体大小,例如:

# Markdown
## Markdown
### Markdown
#### Markdown
##### Markdown
###### Markdown

所对应的显示内容为:

Markdown

Markdown

Markdown

Markdown

Markdown
Markdown

最多可以支持6个,而且需要注意的是,这里的#开头的文字或标题必须另起一行,#和文字中间必须有空格,不然GitHub的README无法识别。

同时,有些爱思考的同学就会说,要是我用七个#,会不会将前六个#作为字体符号,最后一个在文本中显示呢。例如:

####### Markdown

而结果是:

####### Markdown

显然,Markdown并没有对其进行转化。


除了用#标识字体(标题)大小,还有一种方法:

Markdown
=========
Markdown
---------

所对应的显示内容为:

Markdown

Markdown


这里的字体只分为两级,大号的字体下一行用"="号隔开,略小一号的字体用"-"(短横线)隔开,"="或"-"的数量最好是三个以上,但是有些版本可以为一个,通常的习惯为与字体等长。


2、段落和换行


分隔线

在实际的文本显示中,为了使文本更加清晰明了,可以适当地加入一些分隔线

***
---

分隔线由***或者---表示,一般是三个连续的符号,单行开头,也可以多于三个


换行

换行可以使用一个或者多个空行来另起一个段落,注意是一个空行,而不是简单地用回车来另换一行,示例:

第一行

第二行
第三行

所对应的显示内容为:

第一行
第二行第三行

很明显,第二行和第三行连到了一起,那如果我就是不喜欢隔一个空行,非要以回车来换行呢,考虑到部分强迫症晚期患者,Markdown有另一种换行的方法:

在上一行的行尾添加两个空格,然后以回车来换行,建议用空行换行


插入文本引用

如果我需要将一段文本与正文文本相区分,比如示例,引用文章之类的,怎么做呢?

答案是先换行(隔一个或者多个空行),然后新行以tab键开头,键入文本,示例:

正文

    引用文本示例

所对应的显示内容为:

正文

引用文本示例。

列表

无序列表

无序列表k而已使用* + -来标识,注意在字符之后要添加一个空格,示例:

* Markdown1
+ Markdown2
- Markdown3

所对应的显示内容为:

  • Markdown1
  • Markdown2
  • Markdown3

结果显示,这三种符号是可以交叉使用的


有序列表

有序列表需要添加一个相应的'数字'+'.'+'空格'来标识,示例:

1. Markdown1
2. Markdown2
3. Markdown3

所对应的显示内容为:

  1. Markdown1
  2. Markdown2
  3. Markdown3

代码

如何把代码贴上去呢?很简单,将代码用两个`包含起来,这个符号不是单引号,而是反引号,键盘左上角那个

`print "hello world" `

所对应的显示内容为

print "hello world"

同时也可以用上面提到的引用文本的方法来贴代码


链接

添加链接的方法为:

[博客](https://www.cnblogs.com/downey-blog/)

所对应的显示内容为:

博客

,点击高亮字体即可进入相应链接


设置跳转

在写文档时,经常会需要在某段文本上设置链接,跳转到另一段文本中,最常见的是注脚,对于这些注脚,并不方便写在正文中,但是写在文档末尾又没头没尾的,我们就可以设置一个连接跳转。它的语法是这样的:

在需要跳转的文本处添加:

    [跳转到末尾](#jump1)

在跳转目的地添加:

    <span id="jump1">测试跳转的文本</span>

所对应的效果为:跳转到末尾

注意[]中包含显示的说明文本,而(#jump1)相当于定义一个匹配对象。

在跳转目的地则是XXX的格式,jump1对应上述的匹配对象,而XXX是需要添加的文本。

插入图片

插入图片的方法与插入链接相比仅仅在前面多了一个 "!",即:

![pic](https://raw.githubusercontent.com/linux-downey/bloc_test/master/picture/Makedown/Makedown.png)

所对应的显示内容为:

值得注意的是,目前还并没有一种兼容性比较好的方法将图片内嵌到文本中,一般的做法是在文本内引用图片的链接,但是在这种做法下,如果图片资源一旦迁移,将会额外增加修改成本


修改图片大小

如果要修改图片大小,可以使用HTML的处理方式来插入图片,并设置固定大小

<img src="https://raw.githubusercontent.com/linux-downey/bloc_test/master/picture/Makedown/Makedown.png" width=100 height=60 />

所对应的显示内容为:

同时,也可以按照比例来设置图片大小

<img src="https://raw.githubusercontent.com/linux-downey/bloc_test/master/picture/Makedown/Makedown.png" width="%50" height="%50" />

所对应的显示内容为:


测试跳转的文本


好了,关于markdown的基本语法和使用介绍就到此为止啦,如果朋友们对于这个有什么疑问或者发现有文章中有什么错误,欢迎留言

原创博客,转载请注明出处!

祝各位早日实现项目丛中过,bug不沾身.

(完)

github markdown语法及使用的更多相关文章

  1. Github readme语法-- markdown

    README 该文件用来测试和展示书写README的各种markdown语法.GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为GitHub Flavored Mar ...

  2. GitHub上Markdown语法的高级应用

    高级语法格式 本篇的内容来源于Github使用高级格式写作.如果在观看时有什么问题,可以直接查阅源文件.另外需要说明的是Git对Markdown的支持增加了一些扩展功能,因此在Git上可以渲染的Mar ...

  3. GitHub支持的Markdown语法 GitHub Flavored Markdown

    GitHub支持的Markdown语法,简称GFM.相比标准的Markdown(SM)语法,有少数几个区别,并添加了新的功能. 本位参考 GitHub Flavored Markdown 撰写.有兴趣 ...

  4. Markdown github 风格语法

    某些效果cnblog无法支持,见 https://github.com/tanghammer/note/blob/master/Markdown%20github%E9%A3%8E%E6%A0%BC% ...

  5. GitHub上README写法暨markdown语法解读

    原文: GitHub上README写法暨markdown语法解读 自从开始玩GitHub以来,就 越来越 感觉它有爱.最近对它的 README.md 文件颇为感兴趣.便写下这贴,帮助更多的还不会编写R ...

  6. 【03】github的markdown语法

    [03]github的markdown语法 https://guides.github.com/features/mastering-markdown/(下图)(魔芋:已录入)   http://ma ...

  7. GitHub 风格的 Markdown 语法

    GitHub 风格的 Markdown 语法 [译] GitHub 风格的 Markdown 语法 Original: GitHub Flavored Markdown - GitHub Help T ...

  8. 2015年12月03日 GitHub入门学习(五)Markdown语法简介

    Markdown一种标记语言,语法简洁,不像Word或Pages有大量排版.字体设置.常用的标记符号不超过十个.被大量写作爱好者.撰稿人.作家所青睐. 一.Markdown的优点 专注你的文字内容而不 ...

  9. 基于 Cmd MarkDown 的 markdown 语法学习

    首先我要打一个属于干货的广告:CmdMarkDown 是非常好用的markdown编辑器软件,支持全平台,由作业部落出品,分为客户端与WEB端两种使用场景. 本篇博客学习的markdown语法都是基于 ...

随机推荐

  1. 基因型数据正负链怎么翻转(snp flip)

    在合并数据过程当中,经常会发现不同来源的数据正负链不是统一的,这是一件很头疼的事. 正负链没有统一的情况下直接合并在一起会产生什么后果呢. 举个最简单的例子,假如我们从小明和小红分别拿到了一批基因型数 ...

  2. 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案

    背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服 ...

  3. 容器版jenkins使用宿主机的kubectl命令

    参照里面的第4步: https://www.cnblogs.com/effortsing/p/10486960.html

  4. 【VS开发】Visual C++内存泄露检测—VLD工具使用说明

    Visual C++内存泄露检测-VLD工具使用说明 一.        VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具.他的 ...

  5. [05]Go设计模式:建造者模式(Builder Pattern)

    目录 建造者模式 一.简介 二.代码 三:参考资料 建造者模式 一.简介 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式, ...

  6. [04]Go设计模式:抽象工厂模式(Abstract Factory Pattern)

    目录 抽象工厂模式 一.简介 二.代码 三. 参考资料 抽象工厂模式 一.简介 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂 ...

  7. MAVEN安装代码到本地库,安装jar, source, javadoc的方式

    cd /d %~dp0 mvn -Dpackaging=jar mvn -Dpackaging=jar -Dclassifier=sources mvn -Dpackaging=jar -Dclass ...

  8. 九、Spring中使用@Value和@PropertySource为属性赋值

    首先回顾下在xml中我们是如何为spring的bean进行属性赋值呢? 大体是这样的 <bean id="person" class="com.atguigu.be ...

  9. P3275 [SCOI2011]糖果 题解

    一道差分约束的模板题. 题目 题意:n个人每个人至少一个糖果,另外要满足k个不等式,求最少糖果数. 差分约束系统 给定一组不等式 $ x[i]-x[j]<=c[k] $ (或 $ x[i]-x[ ...

  10. 【C#】上机实验八

    1. 设计一个窗体应用程序,模拟写字板应用程序的基本功能.具体功能要求如下: (1)“文件”菜单中有“新建”.“打开”.“保存”.“退出”子菜单. (2)“编辑”菜单中有“剪切”.“复制”.“粘贴”. ...