GitHub支持的Markdown语法,简称GFM。相比标准的Markdown(SM)语法,有少数几个区别,并添加了新的功能。

本位参考 GitHub Flavored Markdown 撰写。有兴趣的话可以看原文。

与标准Markdown的区别

对文本中下划线的处理方式不同

标准Markdown语法会把两个下划线 _ 之间的文本转换为斜体。GFM中会忽略这种语法设置。如果需要设置斜体,建议使用 * 实现。注意仅仅是单个下划线的情况下,多个下划线的语法还是正常的。比如下面单词:

wow_great_stuff

do_this_and_do_that_and_another_thing

URL自动链接

GFM中支持标准URL的自动链接,不需要使用标准Markdown的URL超链接语法。比如,输入下面URL

http://example.com

自动显示为

http://example.com

支持删除线

GFM中添加了支持删除文本的语法,使用两个波浪线包含的文本,会自动添加删除线。(波浪线在键盘中没有直接输入的符号,所以慎用!)

比如,输入下面文本:

Strike Through

显示效果如下:

Strike Through

代码块包含语法

标准Markdown语法使用行开始四个空格表示引用代码块。GFM添见了新的代码块引用语法。只要使用 ```包含对应的代码块就可以实现代码引用。(相比标准的用法,这样可以避免代码对齐和空格输入的麻烦。)

比如,

```

int test(void)

{

int m = 0;

}

```

效果如下:

    int test(void)
{
int m = 0;
}

支持语法高亮

GFM的代码块支持语法高亮,只需要在 ```c++(代码块起始后面加上语言名称即可)。比如下面效果是可以实现的。

#include <iostream>
int main(int argc, char * argv[])
{
int i = 0;
std::cout << i << std::endl; return 0;
}

表格创建

可以使用连字符 -来表示表格的第一行,可以用管道符 |表示表格的列。如下语法:

First Header Second Header
content cell content cell
content cell content cell

显示效果如下:

First Header Second Header
content cell content cell
content cell content cell

当然,实际使用中可以不用考虑表格每一行的字符对齐的要求。

比如下面这种语法也是可以的:

Name Description
Help Display the help window.
Close Closes a window

效果如下:

Name Description
Help Display the help window.
Close Closes a window

表格单元项中也可以包含其他模块,比如超链接、斜体、加粗、删除线等。

也可以使用冒号 : 表示表格中单元格的对齐方式。如下语法:

Left-Aligned Center Aligned Right Aligned
col 3 is some wordy text $1600
col 2 is centered $12
zebra stripes are neat $1

显示效果如下:

Left-Aligned Center Aligned Right Aligned
col 3 is some wordy text $1600
col 2 is centered $12
zebra stripes are neat $1

冒号位于左边表示当前列左对齐显示,冒号位于右边表示当前列右对齐显示,冒号在两边各一个,表示居中显示。

任务列表

任务列表是在列表上添加[]、[x](分别表示未完成、完成状态)。输入下面文本:

- [x] @mentions, #refs, [links](), **formatting**, and <del>tags</del> are supported
- [x] list syntax is required (any unordered or ordered list supported)
- [x] this is a complete item
- [ ] this is an incomplete item

显示效果是这样的:

  • [x] @mentions, #refs, links, formatting, and tags are supported
  • [x] list syntax is required (any unordered or ordered list supported)
  • [x] this is a complete item
  • [ ] this is an incomplete item

任务列表支持嵌套,但建议嵌套层数不超过2层。

参考资料

  1. GitHub Flavored Markdown
  2. Writing on GitHub
  3. Mastering Markdown

附件说明

鉴于博客园的markdown客户端渲染效果比较差,有兴趣的可以直接到参考资料中查看实际渲染效果。

GitHub支持的Markdown语法 GitHub Flavored Markdown的更多相关文章

  1. 基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布

    标题: 基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布 作者: 梦幻之心星 sky-seeker@qq.com 标签: [MarkDown,Github,图床,S ...

  2. 记录下 Markdown 语法

    github上常用markdown语法:Mastering Markdown 目录 0. 目录 1. 锚点 2.标题 3.超链接 3.1.行内式 3.2.自动链接 4.列表 4.1.有序列表 4.2. ...

  3. 使用 java 实现一个简单的 markdown 语法解析器

    1. 什么是 markdown Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的 ...

  4. Markdown语法及html内嵌

    目录 1.Markdown介绍 2.Markdown语法介绍 3.内嵌html语法   之前看到很多大佬博客写的特别漂亮,非常羡慕,他们是怎么排版的呢?作为一个小白,学习使我快乐....终于在不断摸索 ...

  5. Markdown语法与入门

    Markdown语法与入门   Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的 ...

  6. Pandoc中的Markdown语法

    概述 Pandoc中支持扩展修订版本的Markdown语法 使用pandoc中支持的Markdown语法用 -f markdown 使用标准Markdown语法用 -f markdown_strict ...

  7. markdown 语法规则

    markdown 语法规则 参考Markdown--入门指南 也可以参考这篇 Markdown: Basics (快速入门) 一级标题 二级标题 三级标题 列表 无序 1 2 3 有序 1 2 3 需 ...

  8. 最全的Markdown语法

    目录 Markdown语法 多级标题 引用与注释 插入代码 行内代码 代码段 图片 超链接 行内超链接 参数式超链接 字体 表格 分割线 多级列表 无序列表 有序列表 多选框 LaTeX公式 行内La ...

  9. Markdown 语法和代码高亮

    安装 Python Markdown 安装命令 pip install markdown 视图中渲染 Markdown blog/views.py import markdown from djang ...

随机推荐

  1. 可扩展的Web系统和分布式系统(Scalable Web Architecture and Distributed Systems)

    Open source software has become a fundamental building block for some of the biggest websites. And a ...

  2. [转]GFS架构分析

    Google文件系统(Google File System,GFS)是构建在廉价的服务器之上的大型分布式系统.它将服务器故障视为正常现象,通过软件的方式自动容错,在保证系统可靠性和可用性的同时,大大减 ...

  3. 实体格式化转xml

    In the past, I've done the following to control datetime serialization: Ignore the DateTime property ...

  4. Linux安装ElasticSearch-2.2.0-分词器插件(Mmseg)

    1.在gitpub上搜索elasticsearch-analysis,能够看到所有elasticsearch的分词器: 2.安装Mmseg分词器:https://github.com/medcl/el ...

  5. log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  6. 关于VC++的增量链接(Incremental Linking)

    增量链接(Incremental Linking)这个词语在使用Visual C++时经常会遇到(其实不只是VS系列,其它链接器也有这个特性), 就比如经常遇到的:上一个增量链接没有生成它, 正在执行 ...

  7. xtrabackup部分备份数据库 Partial Backups

    官方文档: 部分备份: http://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/partial_backups_innobacku ...

  8. response.encodeURL的用法

    Java Servlet API 中引用 Session 机制来追踪客户的状态.Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容 ...

  9. C# 禁止datagridview 自动产生列

    dataGridView1.AutoGenerateColumns = false;

  10. Access2007 操作或事件已被禁用模式阻止解决办法

    在“消息栏”上,单击“选项”. 在“Microsoft Office 安全选项”对话框中,单击“启用此内容”,然后单击“确定”. 如果没有看到消息栏在“数据库工具”选项卡上的“显示/隐藏”组中,单击“ ...