;; Copyright 2013-2017 Joe Wreschnig
;;
;; Author: Joe Wreschnig <joe.wreschnig@gmail.com>
-;; Package-Version: 20170807
+;; Package-Version: 20170808
;; Package-Requires: ((emacs "25"))
;; URL: https://git.korewanetadesu.com/pelican-mode.git
;; Keywords: convenience, editing
;; (require 'pelican-mode)
;; (pelican-global-mode)
;;
+;; Or with ``use-package'' and deferred loading:
+;;
+;; (use-package pelican-mode
+;; :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.
;; Customizations
-(defgroup pelican-mode nil
+(defgroup pelican nil
"Support for Pelican articles and pages.
For more information about Pelican see URL https://blog.getpelican.com/."
(defcustom pelican-mode-keymap-prefix (kbd "C-c P")
"Pelican mode keymap prefix."
- :group 'pelican-mode
+ :group 'pelican
:type 'string)
(defcustom pelican-mode-default-page-fields
See the documentation for `pelican-mode-set-field' for more information
about metadata fields and special values."
- :group 'pelican-mode
+ :group 'pelican
:type '(plist))
(defcustom pelican-mode-default-article-fields
See the documentation for `pelican-mode-set-field' for more information
about metadata fields and special values."
- :group 'pelican-mode
+ :group 'pelican
:type '(plist))
(defcustom pelican-mode-formats
This association list maps modes to functions that take two
arguments, field and value strings."
- :group 'pelican-mode
+ :group 'pelican
:type '(alist :key-type function :value-type function))
\f
for editing articles or pages:
\\{pelican-mode-map}"
+ :group 'pelican
:keymap pelican-mode-map
:lighter " Pelican")
;;;###autoload
-(define-minor-mode pelican-global-mode
- "Toggle Pelican global mode.
-With a prefix argument ARG, enable Pelican global mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
-
-Pelican is a static site generator which can process a variety of
-text file formats. For more information, see URL
-https://blog.getpelican.com/.
-
-When Pelican global mode is enabled, text files which seem to
-be part of a Pelican site will have `pelican-mode' automatically
-enabled.
-
-If you disable this, you may still enable `pelican-mode' manually
-or add `pelican-mode-enable-if-site' to more specific mode
-hooks."
- :global t
- :group 'pelican-mode
- (if pelican-global-mode
- (add-hook 'text-mode-hook #'pelican-mode-enable-if-site)
- (remove-hook 'text-mode-hook #'pelican-mode-enable-if-site)))
+(define-globalized-minor-mode pelican-global-mode pelican-mode
+ (lambda ()
+ (when (derived-mode-p #'text-mode)
+ (pelican-mode-enable-if-site)))
+ :group 'pelican
+ :require 'pelican-mode)
;;;###autoload
(defun pelican-mode-enable-if-site ()