summaryrefslogtreecommitdiffstats
path: root/emacsconf-publish.el
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-11-22 10:18:53 -0500
committerSacha Chua <sacha@sachachua.com>2022-11-22 10:18:53 -0500
commit67a8c7b4cda64bf56f972424bd710f300d909c7a (patch)
tree1c176279922e40f9e5c1704c98cb921973ab2f7b /emacsconf-publish.el
parent15db59cf0020b12520f9a25feab35e82a554fe50 (diff)
downloademacsconf-el-67a8c7b4cda64bf56f972424bd710f300d909c7a.tar.xz
emacsconf-el-67a8c7b4cda64bf56f972424bd710f300d909c7a.zip
publish static redirects just in case
Diffstat (limited to 'emacsconf-publish.el')
-rw-r--r--emacsconf-publish.el19
1 files changed, 17 insertions, 2 deletions
diff --git a/emacsconf-publish.el b/emacsconf-publish.el
index a998779..45def04 100644
--- a/emacsconf-publish.el
+++ b/emacsconf-publish.el
@@ -1811,12 +1811,27 @@ when the host has opened the Q&A.</p>
;; (assert (eq (emacsconf-get-bbb-state '(:status "OPEN_Q")) 'open))
;; (assert (eq (emacsconf-get-bbb-state '(:status "TO_ARCHIVE")) 'after))
-(defun emacsconf-publish-bbb-redirect (talk)
+
+(defun emacsconf-publish-bbb-static-redirects ()
+ "Create emergency redirects that can be copied over the right location."
+ (mapc (lambda (state)
+ (let ((emacsconf-publish-current-dir
+ (expand-file-name
+ state
+ (expand-file-name "redirects" emacsconf-stream-asset-dir))))
+ (unless (file-directory-p emacsconf-publish-current-dir)
+ (make-directory emacsconf-publish-current-dir t))
+ (mapc
+ (lambda (talk)
+ (emacsconf-publish-bbb-redirect talk (intern state)))
+ (emacsconf-prepare-for-display (emacsconf-get-talk-info)))))
+ '("before" "open" "after")))
+(defun emacsconf-publish-bbb-redirect (talk &optional status)
(interactive (list (emacsconf-complete-talk-info)))
(let ((bbb-filename (expand-file-name (format "bbb-%s.html" (plist-get talk :slug))
emacsconf-publish-current-dir))
(bbb-redirect-url (concat "https://media.emacsconf.org/" emacsconf-year "/current/bbb-" (plist-get talk :slug) ".html"))
- (status (emacsconf-bbb-status (if (boundp 'org-state) (append (list :status org-state) talk) talk))))
+ (status (or status (emacsconf-bbb-status (if (boundp 'org-state) (append (list :status org-state) talk) talk)))))
(with-temp-file bbb-filename
(insert
(emacsconf-replace-plist-in-string