74f8cc20cfa34bc10ba89c7dba5ed1b823f80294
[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 (require 'pelican-mode)
22 (pelican-global-mode)
23
24 Or with `use-package` and deferred loading:
25
26 (use-package pelican-mode
27 :after (:any org rst markdown-mode adoc-mode)
28 :config
29 (pelican-global-mode))
30
31 Or, register `pelican-mode` or `pelican-mode-enable-if-site`
32 as hook functions for more direct control.
33
34 * `C-c P d` - Update the document’s date
35 * `C-c P f` - Set a metadata field (title, category, etc.)
36 * `C-c P h` - Generate HTML output for a site (equivalent to `make html`)
37 * `C-c P n` - Insert a post or page header
38 * `C-c P p` - Remove draft status from a post (i.e. publish it)
39 * `C-c P u` - Upload a site using rsync (equivalent to `make rsync_upload`)
40
41
42 ## Troubleshooting
43
44 If the commands which invoke `make` can find the Makefile but can't
45 find `pelican`, your `exec-path` may not be set right. Try out
46 [exec-path-from-shell][].
47
48
49 ## License
50
51 This program is free software; you can redistribute it and/or modify
52 it under the terms of the GNU General Public License as published by
53 the Free Software Foundation, either version 3 of the License, or (at
54 your option) any later version.
55
56 [Pelican]: http://getpelican.com/
57 [markdown-mode]: http://jblevins.org/projects/markdown-mode/
58 [rst-mode]: http://docutils.sourceforge.net/docs/user/emacs.html
59 [exec-path-from-shell]: https://github.com/purcell/exec-path-from-shell