Rewrite field setting with modern Emacs Lisp.
[pelican-mode.git] / README.md
1 pelican-mode is an Emacs minor mode for editing pages and posts in
2 [Pelican][] sites.
3
4 It's intended to be used alongside [markdown-mode][] or [rst-mode][].
5 It also assumes you've set up Pelican with `pelican-quickstart` or
6 something like it. In particular it assumes:
7
8 * The existence of `pelicanconf.py` and `Makefile` in some ancestor
9 directory.
10 * The first component of the path (e.g. `content`) after that
11 ancestor is irrelevant.
12 * If the next component is `pages`, that indicates a static page
13 rather than a dated post.
14
15 It also enforces some parts of my preferred Pelican configuration:
16
17 * Categories are never provided (you can have one if you want, but
18 the default interactive commands don't provide one).
19 * Tags are always provided.
20 * Slugs are explicit, and include nested subdirectories.
21
22 ## Quick Guide
23
24 * `C-c P n` - Insert a post or page header
25 * `C-c P p` - Remove draft status from a post (i.e. publish it)
26 * `C-c P t` - Update the date field in a post/page header
27 * `C-c P h` - Generate HTML output for a site (equivalent to `make html`)
28 * `C-c P u` - Upload a site using rsync (equivalent to `make rsync_upload`)
29
30 ## Troubleshooting
31
32 If the commands which invoke `make` can find the Makefile but can't
33 find `pelican`, your `exec-path` may not be set right. Try out
34 [exec-path-from-shell][].
35
36 ## License
37
38 This program is free software; you can redistribute it and/or modify
39 it under the terms of the GNU General Public License as published by
40 the Free Software Foundation, either version 3 of the License, or (at
41 your option) any later version.
42
43 [Pelican]: http://getpelican.com/
44 [markdown-mode]: http://jblevins.org/projects/markdown-mode/
45 [rst-mode]: http://docutils.sourceforge.net/docs/user/emacs.html
46 [exec-path-from-shell]: https://github.com/purcell/exec-path-from-shell