308094cf9a1db04644fa9906b5267c1bcf3ddcea
[pelican-mode.git] / README.md
1 pelican-mode is an Emacs minor mode for editing articles and pages in
2 [Pelican][] sites.
3
4 It's intended to be used alongside a major mode for the Pelican
5 document. Currently supported formats are Markdown, reStructuredText,
6 AsciiDoc, and Org. It also assumes you've set up Pelican with
7 `pelican-quickstart` or something like it. In particular it expects:
8
9 * The existence of `pelicanconf.py` and `Makefile` in some ancestor
10 directory.
11 * The first component of the path (e.g. `content`) after that
12 ancestor is irrelevant.
13 * If the next component is `pages`, that indicates a static page
14 rather than a dated post.
15
16
17 ## Quick Guide
18
19 To enable by default on all text files in a Pelican site:
20
21 ``` emacs-lisp
22 (require 'pelican-mode)
23 (pelican-global-mode)
24 ```
25
26
27 Or with `use-package` and deferred loading:
28
29 ``` emacs-lisp
30 (use-package pelican-mode
31 :after (:any org rst markdown-mode adoc-mode)
32 :config
33 (pelican-global-mode))
34 ```
35
36 Or, register `pelican-mode` or `pelican-mode-enable-if-site`
37 as hook functions for more direct control.
38
39 * `C-c = d` - Update the document’s date
40 * `C-c = f` - Set a metadata field (title, category, etc.)
41 * `C-c = h` - Generate HTML output for a site (equivalent to `make html`)
42 * `C-c = n` - Insert a post or page header
43 * `C-c = p` - Remove draft status from a post (i.e. publish it)
44 * `C-c = u` - Upload a site using rsync (equivalent to `make rsync_upload`)
45
46
47 ## Troubleshooting
48
49 If the commands which invoke `make` can find the Makefile but can't
50 find `pelican`, your `exec-path` may not be set right. Try out
51 [exec-path-from-shell][].
52
53
54 ## License
55
56 This program is free software; you can redistribute it and/or modify
57 it under the terms of the GNU General Public License as published by
58 the Free Software Foundation, either version 3 of the License, or (at
59 your option) any later version.
60
61 [Pelican]: http://getpelican.com/
62 [markdown-mode]: http://jblevins.org/projects/markdown-mode/
63 [rst-mode]: http://docutils.sourceforge.net/docs/user/emacs.html
64 [exec-path-from-shell]: https://github.com/purcell/exec-path-from-shell