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. 利用LD_PRELOAD hook代码

    loader在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号.换句话说,可以用我们自己的so库中的函数替换原来库里有的函数,从而达到hook的目的.这和Wi ...

  2. Debug 路漫漫-04

    1.错误使用 cat 要串联的数组的维度不一致. ——前面给个初始化即可: D = cell(length(trainIdx),1); user_itemData = cell(length(trai ...

  3. 【RS】BPR:Bayesian Personalized Ranking from Implicit Feedback - BPR:利用隐反馈的贝叶斯个性化排序

    [论文标题]BPR:Bayesian Personalized Ranking from Implicit Feedback (2012,Published by ACM Press) [论文作者]S ...

  4. 使用Anemometer分析MySQL慢查询记录

    数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观. 下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer. 在使用之前需要安装pe ...

  5. [转]expect实现ssh自动交互

    shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...

  6. 【ASP.NET】@Model类型的使用详解

    有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求. 假设Person和Produ ...

  7. 【iOS开发-36】Bundle Identifier的中文字符变成-的问题

    在创建新项目时,Bundle Identifier=Organization Identifier+Product Name.可是它们对中文的识别统一变成短横线 - . 所以在创建多个项目的时候,须要 ...

  8. (LeetCode)用两个栈实现一个队列

    LeetCode上面的一道题目.原文例如以下: Implement the following operations of a queue using stacks. push(x) -- Push ...

  9. SharePoint 2013 启用 查看PDF功能

    SharePoint 2013 默认不能直接Online (注:此Online非OWA概念,而是可以实现直接调用客户端软件实现对文档的编辑,保存之后同步上传)打开PDF(SharePoint 2013 ...

  10. C# 对文件与文件夹的操作包括删除、移动与复制

    在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类.文件夹(Folder)是只在Wind ...