diff options
-rw-r--r-- | emacsconf-erc.el | 9 | ||||
-rw-r--r-- | emacsconf-schedule.el | 21 |
2 files changed, 29 insertions, 1 deletions
diff --git a/emacsconf-erc.el b/emacsconf-erc.el index 6069335..6c9a742 100644 --- a/emacsconf-erc.el +++ b/emacsconf-erc.el @@ -165,7 +165,8 @@ If MESSAGE is not specified, reset the topic to the template." ((string-match "live" (or (plist-get talk :q-and-a) "")) (erc-send-message (concat "Live Q&A: " (plist-get talk :bbb-redirect)))) ((plist-get talk :irc) - (erc-send-message "or discuss the talk on IRC (nick: %s)"))))) + (erc-send-message (format "or discuss the talk on IRC (nick: %s)" + (plist-get talk :irc))))))) ;; Short announcement in #emacsconf (emacsconf-erc-with-channels (list emacsconf-erc-hallway emacsconf-erc-org) (erc-send-message (format "-- %s track: %s: %s (watch: %s, pad: %s, channel: #%s)" @@ -306,6 +307,12 @@ If MESSAGE is not specified, reset the topic to the template." (erc-cmd-OP nick) (erc-cmd-OPME)))) +(defun erc-cmd-DEOPALL (&optional nick) + (emacsconf-erc-with-channels (mapcar 'car emacsconf-topic-templates) + (if nick + (erc-cmd-DEOP nick) + (erc-cmd-DEOPME)))) + (defun erc-cmd-BROADCAST (&rest message) "Say MESSAGE in all the emacsconference channels." (emacsconf-erc-with-channels (mapcar 'car emacsconf-topic-templates) diff --git a/emacsconf-schedule.el b/emacsconf-schedule.el index b8c3892..2f9a029 100644 --- a/emacsconf-schedule.el +++ b/emacsconf-schedule.el @@ -338,6 +338,12 @@ Each function should take the info and manipulate it as needed, returning the ne (when track (dom-set-attribute node 'fill (plist-get track :color))))) +(defun emacsconf-schedule-svg-color-by-availability (o node &optional parent) + (dom-set-attribute node 'fill + (if (string-match "^[><]" (plist-get o :availability)) + "gray" + "green"))) + (defun emacsconf-schedule-svg (width height &optional info) (setq info (or info (emacsconf-get-talk-info))) (let ((days (seq-group-by (lambda (o) @@ -358,6 +364,21 @@ Each function should take the info and manipulate it as needed, returning the ne :tracks (emacsconf-by-track (cdr o))))) days)))) +(defun emacsconf-schedule-svg-color-by-status (o node &optional parent) + (dom-set-attribute node 'fill + (pcase (plist-get o :status) + ((rx (or "TO_PROCESS" + "PROCESSING" + "TO_AUTOCAP")) + "lightyellow") + ((rx (or "TO_ASSIGN")) + "yellow") + ((rx (or "TO_CAPTION")) + "lightgreen") + ((rx (or "TO_STREAM")) + "green") + (t "gray")))) + (defun emacsconf-schedule-svg-days (width height days) (let ((svg (svg-create width height :background "white")) (day-height (/ height (length days))) |