历史

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. Office Online Server2016搭建与部署(在线编辑)

    至少需要两台服务器,一台域控制器,一台部署Office Online Server https://docs.microsoft.com/zh-cn/officeonlineserver/office ...

  2. python使用consul进行服务注册和发现

    阅读目录 一.安装启动consul 二.python服务注册 三.golang服务注册 四.通过API的方式获取信息 回到顶部 一.安装启动consul 1.通过docker快速安装 #获取docke ...

  3. 利用VBA来实现,输入日文之后,输出它的假名即读法

    背景:当你输日文汉字的额时候,输出它的读音. 如下图所示 实现的代码如下 Option Explicit ' Replace を まとめて おこなう Private Function ReplaceA ...

  4. javassist标识符

    符号 含义 $0, $1, $2, ... this and 方法的参数 $args 方法参数数组.它的类型为 Object[] $$ 所有实参.例如, m($$) 等价于 m($1,$2,...) ...

  5. 关于goquery的“non-standard import”错误

    goquery运行缺包就用get github.com\andybalholm\cascadia下到gopath,然后出现“non-standard import”错误,说明github.com\an ...

  6. 【IDEA使用技巧】(1) —— 快捷键

    1.InteliJ IDEA设置快捷键 1.1. IDEA快捷键修改—代码提示 IDEA中当现有的快捷键被系统中其他软件(比如输入法)占用时,我们可以自定义修改快捷键.比如,IDEA中的代码自动提示快 ...

  7. My Swift Study

    参考资源 <swifter> https://github.com/iOS-Swift-Developers/Swift 闭包逃逸 swift3中,闭包默认是非逃逸的.如果一个函数参数可能 ...

  8. int and Integer

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  9. resnet的理解-- 面试笔记

    上周参加了XX大学研究生推免的面试,面试老爷问到了resnet主要解决了什么问题,我下意识的回答到解决了当网络加深的时候会出现的vanishing/exploding gradients,然后面试老爷 ...

  10. ASP.NET面试题130道

     130道ASP.NET面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...