相信大家在github上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的README.md文件,也不曾对这个文件有过什么了解。但是在看到别人写的项目的README.md里面竟然有图片、链接什么的,就感到很好奇,这效果是什么加上去的?于是便查了一下资料,结果,竟迁出了一门从来没有了解过的语言— —Markdown!

github上的README.md文件就是使用的Markdown语言编写的,我们先简单介绍下这门语言的来龙去脉,然后再介绍一些基本的语法和使用。

1.来龙去脉和语法特点

Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

Markdown 的目标是实现「易读易写」。可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

Markdown 语法的目标是:成为一种适用于网络的书写语言。Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

正是因为Markdown的这些特点,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如joomla、drupal都能很好的支持Markdown。

2.编辑软件

如果我们要写Markdown代码的话,我们首先需要一个编辑器,因为我使用的是Mac,所以推荐使用Mou,非常的强大,非常的好用。

下面是Mou的界面,左边是Markdown代码,右边是实时的展示效果,而且可以选择不同的主题色,非常的漂亮!

当然,如果你使用的是其他的平台的话,你可以选择在线的编辑器,效果也非常棒。

给出两个在线的Markdown编辑器

http://mahua.jser.me/

http://maxiang.info/

第一个是个人开发的,免费使用,非常赞!

第二个是一个已经发布的产品,可以免费在线编辑。除此之外,还可以将内容同步到印象笔记,不过只能试用10天,之后需要79/年,还是非常不错的。

3.常用语法介绍

这里只介绍最常用和最常见的功能,若想查看全部的语法,请移步http://wowubuntu.com/markdown/index.html

(1)标题

标题使用不同数量的"#"来标识是什么层级,可以对应于HTML里面的H1-H6,下面是示例代码和效果

“========”风格的也可以,但是我不喜欢,赶不上"#"的好用

(2)图片

我们可以使用下面的语法,添加一个图片

![Alt text](/path/to/img.jpg)

详细叙述如下:
一个惊叹号 !
接着一个方括号,里面放上图片的替代文字
接着一个普通括号,里面放上图片的网址

下面是一个示例

(3)强调

我们可以使用下面的方式给我们的文本添加强调的效果

*强调* 或者 _强调_ (示例:斜体)
**加重强调** 或者 __加重强调__ (示例:粗体)
***特别强调*** 或者 ___特别强调___ (示例:粗斜体)

下面是一个示例:

(4)代码

如果我们想在文章中添加代码,我们有两种方式

第一种方式是使用反引号(esc键下面的按钮)将代码包裹起来

下面是一个示例代码

第二种方式则是使用制表符或者至少4个空格进行缩进的行

下面是一个示例代码

(5)换行

如果我们想把一行文本进行换行,我们可以在需要换行的地方输入至少两个空格,然后回车即可,注意,如果不回车,是没有效果的,就像下面这样

(6)引用

如果我们在文章中引用了资料,那么我们可以通过一个右尖括号">"来表示这是一段引用内容。我们可以在开头加一个,也可以在每一行的前面都加一个。我们还可以在引用里面嵌套其他的引用,下面是一个示例:

(7)知乎 :https://www.zhihu.com/question/20958887

(8)分割线

如果我们想用分割线对内容进行分割,我们可以在单独一行里输入3个或以上的短横线、星号或者下划线实现。短横线和星号之间可以输入任意空格。以下每一行都产生一条水平分割线。

(9)列表标记

如果我们的内容需要进行标记,那么我们可以使用下面的方式

 
 

Markdown语言详解的更多相关文章

  1. 原来Github上的README.md文件这么有意思——Markdown语言详解(sublime text2 版本)

    一直想学习 Markdown 语言,想起以前读的一篇 赵凯强 的 博客 <原来Github上的README.md文件这么有意思——Markdown语言详解>,该篇博主 使用的是Mac系统, ...

  2. 原来Github上的README.md文件这么有意思——Markdown语言详解

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的REA ...

  3. 【转录】原来Github上的README.md文件这么有意思——Markdown语言详解

    之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的README.md文件,也不曾对这个文件有过什么了解.但是在看到别人写的项目的README.md里 ...

  4. Markdown语法详解-cnblog

    博客的重要性 博客,英文名为Blog,它的正式名称为网络日记. 为什么要写博客? 需要总结和思考.有时候我们一直在赶路,却忘了放慢脚步 提升文笔组织能力 提升学习总结能力 提升逻辑思维能力 帮助他人, ...

  5. MarkDown语法详解

    MarkDown语法详解 编辑器:Typora 下载官网:https://typora.io 提速镜像:https://gitee.com/typora-mirror/Typora-Mirror/re ...

  6. Typora下载及MarkDown语法详解

    写博客的重要性 作为一名程序员,写博客已经成了一项基本技能和素养.为什么要写博客?因为它能将我们学习的知识总结起来,提高我们对知识的深层次理解,还能将我们所学知识记录下来,以便于以后回忆.要想写博客, ...

  7. Java Web----EL(表达式语言)详解

     Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从而规范页面 ...

  8. 使用vs code编写Markdown文档以及markdown语法详解

    首先安装vscode工具,下载地址如下: https://code.visualstudio.com/ 在vs code的扩展中安装: Markdown Preview Enhanced 这款插件,安 ...

  9. Markdown 语法详解

    Markdown 学习 标题 三级标题 四级标题 最多支持六级标题 "#... + 标题名称" 字体 hello, world "** 内容 **" hello ...

随机推荐

  1. bzoj1799: [Ahoi2009]self 同类分布

    数位dp 先从1到162枚举各位数之和 s[i][j][k][l]表示i位数,第一位小于等于j,当前各位数字和为k,当前取模余数为l的方案数 然后脑补一下转移就行了 详见代码 #include < ...

  2. 【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法

    3809: Gty的二逼妹子序列 Time Limit: 80 Sec  Memory Limit: 28 MBSubmit: 1072  Solved: 292[Submit][Status][Di ...

  3. 【BZOJ-3996】线性代数 最小割-最大流

    3996: [TJOI2015]线性代数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1054  Solved: 684[Submit][Statu ...

  4. Jenkins 1.x权限配置(兼容2.x)

    说明: 1.x版本的jenkins默认是没有任何权限限制,任何人都可以访问. 需要用到的插件: [Role-based Authorization Strategy] 具体配置: 0.设置Jenkin ...

  5. Bzoj2763 [JLOI2011]飞行路线

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2651  Solved: 1004 Description Alice和Bob现在要乘飞机旅行,他们选 ...

  6. PHP数组/Hash表的实现/操作、PHP变量内核实现、PHP常量内核实现 - [ PHP内核学习 ]

    catalogue . PHP Hash表 . PHP数组定义 . PHP变量实现 . PHP常量实现 1. PHP Hash表 0x1: 基本概念 哈希表在实践中使用的非常广泛,例如编译器通常会维护 ...

  7. redis安装,配置

    下载 cd /usr/local/src wget http://download.redis.io/releases/redis-3.0.7.tar.gz     安装 yum install je ...

  8. C++ essentials 之 union

    Extraction from The C++ Programming Language 4th. edition, Bjarne Stroustrup [8.1] A struct is a seq ...

  9. sql 编写横竖表转换

    将横表转为竖表,基本思想是: 1)将横表的多条数据,"压"成一条.相当于将这么多条分组,每组"压"成一条数据.利用group by 2) 再对竖表中的列,由特定 ...

  10. Android onLowMemory()和onTrimMemory()

    1. OnLowMemory OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLo ...