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. cnblogs修改网站图标icon

    以下修改网络地址即可 <script type="text/javascript" language="javascript"> //Setting ...

  2. sqlserver查询数据表中每个类别最新的一条记录

    表tariff_info, 原始数据: 想要的结果:以start_time时间倒序排序, 以code分类, 查询每一类最新的一条记录 sql: SELECT a.* FROM TARIFF_INFO ...

  3. 【jsp】JSTL标签大全详解

    一.JSTL标签介绍 1.什么是JSTL? JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...

  4. sqlyog v12.09 注册码

    1.小巧的自动完成.2.HTTP/HTTPS和SSH通道.3.向导化的汇入工具包.4.结构化的同步,可以设定任务计划,按照特定的时间进行同步作业,并对同步数据进行校验.5.工作管理器.计划备份.以及通 ...

  5. 百度OCR识别示例

    文章地址:https://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多点几次图片).更新 ...

  6. Swift 构造与析构

    前言 与 OC 一样,Swift 中也存在构造和析构过程.不同的是,OC 中的构造方法和析构方法只是普通的方法,而 Swift 中构造器和析构器是一种特殊的结构. 1.构造器 在 Swift 中,类或 ...

  7. SQL临时表

    临时表就是那些名称以井号 (#) 开头的表.如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表.临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内.  临时表有 ...

  8. AndroidStudio编译错误:Error: null value in entry: blameLogFolder=null

    今天写项目的时候,电脑开了个WiFi热点,然后这个热点和window驱动不兼容,有时候会导致电脑重启,重启之后AndroidStudio编译就报错了, Error: null value in ent ...

  9. Android Studio:正确导入SO相关文件

      导入so文件有2种方式 第一种: 使用jniLibs文件夹导入so文件,则仅需将所有cpu类型的文件夹拷进去. 在project结构下,module目录下创建libs文件夹,放入jar文件:在sr ...

  10. python制作exe可执行文件的方法---使用pyinstaller

    python制作exe可执行文件的方法---使用pyinstaller   python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinsta ...