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

2023-10-28

转载 https://blog.csdn.net/zhaokaiqiang1992/article/details/41349819

之前一直在使用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)列表标记

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • apt安装包报错解决办法:下列软件包有未满足的依赖关系,依赖。。。但是。。。正要被安装

    apt安装包报错解决办法 下列软件包有未满足的依赖关系 依赖 但是 正要被安装 文章目录 apt安装包报错解决办法 下列软件包有未满足的依赖关系 依赖 但是 正要被安装 几种可能的情况 1 镜像源版本代码的问题 1 查看版本代码 2 修改镜
  • Redis设计与实现---Sentinel

    Sentinel Redis的高可用性解决方案 由一个或多个Sentinel实例组成的系统可以监视任意多个主服务器 以及这些主服务器属下的所有从服务器 并在被监视的主服务器进入下线状态时 自动将下线主服务器属下的某个从服务器升级为新的主服务
  • 考研复试数据库原理课后习题(十)——数据库恢复技术

    数据库恢复技术 1 事务是用户定义的一个数据库操作序列 这些操作要么全做 要么不做 是一个不可分隔的工作单位 事务具有四个特性 ACID 原子性 一致性 隔离性 持续性 原子性 事务是数据库的逻辑工作单位 一个事务中包括的操作要么全做 要么
  • Swagger的常用配置

    一 可在项目中创建SwaggerConfig配置类 对文档详细信息进行配置 swagger配置类 用于配置swagger的详细信息 比如标题 网站 邮箱 Configuration public class SwaggerConfig 返回
  • linux 大量的TIME_WAIT解决办法

    原文地址 http www cnblogs com softidea p 6062147 html 统计在一台前端机上高峰时间TCP连接的情况 统计命令 netstat n awk tcp S NF END for a in S print
  • 计算机科学想象作文500,六年级想象作文600字

    第一篇 描写月亮的作文 你们听说过 超级月亮 吗 什么 没听说过 那么 我就带你们去看看前几天的超级月亮吧 今天 我像往常一样去广场滑滑板 忽然 我看一栋楼房的左 作文500字 未来的城市一场暴雨过后 阳光洒在充满绿意的城市 街道上没有积水
  • 09_Pandas从多个条件(AND,OR,NOT)中提取行

    09 Pandas从多个条件 AND OR NOT 中提取行 使用Pandas从多个条件 AND OR NOT 中提取行的方法 有以下2点需要注意 的使用 and or not的错误 使用比较运算符时 请将每个条件括在括号中 以下数据为例
  • 驱动名、设备名和设备文件名的关系

    编写一个驱动文件的时候生成一个name1 ko文件 这个name1就是驱动名 使用insmod name1 ko指令之后 用lsmod能看见一个名为name1的驱动 在调用了alloc chrdev region函数或register ch
  • 满分回答教你如何应对面试中项目经验这一难关

    给前端瓶子君加星标 提升前端技能 作者 亦逊 https juejin im post 5e7aed9c6fb9a07cac1d872d 前言 本篇文章的作者是来自阿里淘系用户增长前端团队的 亦逊 18年作为双非本科生通过层层面试 校招进入
  • CSS下划线与文字间距,下划线粗细以及下划线颜色的设置

    最开始的时候了解下划线的属性是 text decoration underline 1 但是 很遗憾的是 对于设计做的下划线用浏览器默认属性样式很难调整 使用这个属性并不能调整下划线与文字的间距 而且对于下划线的颜色也不好调整 而使用 u
  • 2014年仍然是DX11设备仿真和软引擎年

    先说点题外话 2014年1月比较浮躁 2月过年 回家后 与亲戚家的同龄人一比较 发现自己很废 不知道他们是不是在吹牛 想急功近利挣点钱 所以一度想进行OSG或者COCOS2DX 诚然 以后会进行这样的一种或两种 但是 今年不是时候 因为水平
  • MFC之创建插入符,写字,换行与退格11

    概述 我们按照前面文章根据向导创建项目 1 创建插入符 由于插入符是在创建窗口后并且做我们用户操作前需要使用 所以我们将插入符的创建放在OnCreate函数中即WM CRATE信号 int CInsertFuView OnCreate LP
  • reacthook的ref循环多个子组件

    父组件 ref值挂在这里 父子和兄弟都可以使用 const bodyRefs useRef
  • sklearn 随机森林(Random Forest)多分类问题

    模型 随机森林是集成学习算法的一种 sklearn更多的集成学习算法 RandomForestClassifier 参数详解 重要的参数有基分类器的个数 n estimators 特征选择算法 critirion 单个决策树的最大深度 ma
  • 使用wps2019快速翻译视频文字

    问题 视频中的英文如何翻译 如图 方法如下 1 使用wps 2019 截屏工具截取屏幕 2 使用 翻译文字 3 结果
  • SpringBoot+redis实现消息队列(发布/订阅)

    1 引入依赖
  • 2021解决ERROR:ModuleNotFoundError: No module named ‘sklearn‘

    2021解决ERROR ModuleNotFoundError No module named sklearn 在Python中 出现 no module named sklean 的原因是 没有正确安装sklean包 很多博文直接给出了这
  • 反向代理与 Real-IP 和 X-Forwarded-For

    开篇语 开涛新作 亿级流量网站架构核心技术 出版计划公布以来 博文视点遭受到一波又一波读者询问面世时间的DDos攻击 面对亿级流量的热情 感激之余 我们也很庆幸 这部作品质量的确过硬 不会辜负拥趸厚望 更有开涛的高度负责和体贴周到加持 让她
  • ARM学习之定时器Timer0实验

    Project Timer0实验 Writer SHOW Time 2011 10 16 Hareware 硬件平台 mini2440 J link Function 通过定时器0实现LED1以1s的时间间隔闪烁 Direction 这个实
  • 原来Github上的README.md文件这么有意思——Markdown语言详解

    转载 https blog csdn net zhaokaiqiang1992 article details 41349819 之前一直在使用github 也在上面分享了不少的项目和Demo 每次创建新项目的时候 使用的都是默认的READ