diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-11-23 09:41:06 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-11-23 09:41:14 -0500 |
commit | d59e5d4255f7d91f4ccba84d4200126c0c8d4d0a (patch) | |
tree | ee181826b2388f9dce4234431f63fa04709c7ca9 /emacsconf-pad.el | |
parent | 93c3abfecc9faed2dcf02f90a74c1dade15d8652 (diff) | |
download | emacsconf-el-d59e5d4255f7d91f4ccba84d4200126c0c8d4d0a.tar.xz emacsconf-el-d59e5d4255f7d91f4ccba84d4200126c0c8d4d0a.zip |
checkin
Diffstat (limited to '')
-rw-r--r-- | emacsconf-pad.el | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/emacsconf-pad.el b/emacsconf-pad.el index 7542689..ba216ce 100644 --- a/emacsconf-pad.el +++ b/emacsconf-pad.el @@ -412,13 +412,39 @@ ${next-talk-list} talk) (pcase (or (plist-get talk :q-and-a) "") ((rx "live") - "<li><strong>${time}</strong> <em>${checkin}:</em> Double-check ${speakers} checked into ${bbb-room}; let #emacsconf-org know if not</li>") + "<li><strong>${time}</strong> <em>${checkin}:</em> By this time, ${speakers} should be checked into ${bbb-backstage} and set as moderator(s); let #emacsconf-org know if they're missing</li>") ((rx "IRC") "<li><strong>${time}</strong> <em>${checkin}:</em> Double-check ${speakers} in ${channel}; let #emacsconf-org know if not</li>") ((rx "Mumble") "<li><strong>${time}</strong> <em>${checkin}:</em> Double-check ${speakers} on Mumble; let #emacsconf-org know if not</li>") (_ "")))) +(defun emacsconf-pad-prepopulate-checkins (&optional info) + (interactive) + (setq info (or info (emacsconf-prepare-for-display info))) + (mapc (lambda (day) + (let ((pad-id (concat "checkin-" (downcase (format-time-string "%a" (plist-get (cadr day) :checkin-time)))))) + (emacsconf-create-pad) + (emasconf-set-pad) + (concat "<ul>" + (mapconcat + (lambda (talk) + (emacsconf-pad-format-checkin-hyperlist talk) + ) + (seq-sort + (lambda (a b) + (time-less-p (plist-get a :checkin-time) + (plist-get b :checkin-time))) + (seq-filter (lambda (talk) (plist-get talk :checkin-time)) info)) + "\n") + "</ul>")) + ) + (seq-group-by (lambda (talk) + (format-time-string "%A, %b %-e, %Y" (plist-get talk :checkin-time))) + info)))) + + ) + (defun emacsconf-pad-prepopulate-shift-hyperlist (shift &optional info) (interactive (list (completing-read "Shift: " (mapcar (lambda (o) (plist-get o :id)) emacsconf-shifts)))) @@ -464,7 +490,7 @@ ${next-talk-list} (result (emacsconf-replace-plist-in-string modified-talk - (format "<li><strong>%s export SLUG=%s %s <a href=\"%s%s\">%s%s</a></strong>\n%s</li>" + (format "<li><strong>%s export SLUG=%s %s <a href=\"%s%s\">%s%s</a></strong>\n<ul>%s%s</ul></li>" (format-time-string "%H:%M" (plist-get talk :start-time) emacsconf-timezone) (plist-get talk :slug) (plist-get talk :title) @@ -472,11 +498,12 @@ ${next-talk-list} (plist-get talk :url) emacsconf-base-url (plist-get talk :url) + (emacsconf-surround + "<div><strong>" (plist-get talk :hyperlist-note) "</strong></div>" + "") (pcase (or (plist-get talk :q-and-a) "") ((rx "live") - "<ul> -<li>[ ] ${checkin}: Check ${speakers-with-pronouns} (${irc}) into ${bbb-room} sometime beforehand and make them a moderator</li> -<li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> + "<li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> <li>[ ] ${host}: Connect to the ${mumble} channel in Mumble and introduce the talk: <strong>${intro-note}</strong></li> <li>[ ] ${stream}: Start playing the talk: ${ssh-playing}</li> <li>[ ] ${host}: Join the Q&A room at <a href=\"${bbb-room}\">${bbb-room}</a> and open the pad at <a href=\"${pad-url}\">${pad-url}</a>; optionally open IRC for ${channel} (<a href=\"${webchat-url}\">${webchat-url}</a>)</li> @@ -496,23 +523,21 @@ ${next-talk-list} <ul> <li>[ ] ${stream}: Mark the talk as archived: ${ssh} \"~/current/scripts/update-task-status.sh ${slug} . TO_ARCHIVE\"</li> </ul> -<li>[ ] ${stream}: Close the Q&A windows and move on to the next talk</li></ul> +<li>[ ] ${stream}: Close the Q&A windows and move on to the next talk</li> ") ((rx "irc") - " -<ul><li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> + "<li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> <li>[ ] ${host}: Connect to the ${mumble} channel in Mumble and introduce the talk</li> <li>[ ] ${stream}: ${ssh-playing}</li> <li>[ ] ${stream}: Open the IRC channel (${channel}) and the pad, and arrange the windows: ${ssh-closedq}</li> -<li>[ ] ${stream}: When it's time for the next talk, close the Q&A windows and move on to the next talk</li></ul> +<li>[ ] ${stream}: When it's time for the next talk, close the Q&A windows and move on to the next talk</li> ") (_ - "<ul><li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> + "<li>[ ] ${stream}: Display the in-between slide <a href=\"https://media.emacsconf.org/${year}/in-between/${slug}.png\">https://media.emacsconf.org/${year}/in-between/${slug}.png</a></li> <li>[ ] ${host}: Connect to the ${mumble} channel in Mumble and introduce the talk</li> <li>[ ] ${stream}: Start the talk: ${ssh-playing}</li> <li>[ ] ${stream}: Open the IRC channel (${channel}) and the pad, and arrange the windows: ${ssh-closedq}</li> <li>[ ] ${stream}: When it's time for the next talk, close the Q&A windows and move on to the next talk</li> -</ul> ")))))) (if do-insert (insert result)) result)) |