summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-10-25 12:16:46 -0400
committerSacha Chua <sacha@sachachua.com>2022-10-25 12:16:46 -0400
commitbfdac52a1bc4ed16efcbdbc4953ff769726b86eb (patch)
treeaf90cab3fcff754037b5e34e1308e44cdd9f10b3
parentd3a178bda7d74a2cdc10c9091d26f2a4ce75ca37 (diff)
downloademacsconf-el-bfdac52a1bc4ed16efcbdbc4953ff769726b86eb.tar.xz
emacsconf-el-bfdac52a1bc4ed16efcbdbc4953ff769726b86eb.zip
Use backstage list of files
-rw-r--r--emacsconf-publish.el32
1 files changed, 23 insertions, 9 deletions
diff --git a/emacsconf-publish.el b/emacsconf-publish.el
index d254468..531a94b 100644
--- a/emacsconf-publish.el
+++ b/emacsconf-publish.el
@@ -163,10 +163,10 @@
(and video-file
(let ((tracks
(emacsconf-video-subtitle-tracks
- (expand-file-name
- (concat video-base ".vtt") emacsconf-cache-dir)
+ (concat video-base ".vtt")
(or (plist-get talk :track-base-url)
- (plist-get talk :base-url)))))
+ (plist-get talk :base-url))
+ (plist-get talk :files))))
(cond
((zerop (length tracks)) "")
((eq (plist-get talk :format) 'wiki) (format "captions=\"\"\"%s\"\"\"" tracks))
@@ -497,6 +497,17 @@ Back to the [[talks]] \n"
(emacsconf-generate-after-page o talks))
talks))))
+(defun emacsconf-publish-before-pages (&optional info)
+ "Populate -before files."
+ (interactive)
+ (setq info (or info (emacsconf-get-talk-info)))
+ (setq info (seq-remove (lambda (o) (string= (plist-get o :status) "CANCELLED"))
+ (sort (emacsconf-filter-talks info) #'emacsconf-sort-by-scheduled)))
+ (emacsconf-publish-with-wiki-change
+ (mapc (lambda (o)
+ (emacsconf-generate-before-page o info))
+ info)))
+
(defun emacsconf-generate-talks-page (emacsconf-info)
(interactive "p")
(let ((info emacsconf-info))
@@ -813,7 +824,9 @@ Entries are sorted chronologically, with different tracks interleaved."
(plist-get f :url)
(plist-get f :title)
(plist-get f :speakers)
- (emacsconf-index-card (append f (list :extra (concat "Captioned by " (plist-get f :captioner)))) emacsconf-main-extensions)))
+ (emacsconf-index-card (append f (list :extra (concat "Captioned by " (plist-get f :captioner))
+ :files (emacsconf-publish-talk-files f files)))
+ emacsconf-main-extensions)))
(assoc-default "TO_STREAM" by-status) "\n"))
(if (file-exists-p (expand-file-name "include-in-index.html" emacsconf-captions-directory))
(with-temp-buffer (insert-file-contents (expand-file-name "include-in-index.html" emacsconf-captions-directory)) (buffer-string))
@@ -922,21 +935,22 @@ Entries are sorted chronologically, with different tracks interleaved."
chapters
"\n"))))))
-(defun emacsconf-video-subtitle-tracks (filename track-base-url)
+(defun emacsconf-video-subtitle-tracks (filename track-base-url &optional files)
+ (setq files (or files (directory-files emacsconf-cache-dir)))
(concat
- (if (file-exists-p filename)
+ (if (member filename files)
(format "<track label=\"English\" kind=\"captions\" srclang=\"en\" src=\"%s\" default />"
(concat (or track-base-url "") (file-name-nondirectory filename)))
"")
(mapconcat
(lambda (lang)
(let ((lang-file (concat (file-name-sans-extension filename) "_" (car lang) "." (file-name-extension filename))))
- (if (file-exists-p lang-file)
+ (if (member lang-file files)
(format "<track label=\"%s\" kind=\"captions\" srclang=\"%s\" src=\"%s\" />"
(cdr lang)
(car lang)
- (concat (or track-base-url "") (file-name-nondirectory lang-file)))
- "")))
+ (concat (or track-base-url "") (file-name-nondirectory lang-file))))
+ ""))
'(("fr" . "French") ("ja" . "Japanese"))
"")))