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. libev loop_init分析

    尼玛 C语言学不好真是桑心呐! 看了libev的代码有一种想死的感觉,但是还是要硬着头皮看下去,一定看完! /* initialise a loop structure, must be zero-i ...

  2. Java读写TXT文本

    public String readTxtFile(String filePath) { StringBuffer appInfolistInput = new StringBuffer(); try ...

  3. 进阶之路(基础篇) - 003 I/O的模拟的读取

    /********************************* 代码功能:读取某引脚的模拟量串口返回数据 使用函数: analogRead(引脚号); //调用10位AD 创作时间:2016*1 ...

  4. 【脚下生根】之深度探索安卓OpenGL投影矩阵

    世界变化真快,前段时间windows开发技术热还在如火如荼,web技术就开始来势汹汹,正当web呈现欣欣向荣之际,安卓小机器人,咬过一口的苹果,winPhone开发平台又如闪电般划破了混沌的web世界 ...

  5. 【MySQL】MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  6. Docker未启动错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    此问题是因为Docker安装后未启动所致,执行以下命令启动docker: systemctl start docker.service 具体日志如下: Connecting to ... Connec ...

  7. javascript中 try catch finally 的使用

    例一:function message(){ try { adddlert("Welcome guest!") } catch(err) { txt="此页面存在一个错误 ...

  8. Android插件化与热修复(六)-微信Tinker原理分析

    Tinker热修复原理分析 热补丁技术是在用户不需要重新安装应用的情况下实现应用更新,可快速解决一些线上问题.热补丁省去了Android应用发布版本的成本,而且用户端的更新也是无感知的. Tinker ...

  9. Fix SharePoint 2013 Site in Read only mode after an interrupted backup

    Problem When I was backing up SharePoint Site Collection Automatically with PowerShell and Windows T ...

  10. Java Nashorn--Part 4

    Nashorn 和 javax.script 包 Nashorn 并不是第一个在 Java 平台上运行的脚本语言.在Java 6 就提供了 javax.script java 包,它为脚本语言引擎提供 ...