-(defun pelican-enable-if-site ()
- "Enable `pelican-mode' if this buffer is under a Pelican site."
- (when (pelican-is-in-site)
- (pelican-mode 1)))
-
-;;;###autoload
-(add-hook 'markdown-mode-hook 'pelican-enable-if-site)
+(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.
+
+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
+ (if pelican-global-mode
+ (add-hook 'text-mode-hook #'pelican-mode-enable-if-site)
+ (remove-hook 'text-mode-hook #'pelican-mode-enable-if-site)))