From fe9c1a19d71ab757b9a20e0f601b80b2ac7761c6 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Mon, 10 Jul 2023 13:48:16 +1000 Subject: Enhance local navigation. Add `wiki-find-file' to open a local file in wiki-mode. Guess the wikisite id based on the default directory. --- wiki-markup.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'wiki-markup.el') diff --git a/wiki-markup.el b/wiki-markup.el index 341610a..d146c18 100644 --- a/wiki-markup.el +++ b/wiki-markup.el @@ -68,12 +68,25 @@ (defvar wiki-outline-regexp "=+.*=+\ *$") +(defvar wiki-mode-hook '(wiki-guess-site)) + (defvar-local wiki-site nil "The identifier of the wiki site") (defun wiki-follow-wikilink-action (data) "Button action to follow a wikilink" (funcall (wiki-site-fetcher wiki-site) (alist-get 'title data))) +(defun wiki-guess-site () + "Guess the wiki-site from the default directory." + (setq-local wiki-site + (let ((guessed + (intern (file-name-base + (directory-file-name default-directory))))) + (if (alist-get guessed wiki-sites) + guessed + 'local))) + ) + (defun wiki-outline-level () (when (looking-at "\\(=+\\).*[^=]\\(=+\\)\\ *$") (min (length (match-string 1)) -- cgit v1.2.3