about summary refs log tree commit diff
path: root/ennum-link.el
diff options
context:
space:
mode:
authorArun Isaac2026-09-11 22:14:51 +0100
committerArun Isaac2026-09-11 22:14:51 +0100
commitdb45b66f341bd36ed4ed9b0feb141cced956e2cf (patch)
tree80e3b6c2fc072c28667f37a3c567b11a2aa76fcd /ennum-link.el
parentdc1506ee5ed67760496623124019c0d2d8a4e578 (diff)
downloadennum-master.tar.gz
ennum-master.tar.lz
ennum-master.zip
Add gemini link type. HEAD master
Diffstat (limited to 'ennum-link.el')
-rw-r--r--ennum-link.el17
1 files changed, 17 insertions, 0 deletions
diff --git a/ennum-link.el b/ennum-link.el
index 4c514b5..920a181 100644
--- a/ennum-link.el
+++ b/ennum-link.el
@@ -12,6 +12,18 @@ property list INFO."
   `(ennum-with-current-directory (ennum-setting :working-directory)
      (find-file ,path)))
 
+(defun ennum-link-export-gemini (path desc backend info)
+  (let ((url (format "gemini:%s" path)))
+    (pcase backend
+      ((or 'ennum-html 'html)
+       (xmlgen `(a :href ,url
+                   ,(or desc url))))
+      ((or 'ennum-gemini 'gemini)
+       (format "=> %s %s" url desc)))))
+
+(defun ennum-link-follow-gemini (path)
+  (browse-url (format "gemini:%s" path)))
+
 ;; TODO: Pass title through org-export-data-with-backend or something
 ;; similar in order to export org syntax in title
 ;; See fist-2017 post
@@ -114,6 +126,11 @@ property list INFO."
        (format "=> %s.gmi %s" tag-url (or desc tag))))))
 
 (org-link-set-parameters
+ "gemini"
+ :export 'ennum-link-export-gemini
+ :follow 'ennum-link-follow-gemini)
+
+(org-link-set-parameters
  "post"
  :export 'ennum-link-export-post
  :follow 'ennum-link-follow-post)