目录

5.1 GFM与标准的Markdown标记语法的异同

5.2 GFM语法增加的标记

5.2.1 删除线

5.2.2 自动链接

5.2.3 任务列表

5.2.4 表格

5.2.5 代码块

5.2.6 代码的语法高亮

5.2.7 Emoji表情支持

5.2.8 禁止了一些特殊的原生HTML标签

5.3 GFM语法减少或不支持的标记

5.3.1 单词内部的下划线(_)

5.4 GMF语法和标准的Markdown语法的选择

5.5 附录


GFM(GitHub Flavored Markdown)语法是除了标准的Markdown语法外最被广泛使用的另一种版本Markdown语法,它基于CommonMark。GFM语法与标准的Markdown语法大同小异,扩展了一些标准的Markdown语法没有的内容

5.1 GFM与标准的Markdown标记语法的异同

GFM语法与标准的Markdown标记语法大部分内容是相同的,这里以本系列教程前面讲过的「标准的Markdown标记语法」作为参考,给出GFM语法与标准Markdown语法的区别。

5.2 GFM语法增加的标记

需要在一款支持GFM语法的Markdown编辑器测试、使用GFM语法

下列语法是在ATOM + markdown-preview预览插件中运行显示的

5.2.1 删除线

在标准的Markdown中是不支持「删除线」效果的标记。

在GFM中,可以通过~~实现删除线的效果:

~~我是被删除的内容~~

效果显示:

「删除线」标记常可以用在内容的修订上面。

5.2.2 自动链接

在标准的Markdown中可以通过<URL>的标记实现「自动链接」的效果。

在GFM中,可以让「自动链接」变得更加简单:

远怀学堂的官方网站是:https://www.yuanhuaixuetang.com

效果显示:

在GFM中只要是合法的HTTP网址就可以自动被解析成一个有效的链接,可以省略标准Markdown中的尖括号(<>

5.2.3 任务列表

任务列表、任务清单经常被我们用来记录待完成事项和已完成事项。

在标准的Markdown中是没有「任务列表」的标记语法的。

在GFM中,可以使用如下的语法实现「任务列表」:

- [ ] 待办事项1
- [ ] 待办事项2
- [x] 待办事项3
- [ ] 待办事项4

显示效果:

这种语法需要注意是:用- [ ] 代表的是一个未勾选的复选框(未完成事项),用- [x] 代表的是一个勾选的上的复选框(已完成事项),方括号里是字母x。

5.2.4 表格

前面讲过在标准的Markdown语法中要实现表格的效果要使用「兼容的HTML」的方法,得使用html标记中的<table></table>。

在GFM中让使用表格变得简单些:

姓名 | 年龄 | 性别
----|-----|----
小明 | 18 | 男
小刚 | 29 | 女
李三 | 20 | 男

最终显示效果:

GFM语法中的「表格」标记通过|来对表格列项进行分隔,在第一行下面使用一个或多个减号(-)来指示第一行为表格的列表头。

有很多的表格插件,可以快速的插入「表格」标记语法(不需要手动去输入|-号),同时也可以对Markdown文档中「表格」标记语法进行格式上的调整,显得好看整齐一点。

关于在GFM中使用「表格」标记语法,我的建议是:

只有非常非常简单的表格可以考虑直接使用GFM中的「表格」标记语法,因为「表格」标记语法实现的表格效果样式很简单,也不容易定制样式,它所实现的表格算是非常简单入门的表格。

如果需要在文档中插入表格,可以先通过专业做图表类的软件做出格式精美的表格(图表),然后再通过截图,将表格(图表)的图片「插入」在Markdown文档中。

还是那句话:专业的事交给专业的软件去做

5.2.5 代码块

在标准的Mqrkdown语法中可以对代码内容「缩进1个TAB制表符或者4个空格」实现代码的标记效果。

在GFM中增加了使用三个反引号(\`\`\`)来标记一段代码块:

```
function sum(a,b) {return a + b;
}```

显示效果:

GFM使用三个反引号(\`\`\`)包裹着代码块,这种语法比使用「缩进」标记代码的方法更加直观,好排版,推荐使用这种方法去标记代码块。

5.2.6 代码的语法高亮

在标准的Markdown语法中是不支持对代码块进行语法高亮显示的。

在GFM中使用三个反引号(\`\`\`)的语法去标记一段代码块,同时可以指定这段代码块的编程语言,以实现对这段代码块的语法高亮显示:

```java public class HelloWorld {public static void main(String[] args){System.out.println("Hello,World");}
}```

显示效果:

```javascriptfunction sum(a,b) {return a + b;
}```

显示效果:

```html<div><p>我是html代码,测试语法高亮显示</p>
</div>```

显示效果:

```json{"web":"远怀学堂","url":"https://www.yuanhuaixuetang.com"
}```

显示效果:

要实现代码块的语法高亮也很简单,只需要在开头的三个反引号(\`\`\`)后面跟上这段代码的编程语言名称keyword即可。

代码块的语法高亮支持绝大多数的编程语言,在开头的三个反引号(\`\`\`)后面可以使用的编程语言名称的keyword列表可以参考languages.yml这个链接里说明,一般为这个编程语言为人所熟知的名称,比如:java、php、javascript、html、css、ruby等等。

5.2.7 Emoji表情支持

在GFM语法中可以使用「Emoji表情」,这点在标准的Markdown中是不支持的,通过「Emoji表情」可以将Markdown文档做得更加丰富、生动:

:grinning:
:heart_eyes:
:speech_balloon:
:peach:

最终显示效果:

在GFM中使用「Emoji表情」的语法是:EMOJICODE:,EMOJICODE是由GFM语法中提供的,可以在Emoji Cheat Sheet或者emoji-cheat-sheet中查找到所有可用的「Emoji表情」和其对应的「EMOJICODE」。

【图 Emoji表情和对应的EMOJICODE部分示例】

我这里使用「Emoji表情」制作了一个简单的音乐播放器的效果:

												

轻松学透Markdown的终极教程 #5: GFM(GitHub Flavored Markdown)语法相关推荐

  1. GFM(GitHub Flavored Markdown)与标准Markdown的语法区别

    没有就自己造 其实这篇文16年底的时候就写好的,只不过当时是记在自己的笔记上(没错,我笔记大多记在本地,比发表的这寥寥几篇那是多的多的多了

  2. [cnblogs镜像]GFM(GitHub Flavored Markdown)与标准Markdown的区别

    摘要: 前言,网上没有相关的文章,我就写一篇好了. 其实这篇文16年底的时候就写好的,只不过当时是记在自己的笔记上(没错,我笔记大多记在本地,比发表的这寥寥几篇那是多的多的多了

  3. a pycharm 标记多个_轻松学透Markdown的终极教程 #3:Markdown标准标记语法(全)

    轻松学透Markdown的终极教程 #3: Markdown标准标记语法(全) 掌握并熟记一些常用的Markdown的标记语法,简单.有趣.实用 其实如果大家选择了一款Markdown编辑器上手的话, ...

  4. github学习(1): README.md编辑语法(Github Flavored Markdown)

    全文转载自[kaitiren博客] http://blog.csdn.net/kaitiren/article/details/38513715 最近对它的README.md文件颇为感兴趣.便写下这贴 ...

  5. GitHub Flavored Markdown 规范

    Markdown是一种轻量级标记语言,它以纯文本形式编写文档,易读(看起来舒服).易写(语法简单).易更改,并最终以HTML格式发布.由于markdown没有明确指定语法,随着编译器不一样,实现方式有 ...

  6. Github Flavored Markdown介绍

    Github Flavored Markdown Github用的GFM,风格很漂亮,简洁美观大方. GFM对标准Markdown做了少了修改,例如如下的内容. 原文链接 和标准Markdown的不同 ...

  7. GitHub Flavored Markdown 中实现【页内跳转】

    GitHub Flavored Markdown 中实现[页内跳转] GitHub 并不直接支持 html 形式的跳转,但可以通过以下两种方法曲折实现: 1. 任意 # 标注的标题都会被添加上同名的跳 ...

  8. GitHub支持的Markdown语法 GitHub Flavored Markdown

    GitHub支持的Markdown语法,简称GFM.相比标准的Markdown(SM)语法,有少数几个区别,并添加了新的功能. 本位参考 GitHub Flavored Markdown 撰写.有兴趣 ...

  9. 轻松学java web_轻松学Java Web开发 pdf_IT教程网

    资源名称:轻松学Java Web开发 pdf 第1章 浏览器技术 2 1.1 HTTP协议 2 1.1.1 HTTP协议原理 2 1.1.2 HTTP请求格式 3 1.1.3 HTTP响应格式 3 1 ...

最新文章

  1. [转]用 jQuery 实现页面滚动(Scroll)效果的完美方法
  2. 用什么方法才能测量出无线发射模块的功率呢?
  3. linux内核网络协议栈--数据包的接收过程(二十)
  4. python采集_Python采集实例1
  5. Go语言集合(Map)
  6. USACO2.11 The Castle hdu1198
  7. 2018年前端星计划等你来报名!
  8. 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator?
  9. 分享一个凭实力赚钱例子,值得借鉴学习
  10. AngularJS中的表单验证机制
  11. ssh自动登陆和scp自动拷贝文件
  12. 知到网课创新创业学考试试题答案分享!
  13. Sakai 20.0 部署
  14. 祝你元宵节快乐!今朝逢元夜,花与灯依旧。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。...
  15. 宝洁中国CIO沈锋:全球日化巨头是如何做数字化的|数字思考者50人
  16. html td 长度适配,table的td宽度自适应
  17. 2021-1-1今日新闻简报 每天精选12条最新时事热点新闻摘要和1条微语
  18. PowerShell install 一键部署VMware_Workstation
  19. 眼球摘除手术| 作为眼科医生最无奈的手术之一,它是如何进行的?
  20. 【矩阵论】8. 常用矩阵总结——镜面阵,正定阵

热门文章

  1. 科技感ui界面 html,未来科技感UI界面设计欣赏
  2. confirm的意思中文翻译_confirm是什么意思_confirm的翻译_音标_读音_用法_例句_爱词霸在线词典...
  3. html导航栏移动线的位置,编辑html,如何把导航栏固定在网页底部随屏幕移动?...
  4. 深入理解JUC——AQS 及 ReentrantLock
  5. next和nextOrSame,previous和previousOrSame区别
  6. 基于形态学的复杂背景目标检测算法
  7. VMware被博通收购后:大中华区总裁上任仅9个月突然离职
  8. python初中级开发面经(持续更新2020-3-7)
  9. 校内CTF比赛WriteUp
  10. html锚点定位不准确问题