轻松学透Markdown的终极教程 #5: GFM(GitHub Flavored Markdown)语法
目录
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)语法相关推荐
- GFM(GitHub Flavored Markdown)与标准Markdown的语法区别
没有就自己造 其实这篇文16年底的时候就写好的,只不过当时是记在自己的笔记上(没错,我笔记大多记在本地,比发表的这寥寥几篇那是多的多的多了
- [cnblogs镜像]GFM(GitHub Flavored Markdown)与标准Markdown的区别
摘要: 前言,网上没有相关的文章,我就写一篇好了. 其实这篇文16年底的时候就写好的,只不过当时是记在自己的笔记上(没错,我笔记大多记在本地,比发表的这寥寥几篇那是多的多的多了
- a pycharm 标记多个_轻松学透Markdown的终极教程 #3:Markdown标准标记语法(全)
轻松学透Markdown的终极教程 #3: Markdown标准标记语法(全) 掌握并熟记一些常用的Markdown的标记语法,简单.有趣.实用 其实如果大家选择了一款Markdown编辑器上手的话, ...
- github学习(1): README.md编辑语法(Github Flavored Markdown)
全文转载自[kaitiren博客] http://blog.csdn.net/kaitiren/article/details/38513715 最近对它的README.md文件颇为感兴趣.便写下这贴 ...
- GitHub Flavored Markdown 规范
Markdown是一种轻量级标记语言,它以纯文本形式编写文档,易读(看起来舒服).易写(语法简单).易更改,并最终以HTML格式发布.由于markdown没有明确指定语法,随着编译器不一样,实现方式有 ...
- Github Flavored Markdown介绍
Github Flavored Markdown Github用的GFM,风格很漂亮,简洁美观大方. GFM对标准Markdown做了少了修改,例如如下的内容. 原文链接 和标准Markdown的不同 ...
- GitHub Flavored Markdown 中实现【页内跳转】
GitHub Flavored Markdown 中实现[页内跳转] GitHub 并不直接支持 html 形式的跳转,但可以通过以下两种方法曲折实现: 1. 任意 # 标注的标题都会被添加上同名的跳 ...
- GitHub支持的Markdown语法 GitHub Flavored Markdown
GitHub支持的Markdown语法,简称GFM.相比标准的Markdown(SM)语法,有少数几个区别,并添加了新的功能. 本位参考 GitHub Flavored Markdown 撰写.有兴趣 ...
- 轻松学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 ...
最新文章
- [转]用 jQuery 实现页面滚动(Scroll)效果的完美方法
- 用什么方法才能测量出无线发射模块的功率呢?
- linux内核网络协议栈--数据包的接收过程(二十)
- python采集_Python采集实例1
- Go语言集合(Map)
- USACO2.11 The Castle hdu1198
- 2018年前端星计划等你来报名!
- 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator?
- 分享一个凭实力赚钱例子,值得借鉴学习
- AngularJS中的表单验证机制
- ssh自动登陆和scp自动拷贝文件
- 知到网课创新创业学考试试题答案分享!
- Sakai 20.0 部署
- 祝你元宵节快乐!今朝逢元夜,花与灯依旧。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。...
- 宝洁中国CIO沈锋:全球日化巨头是如何做数字化的|数字思考者50人
- html td 长度适配,table的td宽度自适应
- 2021-1-1今日新闻简报 每天精选12条最新时事热点新闻摘要和1条微语
- PowerShell install 一键部署VMware_Workstation
- 眼球摘除手术| 作为眼科医生最无奈的手术之一,它是如何进行的?
- 【矩阵论】8. 常用矩阵总结——镜面阵,正定阵
热门文章
- 科技感ui界面 html,未来科技感UI界面设计欣赏
- confirm的意思中文翻译_confirm是什么意思_confirm的翻译_音标_读音_用法_例句_爱词霸在线词典...
- html导航栏移动线的位置,编辑html,如何把导航栏固定在网页底部随屏幕移动?...
- 深入理解JUC——AQS 及 ReentrantLock
- next和nextOrSame,previous和previousOrSame区别
- 基于形态学的复杂背景目标检测算法
- VMware被博通收购后:大中华区总裁上任仅9个月突然离职
- python初中级开发面经(持续更新2020-3-7)
- 校内CTF比赛WriteUp
- html锚点定位不准确问题