pelican-mode is an Emacs minor mode for editing articles and pages in Pelican sites.
It's intended to be used alongside a major mode for the Pelican
document. Currently supported formats are Markdown, reStructuredText,
AsciiDoc, and Org. It also assumes you've set up Pelican with
pelican-quickstart
or something like it. In particular it expects:
- The existence of
pelicanconf.py
andMakefile
in some ancestor directory. - The first component of the path (e.g.
content
) after that ancestor is irrelevant. - If the next component is
pages
, that indicates a static page rather than a dated post.
To enable by default on all text files in a Pelican site:
(require 'pelican-mode)
(pelican-global-mode)
Or with use-package
and deferred loading:
(use-package pelican-mode
:demand :after (:any org rst markdown-mode adoc-mode)
:config
(pelican-global-mode))
Or, register pelican-mode
or pelican-mode-enable-if-site
as hook functions for more direct control.
C-c = d
- Update the document’s dateC-c = f
- Set a metadata field (title, category, etc.)C-c = h
- Generate HTML output for a site (equivalent tomake html
)C-c = n
- Insert a post or page headerC-c = p
- Remove draft status from a post (i.e. publish it)C-c = u
- Upload a site using rsync (equivalent tomake rsync_upload
)C-c = g
- Upload a site to GitHub Pages (equivalent tomake github
)
If the commands which invoke make
can find the Makefile but can't
find pelican
, your exec-path
may not be set right. Try out
exec-path-from-shell.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.