This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/markdown/README.org

196 lines
8.3 KiB
Org Mode
Raw Normal View History

#+TITLE: Markdown layer
2015-06-10 16:44:30 +00:00
[[file:img/markdown.png]]
2016-03-31 02:59:55 +00:00
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features]]
- [[#bibtex][BibTeX]]
2016-03-31 02:59:55 +00:00
- [[#install][Install]]
- [[#configuration][Configuration]]
- [[#live-preview][Live preview]]
- [[#automatic-mmm-mode-generation][Automatic MMM-Mode Generation]]
2016-03-31 02:59:55 +00:00
- [[#usage][Usage]]
- [[#generate-a-toc][Generate a TOC]]
2016-03-31 02:59:55 +00:00
- [[#key-bindings][Key bindings]]
- [[#element-insertion][Element insertion]]
- [[#element-removal][Element removal]]
- [[#completion][Completion]]
2016-03-31 02:59:55 +00:00
- [[#following-and-jumping][Following and Jumping]]
- [[#indentation][Indentation]]
- [[#header-navigation][Header navigation]]
- [[#buffer-wide-commands][Buffer-wide commands]]
- [[#list-editing][List editing]]
- [[#movement][Movement]]
- [[#promotion-demotion][Promotion, Demotion]]
2015-06-10 16:44:30 +00:00
* Description
This layer adds markdown support to Spacemacs.
** Features
2015-06-10 16:44:30 +00:00
- markdown files support via [[http://jblevins.org/git/markdown-mode.git/][markdown-mode]]
2016-06-01 05:53:06 +00:00
- Fast Github-flavored live preview via [[https://github.com/blak3mill3r/vmd-mode][vmd-mode]]
2015-06-10 16:44:30 +00:00
- TOC generation via [[https://github.com/ardumont/markdown-toc][markdown-toc]]
- Completion of Emojis using [[https://github.com/dunn/company-emoji][company-emoji]] (still needs a way of showing, either
using the =emoji= layer or having a proper font) :clap:
2015-06-10 16:44:30 +00:00
** BibTeX
For more extensive support of references with BibTeX files, have a look at the
2017-04-29 12:27:18 +00:00
[[../bibtex/README.org][BibTeX layer]].
2015-06-10 16:44:30 +00:00
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =markdown= to the existing =dotspacemacs-configuration-layers= list in this
file.
2015-06-10 16:44:30 +00:00
* Configuration
** Live preview
By default the built-in Emacs web browser is used to live preview a markdown
buffer.
To use =vmd= (Github-flavored live preview) instead set the value of the
variable =markdown-live-preview-engine= to =vmd=:
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(markdown :variables markdown-live-preview-engine 'vmd))
#+END_SRC
And install the executable with:
#+BEGIN_SRC shell
npm install -g vmd
#+END_SRC
2016-06-01 05:53:06 +00:00
2017-02-01 14:00:43 +00:00
Additionally there is =flymd= package in =chrome= layer that allows to preview
markdown buffer in Chrome. Please refer to =chrome= layer documentation for more
information.
** Automatic MMM-Mode Generation
To generate MMM-Modes for languages set the value of the variable
=markdown-mmm-auto-modes= to a list of the languages. For languages where the
mode name directly relates to the language name, use a string. Otherwise, use a
list of `("language" "mode")`:
#+BEGIN_SRC emacs-lisp
dotspacemacs-configuration-layers '(
(markdown :variables markdown-mmm-auto-modes '("c" "c++" "python" "scala" ("elisp" "emacs-lisp"))
#+END_SRC
*Note:* Spacemacs already defines the variable =markdown-mmm-auto-modes= to a
bunch of languages. Consider opening a PR on the Spacemacs repository to add
new languages instead of overriding the variable in your dotfile.
2015-06-10 16:44:30 +00:00
* Usage
** Generate a TOC
2015-06-10 16:44:30 +00:00
To generate a table of contents type on top of the buffer:
2016-08-22 12:51:33 +00:00
~SPC SPC markdown-toc-generate-toc RET~
2015-06-10 16:44:30 +00:00
* Key bindings
** Element insertion
2015-10-21 21:12:30 +00:00
| Key Binding | Description |
|-------------+-------------------------------------------------------------------|
| ~SPC m -~ | insert horizontal line |
| ~SPC m h i~ | insert header dwim |
| ~SPC m h I~ | insert header setext dwim |
| ~SPC m h 1~ | insert header atx 1 |
| ~SPC m h 2~ | insert header atx 2 |
| ~SPC m h 3~ | insert header atx 3 |
| ~SPC m h 4~ | insert header atx 4 |
| ~SPC m h 5~ | insert header atx 5 |
| ~SPC m h 6~ | insert header atx 6 |
| ~SPC m h !~ | insert header setext 1 |
| ~SPC m h @~ | insert header setext 2 |
| ~SPC m i l~ | insert link |
| ~SPC m i L~ | insert reference link dwim |
| ~SPC m i u~ | insert uri |
| ~SPC m i f~ | insert footnote |
| ~SPC m i w~ | insert wiki link |
| ~SPC m i i~ | insert image |
| ~SPC m i I~ | insert reference image |
| ~SPC m i t~ | insert Table of Contents (toc) |
2015-10-21 21:12:30 +00:00
| ~SPC m x b~ | make region bold or insert bold |
| ~SPC m x i~ | make region italic or insert italic |
| ~SPC m x c~ | make region code or insert code |
| ~SPC m x C~ | make region code or insert code (Github Flavored Markdown format) |
| ~SPC m x q~ | make region blockquote or insert blockquote |
| ~SPC m x Q~ | blockquote region |
| ~SPC m x p~ | make region or insert pre |
| ~SPC m x P~ | pre region |
2015-06-10 16:44:30 +00:00
** Element removal
| Key Binding | Description |
|-------------+---------------------|
| ~SPC m k~ | kill thing at point |
** Completion
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+-------------|
| ~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 |
|-------------+------------------------------|
| ~gj~ | outline forward same level |
| ~gk~ | outline backward same level |
| ~gh~ | outline up one level |
| ~gl~ | outline next visible heading |
** Buffer-wide commands
| Key Binding | Description |
|-------------+--------------------------------------------------------------------------------------|
| ~SPC m c ]~ | complete buffer |
| ~SPC m c m~ | other window |
| ~SPC m c p~ | preview |
| ~SPC m c P~ | live preview using engine defined with layer variable =markdown-live-preview-engine= |
| ~SPC m c e~ | export |
| ~SPC m c v~ | export and preview |
| ~SPC m c o~ | open |
| ~SPC m c w~ | kill ring save |
| ~SPC m c c~ | check refs |
| ~SPC m c n~ | cleanup list numbers |
| ~SPC m c r~ | render buffer |
2015-06-10 16:44:30 +00:00
** List editing
| Key Binding | Description |
|-------------+------------------|
| ~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 |
** Promotion, Demotion
| Key Binding | Description |
|-------------+--------------------|
| ~M-k~ | markdown-move-up |
| ~M-j~ | markdown-move-down |
| ~M-h~ | markdown-promote |
| ~M-l~ | markdown-demote |