转自:http://www.kuqin.com/shuoit/20141125/343459.html

之前一直在使用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)链接

如果我们文章中加入一个链接,那么我们通过下面的方式添加

[链接文字](链接地址)
例子: [Markdown](http://blog.csdn.net/zhaokaiqiang1992)

(8)分割线

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

(9)列表标记

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

好了,这些东西完全够用了,休息,休息一下...

Markdown语言.md文件的更多相关文章

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

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

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

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

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

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

  4. Markdown—.md文件是什么?怎么打开?

    md全称markdown,markdown也是一种标记语言. md文件其实可以用常用的文本编辑器都可以打开.   用记事本打开,把markdown文件拖到记事本图标上就可以打开 .   用 subli ...

  5. CSDN新版Markdown编辑器(Alpha 2.0版)使用示例(文首附源码.md文件)

    CSDN新版Markdown编辑器(Alpha 2.0版) 使用示例 附 本文的Markdown源码: https://github.com/yanglr/AlgoSolutions/blob/mas ...

  6. vue 导入.md文件(markdown转HTML)

    前言 刚接到这个需求的时候,觉得很简单(的确很简单)但是这玩意的坑真的也让人无奈. 网上找了很多的资料,都没有写出痛点(这就很难过了).通过实践并且在我们项目中平稳运行,想分享给后面的人 我的博客上也 ...

  7. vue展示md文件,前端读取展示markdown文件

    方案1:每次都需要重新打包,每次修改都需要build 直接使用require + v-html: 核心代码如下: 1. 首先需要添加MD文件的loader就是 markdown-loader npm ...

  8. Markdown语言详解

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

  9. 关于github中的README.md文件

    0x01 README.md文件是用Markdown语言编写的,md=Markdown; 在线编辑工具: https://stackedit.io/editor# https://maxiang.io ...

随机推荐

  1. MongoDB 分片管理(不定时更新)

    背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...

  2. 针对Xcode的警告忽略消除处理

    一.问题描述 html代码如下 <html> <head> <meta charset="utf-8"/> <title>我的网页& ...

  3. 【python】入门学习(十)

    #入门学习系列的内容均是在学习<Python编程入门(第3版)>时的学习笔记 统计一个文本文档的信息,并输出出现频率最高的10个单词 #text.py #保留的字符 keep = {'a' ...

  4. Java IO流题库

    一.    填空题 Java IO流可以分为   节点流   和处理流两大类,其中前者处于IO操作的第一线,所有操作必须通过他们进行. 输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数 ...

  5. [Android Pro] ActionBarDrawerToggle 使用小结

    reference to  : http://blog.csdn.net/chencehnggq/article/details/21492417 activity.java mToolbar = ( ...

  6. 在springMVC的controller层获取view层的参数的方式

    方法一:request.getParameter("name") 方法二:注解@RequestParam @RequestMapping("testRequestPara ...

  7. java删除被占用的文件

    boolean result = f.delete();//判断是否删除完毕 if(!result) { System.gc();//系统进行资源强制回收 f.delete; }

  8. clustershell

    .安装 yum install clustershell .配置ssh无密码登录 .配置/etc/hosts 在hosts中文件中将ip和主机名对应起来,使用比较方便 .配置关键文件 clusters ...

  9. UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃

      UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃 [摘要:reason: '-[UITableView _conten ...

  10. Python 与 C# lambda表达式比较

    Python里到lambda表达式非常简约, lam =lambda a: a*2 --> lam(3) 6 在某些情况下确实挺好用到.但是相比C#到lambda表达式,还是不够强大(我不是在黑 ...