之前一直在使用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编辑器
    第一个是个人开发的,免费使用,非常赞!
    第二个是一个已经发布的产品,可以免费在线编辑。除此之外,还可以将内容同步到印象笔记,不过只能试用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)列表标记
    如果我们的内容需要进行标记,那么我们可以使用下面的方式
 
 
 
    好了,这些东西完全够用了,休息,休息一下...

【转录】原来Github上的README.md文件这么有意思——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】给GitHub上的ReadMe.md文件中添加图片怎么做 、 gitHub创建文件夹

    1.首先在github上的仓库上,创建一个空的文件夹,用于上传图片 上图看 要点击的按钮是创建新的文件,并不是创建新的文件夹,具体怎么?往下看 这个时候,下面的提交按钮才能提交 2.进入新创建的文件夹 ...

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

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

  5. 在GitHub上编辑README.md排版样式

    如何在github的readme.md编辑出好看的样式排版文章呢...? 参考:https://blog.csdn.net/u012067966/article/details/50736647

  6. 解决:GitHub 远程端添加了 README.md 文件后,本地 push 代码时出现错误

    一.错误描述 To github.com:compassblog/PythonExercise.git ! [rejected] master -> master (fetch first) e ...

  7. Git学习:如何在Github的README.MD文件下添加图片

    格式如下: ![image](图片的绝对路径) 关于图片的绝对路径: 必须把图片上传到github的代码仓库里,再将其图片的网址复制到括号里才可以,不能够直接把图片复制到readme.md文件里面,这 ...

  8. GitHub中README.md文件的编辑和使用

    最近对它的README.md文件颇为感兴趣.便写下这贴,帮助更多的还不会编写README文件的同学们. README文件后缀名为md.md是markdown的缩写,markdown是一种编辑博客的语言 ...

  9. 为项目编写Readme.MD文件

    了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme. ...

随机推荐

  1. Java程序入口:main()方法讲解

    Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中, ♦ public修饰符:Java类由JVM调用,为 ...

  2. springboot tomcat配置参数列表

    springboot tomcat的配置选项大全 server. Port = xxxx server. Address = server. contextPath = server. display ...

  3. go语言面向对象编程之类型系统

    go语言类型系统 类型系统,顾名思义是指一个语言的类型体系结构,一个典型的类型系统通常包含如下基本内容 基础类型:如byte,int,bool,float等 复合类型:如数组,指针,结构体 可以指向任 ...

  4. knn算法的c语言实现

    最近研究KNN,找到了一些优秀的源码,贴出来,做个笔记吧. #include<stdio.h> #include<stdlib.h> #include<math.h> ...

  5. iOS学习——(转)UIResponder详解

    本文转载自:ios开发 之 UIResponder详解 我们知道UIResponder是所有视图View的基类,在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,包括触摸事件( ...

  6. 通过session的id号获取对应的session

    说说为什么要用session!!! 每次访问端通过普通http协议访问tomcat时,访问端包括网页或Android app等,tomcat都会自动生成一个不同的session,而且session的i ...

  7. 解决关于ios访问相机闪退问题

    在mac上的ionic3项目打包成苹果app,系统版本是10.3.3 . 当调用相机的时候出现闪退情况,这是调试出现的问题: This app has crashed because it attem ...

  8. 关于 Spring Security OAuth2 中 Feign 调用 Token 问题

    微服务体系中,避免不了服务之间链式调用,一般使用 Feign ,由于使用 Spring Security OAuth2 全局做了安全认证,简单的一种实现方式就是在服务提供方获得 Token 再次通过 ...

  9. Eclipse For JavaEE安装、配置、测试

    Eclipse For JavaEE安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与配置 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发 ...

  10. 06 使用Tensorflow拟合x与y之间的关系

    看代码: import tensorflow as tf import numpy as np #构造输入数据(我们用神经网络拟合x_data和y_data之间的关系) x_data = np.lin ...