-(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")))
-
-(defun pelican-make-html ()
- "Generate HTML via a Makefile at the root of the site."
- (interactive)
- (pelican-make "html"))
-
-(defun pelican-make-rsync-upload ()
- "Upload with rsync via a Makefile at the root of the site."
- (interactive)
- (pelican-make "rsync_upload"))
-
-;;;###autoload
-(define-minor-mode pelican-mode
- "Toggle Pelican mode.
-With a prefix argument ARG, enable Pelican 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 mode is enabled, additional commands are available
-for editing articles or pages:
-
-\\{pelican-mode-map}"
- :lighter " Pelican"
- :keymap `((,(kbd "C-c P n") . pelican-mode-insert-auto-header)
- (,(kbd "C-c P p") . pelican-mode-publish-draft)
- (,(kbd "C-c P t") . pelican-mode-update-date)
- (,(kbd "C-c P h") . pelican-make-html)
- (,(kbd "C-c P f") . pelican-set-field)
- (,(kbd "C-c P u") . pelican-make-rsync-upload)))
-
-;;;###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)))
-
-;;;###autoload
-(defun pelican-mode-enable-if-site ()
- "Enable `pelican-mode' if this buffer is part of a Pelican site."
- (when (pelican-mode-find-root)
- (pelican-mode 1)))
-