# Markdown contribution layer for Spacemacs
![logo](img/markdown.png)
**Table of Contents**
- [Markdown contribution layer for Spacemacs](#markdown-contribution-layer-for-spacemacs)
- [Description](#description)
- [Install](#install)
- [Usage](#usage)
- [Key bindings](#key-bindings)
- [Element insertion](#element-insertion)
- [Element removal](#element-removal)
- [Promotion, Demotion, Completion, and Cycling](#promotion-demotion-completion-and-cycling)
- [Following and Jumping](#following-and-jumping)
- [Indentation](#indentation)
- [Header navigation](#header-navigation)
- [Buffer-wide commands](#buffer-wide-commands)
- [List editing](#list-editing)
- [Movement](#movement)
## Description
This layer adds markdown support to Spacemacs.
Features:
- markdown files support via [markdown-mode][]
- TOC generation via [markdown-toc][]
## Install
To use this contribution add it to your `~/.spacemacs`
```elisp
(setq-default dotspacemacs-configuration-layers '(markdown))
```
## Usage
To generate a table of contents type on top of the buffer:
SPC : markdown-toc/generate-toc RET
## Key bindings
### Element insertion
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m " | insert hr
SPC m a l | insert link
SPC m a L | insert reference link dwim
SPC m a u | insert uri
SPC m a f | insert footnote
SPC m a w | insert wiki link
SPC m i i | insert image
SPC m i I | insert reference image
SPC m t h | insert header dwim
SPC m t H | insert header setext dwim
SPC m t 1 | insert header atx 1
SPC m t 2 | insert header atx 2
SPC m t 3 | insert header atx 3
SPC m t 4 | insert header atx 4
SPC m t 5 | insert header atx 5
SPC m t 6 | insert header atx 6
SPC m t ! | insert header setext 1
SPC m t @ | insert header setext 2
SPC m s s | insert bold
SPC m s e | insert italic
SPC m s c | insert code
SPC m s b | insert blockquote
SPC m s B | blockquote region
SPC m s p | insert pre
SPC m s P | pre region
### Element removal
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m k | kill thing at point
### Promotion, Demotion, Completion, and Cycling
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m = | promote
SPC m - | demote
SPC m ] | complete
### Following and Jumping
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m o | follow thing at point
SPC m j | jump
### Indentation
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m \> | indent region
SPC m \< | exdent region
### Header navigation
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m n | outline next visible heading
SPC m p | outline previous visible heading
SPC m f | outline forward same level
SPC m b | outline backward same level
SPC m u | outline up heading
### Buffer-wide commands
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m c m | complete buffer
SPC m c p | other window
SPC m c e | preview
SPC m c v | export
SPC m c o | export and preview
SPC m c w | open
SPC m c c | kill ring save
SPC m c n | check refs
SPC m c ] | cleanup list numbers
### List editing
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m l k | move up
SPC m l j | move down
SPC m l h | promote
SPC m l l | demote
SPC m l i | insert list item
### Movement
Key Binding | Description
----------------------|------------------------------------------------------------
SPC m { | backward paragraph
SPC m } | forward paragraph
SPC m N | next link
SPC m P | previous link
[markdown-mode]: http://jblevins.org/git/markdown-mode.git/
[markdown-toc]: https://github.com/ardumont/markdown-toc