aboutsummaryrefslogtreecommitdiff
path: root/wiki-markup.el
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2023-07-10 13:48:16 +1000
committerYuchen Pei <id@ypei.org>2023-07-10 13:48:16 +1000
commitfe9c1a19d71ab757b9a20e0f601b80b2ac7761c6 (patch)
treeeafd38a336645d0131c1b4634402401839bf4f29 /wiki-markup.el
parent161752ee1943dbb25060a1488086da1a00aeaadb (diff)
Enhance local navigation.
Add `wiki-find-file' to open a local file in wiki-mode. Guess the wikisite id based on the default directory.
Diffstat (limited to 'wiki-markup.el')
-rw-r--r--wiki-markup.el13
1 files changed, 13 insertions, 0 deletions
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))