# [sublime-markdown-extended](https://github.com/jonschlinkert/sublime-markdown-extended) [](https://packagecontrol.io/packages/Markdown%20Extended/)
> Extends Soda's Monokai and the default markdown styles with additional syntax highlighting for
> [YAML Front Matter](http://assemble.io/docs/YAML-front-matter.html), GitHub Flavored Markdown
> (GFM) and language-specific syntax highlighting inside [GFM "fenced" code blocks](https://help.github.com/articles/github-flavored-markdown#syntax-highlighting)
Although substantial changes have been made, thank you [@aziz](https://github.com/aziz) and other contributors to [Knockdown](https://github.com/aziz/knockdown), for the code for the fenced code blocks.
Get [Monokai Extended](https://github.com/jonschlinkert/sublime-monokai-extended) for better highlighting.
#### [Jump to Examples ↓](#markdown-enhancements)
## Getting Started
### 1. Installation
#### Package Control
If you already have [Package Control](http://wbond.net/sublime_packages/package_control/) installed in Sublime Text:
* Select "Install Package" from the Command Palette: Ctrl+Shift+P on Windows and Linux or ⇧⌘P on OS X)
* Search for "**Markdown Extended**" and click enter.
#### Manual Installation
Go to `Preferences -> Browse Packages`, and then either download and unzip this plugin into that directory, or:
``` bash
git clone https://github.com/jonschlinkert/sublime-markdown-extended.git "sublime-markdown-extended"
```
### 2. Activate this Language
**After installing this package**, open a markdown file and switch the language to `Markdown Extended`, using one
of the following methods:
* Select from the list of supported languages in your status bar at the bottom right corner of your editor
* `ctrl + shift + p` and search for "Markdown Extended"
### 3. Make "Markdown Extended" the default
To make `Markdown Extended` the default highlighting for the current extension:
1. Open a file with the extension you want to set a default for (i.e. `.md`)
2. Navigate through the following menus in Sublime Text: `View -> Syntax -> Open all with current extension as... -> Markdown Extended`
## Features:
* Support for [YAML Front Matter](http://assemble.io/docs/YAML-front-matter.html)
* Support for [GFM "fenced" code blocks](https://help.github.com/articles/github-flavored-markdown#syntax-highlighting)
* Language-specific syntax highlighting support inside [GFM "fenced" code blocks](https://help.github.com/articles/github-flavored-markdown#syntax-highlighting) for most popular languages (see below for the list of supported languages)
* Syntax highlighting for URLs in text which is auto-linked by GFM
* Proper syntax highlighting for bullets and numbers in ordered/unordered lists
* Proper syntax highlighting for bold and italics by ignoring multiple underscores in words
## Markdown Enhancements
The following examples use the [Monokai Extended](https://github.com/jonschlinkert/sublime-monokai-extended) theme.
## Whitespace
### Significant whitespace
**Whitespace is significant** _only directly before and directly after fenced code blocks_! Following these instructions will ensure that highlighting works properly and consistently._
This is very simple:
* **Add a newline** before and after clode blocks
* **No trailing spaces** after the last code block
If you don't, it won't break your code but it won't always look awesome.
### Comparisons with and without proper whitespace
#### Whitespace before the block
You will need to keep a space above and below fenced code blocks for predictable results with syntax highlighting. For example, this is what it looks like when there is no space before a fenced code block:

This is what it looks like with proper spacing:

#### Whitespace after the block
Also add a new line after code blocks, but make sure that there is no trailing whitespace next to the bottom fence.
**With a trailing whitespace**

**Without a trailing whitespace**

### Supported languages
The following languages are highlighted inside fenced code blocks:
Note that in order for a language to be highlighted properly, you must have the language installed in Sublime Text.
* `coffee|coffeescript`
* `coffee front matter`
* `cpp`
* `csharp`
* `css`
* `c`
* `c++`
* `diff`
* `ejs`
* `erlang`
* `underscore`
* `go`
* `graphql`
* `lodash`
* `handlebars|hbs`: requires the Sublime Text [Handlebars](https://github.com/daaain/Handlebars) package
* `html|html5`
* `ini`
* `jade`
* `java`
* `javascript|js`
* `json`
* `json front matter`
* `julia`
* `less`
* `ls|livescript|LiveScript`
* `lua`
* `md|markdown`
* `nginx`
* `objective-c`
* `objective-c++`
* `perl`
* `r`
* `ruby`
* `sass`
* `scala`
* `scss`
* `shell`
* `bash`
* `sql|ddl|dml`
* `postgresql|postgres|pgsql`
* `styl`
* `swift`
* `swig`
* `liquid`
* `xml`
* `yaml`
* `yaml front matter`
### CSS
#### Before

#### After

### LESS
#### Before

#### After

### HTML
#### Before

#### After

### JavaScript
#### Before

#### After

### Coffee
#### Before

#### After

### LiveScript
#### Before

#### After

### Shell
#### Before

#### After

### YAML Front Matter
See [gray-matter](https://github.com/assemble/gray-matter)
#### Before

#### After

### Coffee Front Matter
See [gray-matter](https://github.com/assemble/gray-matter)
#### Before

#### After

## Authors
**Jon Schlinkert**
+ [http://twitter.com/jonschlinkert](http://twitter.com/jonschlinkert)
+ [http://github.com/jonschlinkert](http://github.com/jonschlinkert)
**Alexander Krivoshhekov**
+ [http://twitter.com/FlatDev](http://twitter.com/FlatDev)
+ [http://github.com/SuperPaintman](http://github.com/SuperPaintman)
## Copyright and license
Copyright 2013-2015 Jon Schlinkert
[MIT License](LICENSE-MIT)