diff options
| author | Sacha Chua <sacha@sachachua.com> | 2025-11-27 14:40:11 -0500 |
|---|---|---|
| committer | Sacha Chua <sacha@sachachua.com> | 2025-11-27 14:40:17 -0500 |
| commit | b61534b54311d625ed68f6df23bfda5e11af6213 (patch) | |
| tree | 0f4a689e4f90b09b2728f182db9b1e66e6a19e3e | |
| parent | 789efdd05da403310c954497588c43fe94d4edd8 (diff) | |
| download | emacsconf-el-b61534b54311d625ed68f6df23bfda5e11af6213.tar.xz emacsconf-el-b61534b54311d625ed68f6df23bfda5e11af6213.zip | |
conference dates, etc.
| -rw-r--r-- | emacsconf.el | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/emacsconf.el b/emacsconf.el index 72e54c7..9d3da72 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -44,6 +44,9 @@ (defcustom emacsconf-date "2025-12-06" "Starting date of EmacsConf." :group 'emacsconf :type 'string) +(defcustom emacsconf-dates "2025-12-06 to 2025-12-07" "Conference dates." + :group 'emacsconf + :type 'string) (defcustom emacsconf-video-target-date "2025-10-31" "Target date for receiving talk videos from the speakers." :group 'emacsconf :type 'string) @@ -2099,10 +2102,24 @@ tracks with the ID in the cdr of that list." "Return the filename for the current year's public organizers notebook." (expand-file-name "organizers-notebook/index.org" (expand-file-name emacsconf-year emacsconf-directory))) -(defun emacsconf-current-org-notebook-open () - "Open the current year's public organizers notebook." - (interactive) - (find-file (emacsconf-current-org-notebook-filename))) +(defun emacsconf-current-org-notebook-open (&optional common) + "Open the current year's public organizers notebook. +With a prefix argument (\\[universal-argument]), open the general organizers notebook." + (interactive (list current-prefix-arg)) + (find-file (if common + (expand-file-name "organizers-notebook/index.org" + emacsconf-directory) + (emacsconf-current-org-notebook-filename)))) + +(defun emacsconf-current-org-notebook-heading (&optional common) + "Open the current year's public organizers notebook and jump to a heading. +With a prefix argument (\\[universal-argument]), open the general organizers notebook." + (interactive (list current-prefix-arg)) + (emacsconf-current-org-notebook-open common) + (cond + ((fboundp 'consult-org-heading) + (call-interactively #'consult-org-heading)) + (t (call-interactively #'org-goto)))) (defun emacsconf-current-org-notebook-refresh-schedule () "Refresh info from draft schedule." @@ -2120,5 +2137,23 @@ tracks with the ID in the cdr of that list." (save-excursion (goto-char (line-end-position)) (insert " ; " (plist-get talk :availability)))) + +(defun emacsconf-cancel-talk (talk) + "Cancel TALK. Assume that the schedule has already been updated." + (interactive (list (emacsconf-complete-talk))) + (emacsconf-with-talk-heading talk + (org-todo "CANCELLED") + (emacsconf-current-org-notebook-refresh-schedule) + (emacsconf-schedule-update-from-info) + (emacsconf-update-schedule) + (emacsconf-publish-watch-pages) + (emacsconf-publish-talks-json-to-files) + (emacsconf-publish-info-pages-for-talk talk) + (emacsconf-publish-info-pages) + (emacsconf-stream-generate-in-between-pages) + ;; Regenerate intros + (find-file (emacsconf-latest-file (expand-file-name "../assets/intros" emacsconf-cache-dir) "^\\(intro\\|script\\).*.vtt")) + (message "Remember to regenerate the intro videos."))) + (provide 'emacsconf) ;;; emacsconf.el ends here |
