summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacsconf-mail.el65
-rw-r--r--emacsconf-publish.el10
2 files changed, 68 insertions, 7 deletions
diff --git a/emacsconf-mail.el b/emacsconf-mail.el
index 190ca4b..f674ad7 100644
--- a/emacsconf-mail.el
+++ b/emacsconf-mail.el
@@ -817,8 +817,8 @@ ${signature}
(append
(list :renamed-timezone (emacsconf-schedule-rename-etc-timezone (plist-get (cadr group) :timezone)))
(cadr group))
- "Just let me know if you want us to use a different timezone for translating times in future e-mails. ")
- "I don't think I have a timezone noted for you yet. If you want, I can translate times into your local timezone for you in future e-mails. Just let me know what you would like. ")))))
+ "Just let me know if you want us to use a different time zone for translating times in future e-mails. ")
+ "I don't think I have a time zone noted for you yet. If you want, I can translate times into your local time zone for you in future e-mails. Just let me know what you would like. ")))))
(defun emacsconf-mail-acknowledge-upload (talk)
"Acknowledge uploaded files for TALK."
@@ -1801,6 +1801,67 @@ ${transcript}
(concat "Automatic captions for " (plist-get talk :title))
"attachment")))
+(defvar emacsconf-sticker-mailer nil "E-mail address of person who sends out stickers.")
+
+(defun emacsconf-mail-template-mailing-address-to-all ()
+ "Ask for mailing address."
+ (interactive)
+ (let* ((log-note "asked for mailing address")
+ (groups
+ (emacsconf-mail-groups
+ (emacsconf-filter-talks-by-logbook
+ log-note
+ (seq-filter (lambda (o) (plist-get o :email))
+ (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info)))))))
+ (dolist (group groups)
+ (emacsconf-mail-prepare
+ (list
+ :subject "${conf-name} ${year}: Can we send you a sticker of appreciation?"
+ :reply-to "${user-email}, ${sticker-mailer}, ${email}"
+ :mail-followup-to "${user-email}, ${sticker-mailer}, ${email}"
+ :log-note "Asked for mailing address"
+ :body
+ "${email-notes}Hi, ${speakers-short}!
+
+Thank you again for participating in EmacsConf 2023. It was a lot
+of fun. We hope we captured some of that energy and awesomeness
+in this short conference report at ${base-url}${year}/report/ .
+Unedited transcripts are now up for the rest of the talks and Q&A
+sessions at ${base-url}${year}/talks - more ways to enjoy the
+conference.
+
+We're thinking of experimenting with ways to show our
+appreciation for speakers. Actually, it's also part of an evil
+plan to see if other people might see the sticker on your
+laptop/whatever and then talk to you about Emacs, mwahahaha! And
+even if you don't hang out with other people, it could be a
+continuing source of warm-and-fuzzy feelings and a
+not-so-subliminal nudge to consider doing a talk at next year's
+${conf-name}. ;)
+
+Would you consider sending us your mailing
+address so that we can send you an ${conf-name} logo sticker? If you
+would like one, please reply to this e-mail with the details. We
+promise to use your address only for sending the sticker. (Or
+stickers, depending on what else Corwin rustles up.)
+
+Thanks again!
+
+${signature}
+")
+ (car group)
+ (list
+ :email-notes (emacsconf-surround "ZZZ: " (string-join (seq-uniq (seq-map (lambda (talk) (plist-get talk :email-notes)) (cdr group)))
+ ", ") "\n\n" "")
+ :speakers-short (plist-get (cadr group) :speakers-short)
+ :conf-name emacsconf-name
+ :year emacsconf-year
+ :email (car group)
+ :base-url emacsconf-base-url
+ :signature user-full-name
+ :user-email user-mail-address
+ :sticker-mailer emacsconf-sticker-mailer)))))
+
;;; Other mail functions
(defun emacsconf-mail-verify-delivery (groups subject)
diff --git a/emacsconf-publish.el b/emacsconf-publish.el
index c4a3872..084ca86 100644
--- a/emacsconf-publish.el
+++ b/emacsconf-publish.el
@@ -213,7 +213,7 @@
"\n")))
(defun emacsconf-publish-schedule-org-for-timezone (timezone &optional info)
- (interactive (list (completing-read "Timezone: " emacsconf-timezones)))
+ (interactive (list (completing-read "Time zone: " emacsconf-timezones)))
(let ((new-filename (expand-file-name
(concat "schedule-"
(replace-regexp-in-string
@@ -228,7 +228,7 @@
(with-temp-file new-filename
(insert
"* " emacsconf-name " " emacsconf-year "\n\nTimes are in "
- (emacsconf-schedule-rename-etc-timezone timezone) " timezone. You can find this file and other calendars at "
+ (emacsconf-schedule-rename-etc-timezone timezone) " time zone. You can find this file and other calendars at "
emacsconf-media-base-url emacsconf-year "/schedules/ .\n\n"
(mapconcat (lambda (track)
(emacsconf-publish-format-track-as-org track timezone info))
@@ -608,7 +608,7 @@ resources."
(org-timestamp-split-range
(org-timestamp-from-string (plist-get o :scheduled))))))
(format
- "<div>Times in different timezones:</div><div class=\"times\" start=\"%s\" end=\"%s\"><div class=\"conf-time\">%s</div><div class=\"others\"><div>which is the same as:</div>%s</div></div><div><strong><a href=\"/%s/watch/%s/\">Find out how to watch and participate</a></strong></div>"
+ "<div>Times in different time zones:</div><div class=\"times\" start=\"%s\" end=\"%s\"><div class=\"conf-time\">%s</div><div class=\"others\"><div>which is the same as:</div>%s</div></div><div><strong><a href=\"/%s/watch/%s/\">Find out how to watch and participate</a></strong></div>"
(format-time-string "%Y-%m-%dT%H:%M:%SZ" start t)
(format-time-string "%Y-%m-%dT%H:%M:%SZ" end t)
(emacsconf-timezone-string o emacsconf-timezone)
@@ -933,7 +933,7 @@ Back to the [[talks]] \n"
Times below are in %{timezone} (GMT${gmt-offset}). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.
-You can also get this schedule as iCalendar files: ${icals}. Importing that into your calendar should translate things into your local timezone. Alternatively, you can use these timezone-translated Org files: <${schedule-directory}>")))
+You can also get this schedule as iCalendar files: ${icals}. Importing that into your calendar should translate things into your local time zone. Alternatively, you can use these time-zone-translated Org files: <${schedule-directory}>")))
;; By track
(let* ((by-day (mapcar (lambda (o))
(seq-group-by (lambda (o)
@@ -1099,7 +1099,7 @@ Entries are sorted chronologically, with different tracks interleaved."
Times below are in ${timezone} (GMT${gmt-offset}). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.
-You can also get this schedule as iCalendar files: ${icals}. Importing that into your calendar should translate things into your local timezone. Alternatively, you can use these timezone-translated Org files: <${schedule-directory}>
+You can also get this schedule as iCalendar files: ${icals}. Importing that into your calendar should translate things into your local time zone. Alternatively, you can use these time-zone-translated Org files: <${schedule-directory}>
")))
(insert