projects
/
pelican-mode.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add ‘pelican-make-github’ (`C-c = g`) to run `make github`
[pelican-mode.git]
/
pelican-mode.el
diff --git
a/pelican-mode.el
b/pelican-mode.el
index
881da69
..
2cfa3be
100644
(file)
--- a/
pelican-mode.el
+++ b/
pelican-mode.el
@@
-1,9
+1,9
@@
;;; pelican-mode.el --- Minor mode for editing Pelican sites -*- lexical-binding: t -*-
;;
;;; pelican-mode.el --- Minor mode for editing Pelican sites -*- lexical-binding: t -*-
;;
-;; Copyright 2013-201
7
Joe Wreschnig
+;; Copyright 2013-201
8
Joe Wreschnig
;;
;; Author: Joe Wreschnig <joe.wreschnig@gmail.com>
;;
;; Author: Joe Wreschnig <joe.wreschnig@gmail.com>
-;; Package-Version: 201
70808
+;; Package-Version: 201
80605.1
;; Package-Requires: ((emacs "25"))
;; URL: https://git.korewanetadesu.com/pelican-mode.git
;; Keywords: convenience, editing
;; Package-Requires: ((emacs "25"))
;; URL: https://git.korewanetadesu.com/pelican-mode.git
;; Keywords: convenience, editing
@@
-30,17
+30,17
@@
;; process a variety of text file formats. For more information, see
;; URL https://blog.getpelican.com/.
;;
;; process a variety of text file formats. For more information, see
;; URL https://blog.getpelican.com/.
;;
-;; It
'
s intended to be used alongside a major mode for the Pelican
+;; It
’
s intended to be used alongside a major mode for the Pelican
;; document. Currently supported formats are Markdown,
;; 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
+;; reStructuredText, AsciiDoc, and Org. It also assumes you
’
ve set up
+;; Pelican with
“pelican-quickstart”
or something like it. In
;; particular it expects:
;;
;; particular it expects:
;;
-;; * The existence of
``pelicanconf.py'' and ``Makefile''
in some
+;; * The existence of
“pelicanconf.py” and “Makefile”
in some
;; ancestor directory.
;; ancestor directory.
-;; * The first component of the path (e.g.
``content''
) after that
+;; * The first component of the path (e.g.
“content”
) after that
;; ancestor is irrelevant.
;; ancestor is irrelevant.
-;; * If the next component is
``pages''
, that indicates a page
+;; * If the next component is
“pages”
, that indicates a page
;; rather than an article.
;;
;; To enable by default on all text files in a Pelican site:
;; rather than an article.
;;
;; To enable by default on all text files in a Pelican site:
@@
-48,7
+48,14
@@
;; (require 'pelican-mode)
;; (pelican-global-mode)
;;
;; (require 'pelican-mode)
;; (pelican-global-mode)
;;
-;; Or, register `pelican-mode' or `pelican-mode-enable-if-site'
+;; 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.
\f
;; as hook functions for more direct control.
\f
@@
-66,7
+73,7
@@
For more information about Pelican see URL https://blog.getpelican.com/."
:group 'convenience)
For more information about Pelican see URL https://blog.getpelican.com/."
:group 'convenience)
-(defcustom pelican-mode-keymap-prefix (kbd "C-c
P
")
+(defcustom pelican-mode-keymap-prefix (kbd "C-c
=
")
"Pelican mode keymap prefix."
:group 'pelican
:type 'string)
"Pelican mode keymap prefix."
:group 'pelican
:type 'string)
@@
-75,7
+82,7
@@
For more information about Pelican see URL https://blog.getpelican.com/."
'(:slug slug)
"Fields to include when creating a new page.
'(:slug slug)
"Fields to include when creating a new page.
-See the documentation for
`pelican-mode-set-field'
for more information
+See the documentation for
‘pelican-mode-set-field’
for more information
about metadata fields and special values."
:group 'pelican
:type '(plist))
about metadata fields and special values."
:group 'pelican
:type '(plist))
@@
-84,7
+91,7
@@
about metadata fields and special values."
'(:date now :status "draft" :slug slug)
"Fields to include when creating a new article.
'(:date now :status "draft" :slug slug)
"Fields to include when creating a new article.
-See the documentation for
`pelican-mode-set-field'
for more information
+See the documentation for
‘pelican-mode-set-field’
for more information
about metadata fields and special values."
:group 'pelican
:type '(plist))
about metadata fields and special values."
:group 'pelican
:type '(plist))
@@
-113,8
+120,9
@@
arguments, field and value strings."
(define-key map (kbd "n") #'pelican-mode-insert-header)
(define-key map (kbd "p") #'pelican-mode-publish)
(define-key map (kbd "u") #'pelican-make-rsync-upload)
(define-key map (kbd "n") #'pelican-mode-insert-header)
(define-key map (kbd "p") #'pelican-mode-publish)
(define-key map (kbd "u") #'pelican-make-rsync-upload)
+ (define-key map (kbd "g") #'pelican-make-github)
map)
map)
- "Keymap for Pelican commands after
`pelican-mode-keymap-prefix'
.")
+ "Keymap for Pelican commands after
‘pelican-mode-keymap-prefix’
.")
(fset 'pelican-mode-command-map pelican-mode-command-map)
(defvar pelican-mode-map
(fset 'pelican-mode-command-map pelican-mode-command-map)
(defvar pelican-mode-map
@@
-136,7
+144,7
@@
text file formats. For more information, see URL
https://blog.getpelican.com/.
Rather than manually enabling this mode, you may wish to use
https://blog.getpelican.com/.
Rather than manually enabling this mode, you may wish to use
-
`pelican-global-mode' or `pelican-mode-enable-if-site'
.
+
‘pelican-global-mode’ or ‘pelican-mode-enable-if-site’
.
When Pelican mode is enabled, additional commands are available
for editing articles or pages:
When Pelican mode is enabled, additional commands are available
for editing articles or pages:
@@
-156,10
+164,10
@@
for editing articles or pages:
;;;###autoload
(defun pelican-mode-enable-if-site ()
;;;###autoload
(defun pelican-mode-enable-if-site ()
- "Enable
`pelican-mode'
if this buffer is part of a Pelican site.
+ "Enable
‘pelican-mode’
if this buffer is part of a Pelican site.
-Pelican sites are detected by looking for a file named
`pelicanconf.py'
-in an ancestor directory."
+Pelican sites are detected by looking for a file named
+
“pelicanconf.py”
in an ancestor directory."
(when (pelican-mode-find-root)
(pelican-mode)))
(when (pelican-mode-find-root)
(pelican-mode)))
@@
-171,20
+179,20
@@
in an ancestor directory."
"Set FIELD to VALUE.
FIELD may be a string or a symbol; if it is a symbol, the
"Set FIELD to VALUE.
FIELD may be a string or a symbol; if it is a symbol, the
-symbol name is used (removing a leading
':'
if present).
+symbol name is used (removing a leading
“:”
if present).
When called from Lisp, VALUE may be any value; except for the
following special values, the unquoted printed representation of
it is used:
When called from Lisp, VALUE may be any value; except for the
following special values, the unquoted printed representation of
it is used:
--
`now'
means the current time.
+-
‘now’
means the current time.
--
`slug' means the file'
s path relative to the document root sans
- extension; see
`pelican-mode-default-slug'
.
+-
‘slug’ means the file’
s path relative to the document root sans
+ extension; see
‘pelican-mode-default-slug’
.
- nil or an empty string removes the field.
- nil or an empty string removes the field.
-The buffer must be in a format listed in
`pelican-mode-formats'
+The buffer must be in a format listed in
‘pelican-mode-formats’
for this function to work correctly."
(interactive "sField: \nsValue: ")
(setq value (pcase value
for this function to work correctly."
(interactive "sField: \nsValue: ")
(setq value (pcase value
@@
-213,7
+221,7
@@
for this function to work correctly."
(pelican-mode-set-field :title title))
(defun pelican-mode-update-date (&optional original)
(pelican-mode-set-field :title title))
(defun pelican-mode-update-date (&optional original)
- "Update the document
'
s modification date.
+ "Update the document
’
s modification date.
If ORIGINAL is non-nil, the publication date is updated rather
than the modification date."
If ORIGINAL is non-nil, the publication date is updated rather
than the modification date."
@@
-262,10
+270,11
@@
has no status."
(defun pelican-make (target)
"Execute TARGET in a Makefile at the root of the site."
(interactive "sMake Pelican target: ")
(defun pelican-make (target)
"Execute TARGET in a Makefile at the root of the site."
(interactive "sMake Pelican target: ")
- (if-let (default-directory (pelican-mode-find-root))
- (compilation-start (format "make %s" target)
- nil (lambda (_) "*pelican*"))
- (user-error "No Pelican site root could be found")))
+ (let ((default-directory (pelican-mode-find-root)))
+ (if default-directory
+ (compilation-start (format "make %s" target)
+ nil (lambda (_) "*pelican*"))
+ (user-error "No Pelican site root could be found"))))
(defun pelican-make-html ()
"Generate HTML via a Makefile at the root of the site."
(defun pelican-make-html ()
"Generate HTML via a Makefile at the root of the site."
@@
-277,6
+286,11
@@
has no status."
(interactive)
(pelican-make "rsync_upload"))
(interactive)
(pelican-make "rsync_upload"))
+(defun pelican-make-github ()
+ "Upload to GitHub Pages via a Makefile at the root of the site."
+ (interactive)
+ (pelican-make "github"))
+
\f
(defun pelican-mode-set-fields (&rest fields)
\f
(defun pelican-mode-set-fields (&rest fields)
@@
-334,7
+348,7
@@
has no status."
(defun pelican-mode-set-field-org-mode (field value)
"Set Org global metadata FIELD to VALUE."
(defun pelican-mode-set-field-org-mode (field value)
"Set Org global metadata FIELD to VALUE."
- ;; None of org-mode
'
s functions I can find for setting properties
+ ;; None of org-mode
’
s functions I can find for setting properties
;; operate on the global list, only a single property drawer.
(setq field (upcase field))
(setq field
;; operate on the global list, only a single property drawer.
(setq field (upcase field))
(setq field
@@
-368,14
+382,8
@@
has no status."
(pelican-mode-find-root)))))
(defun pelican-mode-find-root ()
(pelican-mode-find-root)))))
(defun pelican-mode-find-root ()
- "Return the root of the buffer
'
s Pelican site, or nil."
+ "Return the root of the buffer
’
s Pelican site, or nil."
(locate-dominating-file default-directory "pelicanconf.py"))
(provide 'pelican-mode)
;;; pelican-mode.el ends here
(locate-dominating-file default-directory "pelicanconf.py"))
(provide 'pelican-mode)
;;; pelican-mode.el ends here
-
-
\f
-
-;; Local Variables:
-;; sentence-end-double-space: t
-;; End: