X-Git-Url: https://git.korewanetadesu.com/?p=pelican-mode.git;a=blobdiff_plain;f=pelican-mode.el;h=fc9de9b496f34755147c0303b0b0a4aa94cbe72b;hp=6e1ff8a138ca49cc186ddfffe33561c5b9fa4965;hb=0629935734a1ee35d4657ea862b8ca5205f7198e;hpb=4ca7a5e4ca52b91c164c2a077fdf2827429072b9 diff --git a/pelican-mode.el b/pelican-mode.el index 6e1ff8a..fc9de9b 100644 --- a/pelican-mode.el +++ b/pelican-mode.el @@ -116,7 +116,7 @@ the unquoted printed representation of it is used: (defun pelican-insert-auto-header () "Insert a Pelican header for a page or post." (interactive) - (call-interactively (if (pelican-is-page) + (call-interactively (if (pelican-page-p) 'pelican-insert-page-header 'pelican-insert-draft-post-header))) @@ -125,12 +125,18 @@ the unquoted printed representation of it is used: (interactive "sField: \nsValue: ") (save-excursion (goto-char 0) + (when (and (derived-mode-p 'rst-mode) + (re-search-forward "^#" nil t)) + (forward-line 2)) (if (re-search-forward (concat "^" (pelican-field field ".+*")) nil t) (replace-match (pelican-field field value)) - (re-search-forward "#") - (forward-line 2) - (re-search-forward "^$") - (replace-match (pelican-field field value))))) + (when value + (re-search-forward "^$") + (replace-match (pelican-field field value)))))) + +(defun pelican-remove-field (field) + "Remove FIELD." + (pelican-set-field field nil)) (defun pelican-set-title (title) "Set the title to TITLE." @@ -155,7 +161,7 @@ the unquoted printed representation of it is used: (pelican-set-field "status" nil) (pelican-update-date)) -(defun pelican-is-page () +(defun pelican-page-p () "Guess the current buffer is a Pelican page (vs. a post or neither)." (when-let (pelican-base (pelican-find-root)) (let* ((relative (file-relative-name buffer-file-name pelican-base)) @@ -191,7 +197,7 @@ the unquoted printed representation of it is used: (when-let (conf (pelican-find-in-parents "pelicanconf.py")) (file-name-directory conf))) -(defun pelican-is-in-site () +(defun pelican-site-p () "Check if this buffer is under a Pelican site." (not (null (pelican-find-root)))) @@ -230,7 +236,7 @@ for editing Pelican site files." ;;;###autoload (defun pelican-enable-if-site () "Enable `pelican-mode' if this buffer is under a Pelican site." - (when (pelican-is-in-site) + (when (pelican-site-p) (pelican-mode 1))) ;;;###autoload