about summary refs log tree commit diff
path: root/ennum-link.el
diff options
context:
space:
mode:
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)