summaryrefslogtreecommitdiff
path: root/ennum.el
diff options
context:
space:
mode:
Diffstat (limited to 'ennum.el')
-rw-r--r--ennum.el17
1 files changed, 12 insertions, 5 deletions
diff --git a/ennum.el b/ennum.el
index 481d262..bd5f3fe 100644
--- a/ennum.el
+++ b/ennum.el
@@ -15,7 +15,7 @@
(cl-defstruct (ennum-post (:constructor ennum-make-post)
(:copier nil))
filename slug author date language links tangle
- summary tags thumbnail title translation-group)
+ summary tags thumbnail title translation-group video-posters)
(cl-defstruct (ennum-operation (:constructor ennum-make-operation)
(:copier nil))
@@ -83,7 +83,12 @@
links))
:title (funcall export (first (plist-get metadata :title)))
:translation-group (or (plist-get metadata :translation-group)
- (file-name-base filename)))))))
+ (file-name-base filename))
+ :video-posters (ennum--filter-map (lambda (link)
+ (pcase link
+ (`("video" . ,path)
+ `(,path . ,(ennum-video-poster path)))))
+ links))))))
(defvar ennum-mandatory-metadata
(list :title :date))
@@ -119,7 +124,8 @@ last form in BODY."
(ennum-with-file-contents (ennum-post-filename post)
(org-export-to-file
'ennum-html output-file nil nil nil nil
- (list :ennum-translations (seq-remove (apply-partially 'equal post) posts))))))
+ (list :ennum-translations (seq-remove (apply-partially 'equal post) posts)
+ :ennum-video-posters (ennum-post-video-posters post))))))
posts
output-files))))
(ennum--filter-map
@@ -272,8 +278,9 @@ last form in BODY."
(name ,(ennum-post-author post))
(email ,user-mail-address))))
(content :type "html" :xml:lang ,(ennum-post-language post)
- ,(ennum-with-file-contents (ennum-post-filename post)
- (org-export-as 'ennum-html nil nil t)))
+ ,(ennum-with-file-contents interned-post-file
+ (org-export-as 'ennum-html nil nil t
+ (list :ennum-video-posters (ennum-post-video-posters post)))))
(link :rel "alternate" :href ,link)
,@(seq-map (lambda (tag) `(category :term ,tag))
(ennum-post-tags post)))))