diff options
author | Sacha Chua <sacha@sachachua.com> | 2023-09-12 11:40:12 -0400 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2023-09-12 11:40:12 -0400 |
commit | 3953c80bfd1dc5fe523edff26c824eefd22a7fdb (patch) | |
tree | c970a429fe83f7b09bcbd24ba2c351b1860f008c | |
parent | a480fbdb04d86a487dee97386340a4e5320e0072 (diff) | |
download | emacsconf-el-3953c80bfd1dc5fe523edff26c824eefd22a7fdb.tar.xz emacsconf-el-3953c80bfd1dc5fe523edff26c824eefd22a7fdb.zip |
Add documentation, improve mail parsing
-rw-r--r-- | emacsconf-mail.el | 29 | ||||
-rw-r--r-- | emacsconf-publish.el | 5 |
2 files changed, 19 insertions, 15 deletions
diff --git a/emacsconf-mail.el b/emacsconf-mail.el index 0a88e75..b0f5aa6 100644 --- a/emacsconf-mail.el +++ b/emacsconf-mail.el @@ -246,17 +246,18 @@ Group by e-mail." (defun emacsconf-mail-parse-submission (body) "Extract data from EmacsConf 2023 submissions in BODY." - (let (data - (fields '((:title "^Talk title") - (:description "^Talk description") - (:format "^Format") - (:intro "^Introduction for you and your talk") - (:name "^Speaker name") - (:availability "^Speaker availability") - (:q-and-a "^Preferred Q&A approach") - (:public "^Public contact information") - (:private "^Private emergency contact information") - (:release "^Please include this speaker release")))) + (when (listp body) (setq body (plist-get (car body) :content))) + (let ((data (list :body body)) + (fields '((:title "^[* ]*Talk title") + (:description "^[* ]*Talk description") + (:format "^[* ]*Format") + (:intro "^[* ]*Introduction for you and your talk") + (:name "^[* ]*Speaker name") + (:availability "^[* ]*Speaker availability") + (:q-and-a "^[* ]*Preferred Q&A approach") + (:public "^[* ]*Public contact information") + (:private "^[* ]*Private emergency contact information") + (:release "^[* ]*Please include this speaker release")))) (with-temp-buffer (insert body) (goto-char (point-min)) @@ -299,12 +300,14 @@ other volunteers want to chime in regarding your talk. =) " notification-date))))) +;; Documented in https://sachachua.com/blog/2023/09/emacsconf-capturing-submissions-from-e-mails/ ;;;###autoload (defun emacsconf-mail-add-submission (slug) "Add the submission from the current e-mail." (interactive "MTalk ID: ") (let* ((props (notmuch-show-get-message-properties)) - (from (plist-get (plist-get props :headers) :From)) + (from (or (plist-get (plist-get props :headers) :Reply-To) + (plist-get (plist-get props :headers) :From))) (body (plist-get (car (plist-get props :body)) @@ -356,7 +359,7 @@ other volunteers want to chime in regarding your talk. =) (replace-regexp-in-string "\n+" " " (plist-get data :q-and-a)))) (save-excursion - (insert body)) + (insert (plist-get data :body))) (re-search-backward org-drawer-regexp) (org-fold-hide-drawer-toggle 'off) (org-end-of-meta-data) diff --git a/emacsconf-publish.el b/emacsconf-publish.el index 8de87bb..de8b2a6 100644 --- a/emacsconf-publish.el +++ b/emacsconf-publish.el @@ -572,6 +572,7 @@ ${pad-info}${irc-info}${status-info}${schedule-info}\n" (seq-filter (lambda (o) (string-match "vtt$" o)) emacsconf-main-extensions)))) (defun emacsconf-publish-format-talk-page-schedule (talk info) + "Add the schedule image for TALK based on INFO." (concat "\nThe following image shows where the talk is in the schedule for " (format-time-string "%a %Y-%m-%d" (plist-get talk :start-time) emacsconf-timezone) ". Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad." @@ -2145,6 +2146,7 @@ when the host has opened the Q&A.</p> (emacsconf-prepare-for-display (emacsconf-get-talk-info))))) '("before" "open" "after"))) (defun emacsconf-publish-bbb-redirect (talk &optional status) + "Update the publicly-available redirect for TALK." (interactive (list (emacsconf-complete-talk-info))) (let ((bbb-filename (expand-file-name (format "bbb-%s.html" (plist-get talk :slug)) emacsconf-publish-current-dir)) @@ -2167,8 +2169,7 @@ The Q&A room for ${title} has finished. You can find more information about the (_ "<html><head><body> There is no live Q&A room for ${title}. You can find more information about the talk at <a href=\"${base-url}${url}\">${base-url}${url}</a>.</body></html>" - ) - )))))) + ))))))) (defun emacsconf-publish-media-files-on-change (talk) "Publish the files and update the index." |