Syntax Highlighting

GFM syntax highlighting is also available by using fenced code tags with a label denoting the language, as such:

```c++
#include <stdio>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
```

which results in:

#include <stdio>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

To denote the language you can either use one the language’s extensions as the label, or the full name of the language (which is not case-sensitive).

The list of supported languages is currently as follows:

ASP

asa

ActionScript

as

AppleScript

applescript, script editor

Batch File

bat, cmd

BibTeX

bib

Bourne Again Shell (bash)

sh, bash, zsh, fish, .bash_aliases, .bash_completions, .bash_functions, .bash_login, .bash_logout, .bash_profile, .bash_variables, .bashrc, .profile, .textmate_init

C

c, h

C#

cs, csx

C++

cpp, cc, cp, cxx, c++, C, h, hh, hpp, hxx, h++, inl, ipp

CSS

css, css.erb, css.liquid

Cargo Build Results

``

Clojure

clj

D

d, di

Diff

diff, patch

Erlang

erl, hrl, Emakefile, emakefile

Go

go

Graphviz (DOT)

dot, DOT, gv

Groovy

groovy, gvy, gradle

HTML

html, htm, shtml, xhtml, inc, tmpl, tpl

HTML (ASP)

asp

HTML (Erlang)

yaws

HTML (Rails)

rails, rhtml, erb, html.erb

HTML (Tcl)

adp

Haskell

hs

Haxe

hx, hxsl, hscript

Hxml

hxml

JSON

json

Java

java, bsh

Java Properties

properties

Java Server Page (JSP)

jsp

JavaDoc

``

JavaScript

js, htc

JavaScript (Rails)

js.erb

LaTeX

tex, ltx

LaTeX Log

``

Lisp

lisp, cl, clisp, l, mud, el, scm, ss, lsp, fasl

Literate Haskell

lhs

Lua

lua

MATLAB

matlab

Make Output

``

Makefile

make, GNUmakefile, makefile, Makefile, OCamlMakefile, mak, mk

Markdown

md, mdown, markdown, markdn

MultiMarkdown

``

NAnt Build File

build

OCaml

ml, mli

OCamllex

mll

OCamlyacc

mly

Objective-C

m, h

Objective-C++

mm, M, h

PHP

php, php3, php4, php5, php7, phps, phpt, phtml

PHP Source

``

Pascal

pas, p, dpr

Perl

pl, pm, pod, t, PL

Plain Text

txt

Python

py, py3, pyw, pyi, pyx, pyx.in, pxd, pxd.in, pxi, pxi.in, rpy, cpy, SConstruct, Sconstruct, sconstruct, SConscript, gyp, gypi, Snakefile, wscript

R

R, r, s, S, Rprofile

R Console

``

Rd (R Documentation)

rd

Regular Expression

re

Regular Expressions (Javascript)

``

Regular Expressions (Python)

``

Ruby

rb, Appfile, Appraisals, Berksfile, Brewfile, capfile, cgi, Cheffile, config.ru, Deliverfile, Fastfile, fcgi, Gemfile, gemspec, Guardfile, irbrc, jbuilder, podspec, prawn, rabl, rake, Rakefile, Rantfile, rbx, rjs, ruby.rail, Scanfile, simplecov, Snapfile, thor, Thorfile, Vagrantfile

Ruby Haml

haml, sass

Ruby on Rails

rxml, builder

Rust

rs

SCSS

scss

SQL

sql, ddl, dml

SQL (Rails)

erbsql, sql.erb

Sass

sass

Scala

scala, sbt

Shell-Unix-Generic

``

TOML

toml, tml, Cargo.lock, Gopkg.lock, Pipfile

Tcl

tcl

TeX

sty, cls

Textile

textile

XML

xml, xsd, xslt, tld, dtml, rss, opml, svg

YAML

yaml, yml, sublime-syntax

camlp4

``

commands-builtin-shell-bash

``

reStructuredText

rst, rest

Next chapter: “PlantUML Diagrams”