summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2020-03-15 02:38:08 +0530
committerArun Isaac2020-03-15 02:41:02 +0530
commit5eced15e5610b2fe02baf7b473650309d1f9a6db (patch)
tree6a313db996743c3f4e0100987dc60ccc5d478514
parent9d411d414a2ec6df21126931d3f516bc66b64b2a (diff)
downloadennum-5eced15e5610b2fe02baf7b473650309d1f9a6db.tar.gz
ennum-5eced15e5610b2fe02baf7b473650309d1f9a6db.tar.lz
ennum-5eced15e5610b2fe02baf7b473650309d1f9a6db.zip
Add post and image link follow functions.
* ennu-html.el (ennu-follow): New macro.
(ennu-follow-post, ennu-follow-image): New functions. Add respectively
as :follow properties to post and image links in org-link-parameters.
-rw-r--r--ennu-html.el20
1 files changed, 18 insertions, 2 deletions
diff --git a/ennu-html.el b/ennu-html.el
index b1cf217..d87a598 100644
--- a/ennu-html.el
+++ b/ennu-html.el
@@ -295,6 +295,10 @@
       ;; Pass other link types to org-html-link
       (_ (org-html-link link desc info)))))
 
+(defmacro ennu-follow (path)
+  `(ennu-with-current-directory (ennu-setting :working-directory)
+     (find-file ,path)))
+
 ;; TODO: Pass title through org-export-data-with-backend or something
 ;; similar in order to export org syntax in title
 (defun ennu-export-post (path desc backend)
@@ -303,10 +307,20 @@
     (xmlgen `(a :href ,(expand-file-name*
                         path (ennu-setting :posts-directory))
                 ,(or desc (ennu-post-title (ennu-read-post filename)))))))
+(defun ennu-follow-post (path)
+  (ennu-follow (expand-file-name (concat path ".org")
+                                 (ennu-setting :posts-directory))))
 
 (org-link-set-parameters
- "post" :export 'ennu-export-post)
+ "post"
+ :export 'ennu-export-post
+ :follow 'ennu-follow-post)
+
+(defun ennu-follow-image (path)
+  (ennu-follow (expand-file-name path (ennu-setting :images-directory))))
 
+(org-link-set-parameters
+ "image" :follow 'ennu-follow-image)
 
 (defun ennu-export-thumbnail (path desc backend)
   (xmlgen
@@ -316,7 +330,9 @@
                 (ennu-setting :images-directory)))))
 
 (org-link-set-parameters
- "thumbnail" :export 'ennu-export-thumbnail)
+ "thumbnail"
+ :export 'ennu-export-thumbnail
+ :follow 'ennu-follow-image)
 
 (defun ennu-export-video (path desc backend)
   (let ((video-directory (ennu-setting :video-directory)))