diff options
Diffstat (limited to '')
-rw-r--r-- | 2022/organizers-notebook.md | 379 | ||||
-rw-r--r-- | 2022/organizers-notebook.org | 74 |
2 files changed, 287 insertions, 166 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 9fcd1b06..a19ecf45 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -3,52 +3,58 @@ # Table of Contents -- [Current tasks / status](#org1c2376c) - - [Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible early speaker notification, Oct 7 for everything](#org8790269) - - [zaeph: Write preparation instructions and decide on deadline for prerecs](#orgfa8f729):zaeph: - - [sacha: add more submissions (CFP deadline Sept 30)](#orga7b99da):sacha: - - [sacha: copy things over from previous notebooks](#orgc5ed90d):sacha: - - [corwin: Double-check sachac’s timezone conversions for availability](#orgd322767):corwin: - - [corwin: Investigate streaming options, maybe OBS in the cloud](#orgb0742dd):corwin: - - [corwin: document such that someone else could use/fix it](#org8ed4ca8):corwin: - - [corwin: recruit at least one more person to help operate the "video bouncer"](#org27e2bb4):corwin: - - [corwn, zaeph: Work on the OBS scenes](#orgde446f6):zaeph:corwin: - - [???: Figure out web-based file upload](#org3416742):needsowner: - - [sacha: Prepare to export talk information to wiki](#org2e90911):sacha: - - [zaeph: Give access to emacsconf-2022-private to dto](#orgdaa5da1):zaeph: -- [Other tasks and processes](#org7fbf476) - - [Sacha: Organize volunteer information](#org4529b4b):sacha: - - [bandali: Set up file upload](#org8703318):bandali: - - [Once talks are approved](#org178397d) - - [As prerecorded talks come in](#orgc528fc5) - - [Compress the video](#org511d3ca) - - [When a talk is captioned](#org44bb04f) - - [Other tasks before the conference](#orgfd7736f) - - [Test stream setup](#org291640a) - - [Set up MPV for captions](#org09cf74d) - - [mpv profile](#orga632a72) - - [Font: Clear Sans](#org9e6ade2) +- [Current tasks / status](#current) + - [Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible early speaker notification, Oct 7 for everything](#org7dd3cca) + - [zaeph: Write preparation instructions and decide on deadline for prerecs](#org5ef61be):zaeph: + - [sacha: add more submissions (CFP deadline Sept 30)](#org4eda430):sacha: + - [sacha: copy things over from previous notebooks](#org820679a):sacha: + - [corwin: Double-check sachac’s timezone conversions for availability](#orge36480b):corwin: + - [corwin: Investigate streaming options, maybe OBS in the cloud](#org84c8a2a):corwin: + - [corwin: document such that someone else could use/fix it](#orgf8a881e):corwin: + - [corwin: recruit at least one more person to help operate the "video bouncer"](#org2078b30):corwin: + - [corwn, zaeph: Work on the OBS scenes](#orgaf00d7b):zaeph:corwin: + - [???: Figure out web-based file upload](#org0cd33ba):needsowner: + - [sacha: Prepare to export talk information to wiki](#orgc18872f):sacha: + - [zaeph: Give access to emacsconf-2022-private to dto](#org5dac6bb):zaeph: + - [dto: create Org heading for scheduling caption team's live IRC duty shifts](#org1e19a83):dto: +- [Other tasks and processes](#org535c437) + - [Sacha: Organize volunteer information](#org02b9309):sacha: + - [Export talk information to wiki](#org4df5f59) + - [${year}/info/${slug}-nav](#org47f96c9) + - [${year}/info/${slug}-schedule](#orgeadb7f1) + - [${year}/talks/${slug}](#orgf4aec27) + - [bandali: Set up file upload](#orgf62dce4):bandali: + - [](#org822de18) + - [Once talks are approved](#org9ebe7b9) + - [As prerecorded talks come in](#org5897170) + - [Compress the video](#org2d83b88) + - [When a talk is captioned](#orgb67fdcc) + - [Other tasks before the conference](#orgc5d1b90) + - [Test stream setup](#org4a193b4) + - [Set up MPV for captions](#org8559a58) + - [mpv profile](#org0bf9899) + - [Font: Clear Sans](#org1b4b0ef) - [Download prerecorded videos from ${protected}](#days-before) - - [During the conference](#org5cdd8d4) + - [During the conference](#orgfef775b) - [Roles needed](#roles) - [Set up](#setup) - [Arrange screens](#screens) - [Start streaming](#start-streaming):stream: - [Check in a speaker](#check-in) - - [bandali's check-in steps](#orgc3adc8b) + - [bandali's check-in steps](#org7098fe0) - [Present talk](#present) - [Publish information](#publish) - [Handle Q&A](#questions) - [During each talk](#each-talk) - [Break time](#break) - [End of stream](#end) - - [After the conference](#org125206a) - - [Send thanks](#orgae63fc6) - - [Update the wiki](#org266989c) - - [Update captions](#org48744cb) - - [Downsize the server](#org1c13162):bandali: + - [After the conference](#org5488095) + - [Send thanks](#orgbfd32aa) + - [Update the wiki](#org80c0797) + - [Update captions](#org9bae14a) + - [Downsize the server](#org24f2175):bandali: - [In case of](#exceptions) - - [Stuck wiki](#orgee73cf7) + - [Stuck wiki](#org2d273bb) - [Last-minute prerecording submission](#last-minute-prerec) - [Last-minute caption update](#last-minute-captions) - [Speaker has not checked in](#missing) @@ -64,36 +70,38 @@ - [Technical issues during a live presentation](#live-issues) - [Big technical issues with streaming](#stream-issues) - [live0 can't handle the load or is close to network transfer limit](#network) -- [Communications](#org48aec98) - - [Ask emacsconf-org-private for feedback on early submissions](#org30dead3) - - [Early speaker notification](#org84d7e41) - - [Option A: Early speaker notification(?)](#org24fa701) - - [Option B: Just letting them know it's been postponed](#org96616dc) - - [Future](#org577e665) - - [Acceptance](#org6abf1ef) - - [Code](#org77d8711) - - [Template](#org44c0c23) - - [Acknowledge pre-rec submission](#org81f2950) - - [Captions for approval](#org4324da9) - - [Speakers we haven't confirmed e-mail communications with](#org01d182a) - - [Speakers who are missing prerecs](#org7bde509) - - [Template](#org889eae8) - - [Check-in instructions](#org870a8ec) - - [Code](#orgfe4d71f) - - [E-mail for speakers who are planning to be at the conference](#orgfcc6405) - - [E-mail for speakers who are not planning to be around, but who have sent us their prerecs](#orge9d0751) - - [Last email before the conference](#org18d1b15) - - [Thank you, next steps](#org975dc9e) - - [Code](#org090b205) - - [Text](#orgc12d656) - - [Archive](#orge9c9fba) - - [Second announcement: CFP](#orgb302bad) - - [First announcement: CFP](#orge8304a7) -- [Supporting code](#org411adc7) - - [Publish this page](#orge4dd909) - - -<a id="org1c2376c"></a> +- [Communications](#orge6aa5aa) + - [Ask emacsconf-org-private for feedback on early submissions](#orgf6d9903) + - [Early speaker notification](#org3ceb710) + - [Option A: Early speaker notification(?)](#org0812853) + - [Option B: Just letting them know it's been postponed](#org10d6eff) + - [Future](#org8a32a5b) + - [Acceptance](#orgf5bb15b) + - [Code](#org059d42b) + - [Template](#org7b28658) + - [Acknowledge pre-rec submission](#org53c8ce1) + - [Captions for approval](#org9703bb9) + - [Speakers we haven't confirmed e-mail communications with](#org2c67553) + - [Speakers who are missing prerecs](#orgd65ac71) + - [Template](#org3cad38b) + - [Check-in instructions](#org32a7007) + - [Code](#orgbf482c9) + - [E-mail for speakers who are planning to be at the conference](#org333a72f) + - [E-mail for speakers who are not planning to be around, but who have sent us their prerecs](#org178b2ae) + - [Last email before the conference](#org0899d50) + - [Thank you, next steps](#orge7135bb) + - [Code](#orga823703) + - [Text](#org210d912) + - [Archive](#org52569dd) + - [Second announcement: CFP](#org176bdbe) + - [First announcement: CFP](#org39f992e) +- [Supporting code](#org4cbe778) + - [Publish this page](#org0c25406) + - [Tangle and publish on save](#org923bc99) +- [Lessons learned for next year](#org8fdf431) + + +<a id="current"></a> # Current tasks / status @@ -127,13 +135,13 @@ Planned dates and phases: <tr> -<td class="org-left">[2022-09-??]</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-09-30 Fri]</span></span></td> <td class="org-left">Early speaker notification for original submissions</td> </tr> <tr> -<td class="org-left">[2022-10-??]</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-07 Fri]</span></span></td> <td class="org-left">Yes/no decisions for late submissions</td> </tr> @@ -188,14 +196,14 @@ Planned dates and phases: </table> -<a id="org8790269"></a> +<a id="org7dd3cca"></a> -## TODO Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible [early speaker notification](#org84d7e41), Oct 7 for everything +## TODO Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [early speaker notification](#org3ceb710), Oct 7 for everything - zaeph: will start reviewing on Sep 21 -<a id="orgfa8f729"></a> +<a id="org5ef61be"></a> ## TODO zaeph: Write preparation instructions and decide on deadline for prerecs :zaeph: @@ -209,24 +217,24 @@ We need time after the prerecs get submitted to: zaeph will also figure out the ffmpeg incantation for converting videos and the process for handling submitted prerecs -<a id="orga7b99da"></a> +<a id="org4eda430"></a> ## WAITING sacha: add more submissions (CFP deadline Sept 30) :sacha: - Sacha: Add submissions to emacsconf-2022-private, draft 2-day schedule by Oct 10 -<a id="orgc5ed90d"></a> +<a id="org820679a"></a> ## INPROGRESS sacha: copy things over from previous notebooks :sacha: -<a id="orgd322767"></a> +<a id="orge36480b"></a> ## TODO corwin: Double-check sachac’s timezone conversions for availability :corwin: -<a id="orgb0742dd"></a> +<a id="org84c8a2a"></a> ## TODO corwin: Investigate streaming options, maybe OBS in the cloud :corwin: @@ -235,24 +243,24 @@ zaeph will also figure out the ffmpeg incantation for converting videos and the **\*** TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin: -<a id="org8ed4ca8"></a> +<a id="orgf8a881e"></a> ### TODO corwin: document such that someone else could use/fix it :corwin: -<a id="org27e2bb4"></a> +<a id="org2078b30"></a> ### TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin: -<a id="orgde446f6"></a> +<a id="orgaf00d7b"></a> ## TODO corwn, zaeph: Work on the OBS scenes :zaeph:corwin: - [ ] corwin is out from Nov 11-20, and we should start working on them before then. -<a id="org3416742"></a> +<a id="org0cd33ba"></a> ## TODO ???: Figure out web-based file upload :needsowner: @@ -260,42 +268,117 @@ Lesson learned from last year: "Since people kept running into ftp problems, we Maybe we could ask some of the volunteers who wanted to help us with the infra? It shouldn’t be complicated to deploy a ready-made solution. -<a id="org2e90911"></a> +<a id="orgc18872f"></a> + +## DONE sacha: Prepare to export talk information to wiki :sacha: -## TODO sacha: Prepare to export talk information to wiki :sacha: +[Export talk information to wiki](#org4df5f59) +Tested code in a fork, can publish talk information once talks are approved. -<a id="orgdaa5da1"></a> + +<a id="org5dac6bb"></a> ## DONE zaeph: Give access to emacsconf-2022-private to dto :zaeph: -<a id="org7fbf476"></a> +<a id="org1e19a83"></a> + +## TODO dto: create Org heading for scheduling caption team's live IRC duty shifts :dto: + + +<a id="org535c437"></a> # Other tasks and processes -<a id="org4529b4b"></a> +<a id="org02b9309"></a> ## DONE Sacha: Organize volunteer information :sacha: -<a id="org8703318"></a> +<a id="org4df5f59"></a> + +## Export talk information to wiki + +[sacha: Prepare to export talk information to wiki](#orgc18872f) + + +<a id="org47f96c9"></a> + +### ${year}/info/${slug}-nav + +Automatically generated by emacsconf-create-info-pages + +Example: + + Back to the [[schedule]] + Previous: <a href="/2021/talks/teach">Using Org-mode to teach programming</a> + Next: <a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a> + + +<a id="orgeadb7f1"></a> + +### ${year}/info/${slug}-schedule + +Automatically generated by emacsconf-create-info-pages + + +<a id="orgf4aec27"></a> + +### ${year}/talks/${slug} + +Initially generated by emacsconf-create-talk-pages + + [[!meta title="${title}"]] + [[!meta copyright="Copyright © ${year} ${speakers}"]] + [[!inline pages="internal(${year}/info/${slug}-nav)" raw="yes"]] + + <!-- You can manually edit this file to update the abstract, add links, etc. ---> + + # ${title} + ${speakers} + + <!-- tags go here like !taglink CategoryOrgMode --> + [[!inline pages="internal(${year}/info/${slug}-schedule)" raw="yes"]] + + ${abstract} + + # Links + + # Discussion + + # Speaker information + - Name pronunciation: ${pronunciation} + - Pronouns: ${pronouns} + - Email: ${public-email} + + [[!inline pages="internal(${year}/captions/${slug})" raw="yes"]] + + [[!inline pages="internal(${year}/info/${slug}-nav)" raw="yes"]] + + +<a id="orgf62dce4"></a> ## TODO bandali: Set up file upload :bandali: -<a id="org178397d"></a> +<a id="org822de18"></a> + +## + + +<a id="org9ebe7b9"></a> ## Once talks are approved -- Publish initial talk information pages -- Format them nicely +- sacha: Publish initial talk information pages +- Double-check talk pages, format them nicely - Publish draft schedule - Confirm e-mail communication with all of the speakers -<a id="orgc528fc5"></a> +<a id="org5897170"></a> ## As prerecorded talks come in @@ -306,7 +389,7 @@ Maybe we could ask some of the volunteers who wanted to help us with the infra? - Make sure all the links/resources mentioned are written down somewhere (web page and enriched captions for pasting into #emacsconf-accessible) -<a id="org511d3ca"></a> +<a id="org2d83b88"></a> ### Compress the video @@ -321,31 +404,31 @@ Usage: `compress-video.sh original-file output-file`: We tried using q56 before, but it was a little too aggressive. Q=32 is the default and is probably a reasonable space vs. quality compromise. -<a id="org44bb04f"></a> +<a id="orgb67fdcc"></a> ## When a talk is captioned -<a id="orgfd7736f"></a> +<a id="orgc5d1b90"></a> ## Other tasks before the conference - Coordinate volunteer schedules so all the roles are covered -<a id="org291640a"></a> +<a id="org4a193b4"></a> ### Test stream setup -[Stream](#org184f14d) +[Stream](#orgacab040) -<a id="org09cf74d"></a> +<a id="org8559a58"></a> ### Set up MPV for captions -<a id="orga632a72"></a> +<a id="org0bf9899"></a> #### mpv profile @@ -380,7 +463,7 @@ Add the following profile to `~/.config/mpv/mpv.conf`: (Thanks, zaeph) -<a id="org9e6ade2"></a> +<a id="org1b4b0ef"></a> #### Font: Clear Sans @@ -399,7 +482,7 @@ Links: rsync -avzue ssh front:/var/www/media.emacsconf.org/2021/protected/*--main.webm . -<a id="org5cdd8d4"></a> +<a id="orgfef775b"></a> ## During the conference @@ -577,7 +660,7 @@ Exception: [CHECK is unavailable](#check-gone) information. -<a id="orgc3adc8b"></a> +<a id="org7098fe0"></a> #### bandali's check-in steps @@ -722,24 +805,24 @@ Exceptions: - bandali figures out the downstream -<a id="org125206a"></a> +<a id="org5488095"></a> ## After the conference -<a id="orgae63fc6"></a> +<a id="orgbfd32aa"></a> ### Send thanks -[Thank you, next steps](#org975dc9e) +[Thank you, next steps](#orge7135bb) -<a id="org266989c"></a> +<a id="org80c0797"></a> ### Update the wiki -<a id="org48744cb"></a> +<a id="org9bae14a"></a> ### Update captions @@ -765,7 +848,7 @@ Exceptions: - Update ${conf-year}/${captions}/${slug}.md in the wiki. To make this from scratch, use `M-x conf-prepare-transcript-directives` from the talk heading in the conference Org file. -<a id="org1c13162"></a> +<a id="org24f2175"></a> ### BLOCKED Downsize the server :bandali: @@ -775,7 +858,7 @@ Exceptions: ## In case of -<a id="orgee73cf7"></a> +<a id="org2d273bb"></a> ### Stuck wiki @@ -870,7 +953,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup command to be the audio monitor, so you get system output as well. - OR: - - [? splitting audio] + - [? splitting audio] (look for “Set up sinks for sound” under 2021/) - [? same audio] - Set up audio monitor as the input for FFMPEG - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor @@ -962,12 +1045,12 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - Add additional node to Linode account for shared transfer pool (TODO: doublecheck) -<a id="org48aec98"></a> +<a id="orge6aa5aa"></a> # Communications -<a id="org30dead3"></a> +<a id="orgf6d9903"></a> ## TODO Ask emacsconf-org-private for feedback on early submissions @@ -992,14 +1075,14 @@ Thanks! Sacha -<a id="org84d7e41"></a> +<a id="org3ceb710"></a> ## TODO Early speaker notification We can accept early or send people a note saying notification of acceptance will be on Oct 15, because of the extended CFP. -<a id="org24fa701"></a> +<a id="org0812853"></a> ### TODO Option A: Early speaker notification(?) @@ -1040,7 +1123,7 @@ Thank you so much! Sacha -<a id="org96616dc"></a> +<a id="org10d6eff"></a> ### TODO Option B: Just letting them know it's been postponed @@ -1053,17 +1136,17 @@ for your patience! Sacha -<a id="org577e665"></a> +<a id="org8a32a5b"></a> ## Future -<a id="org6abf1ef"></a> +<a id="orgf5bb15b"></a> ### Acceptance -<a id="org77d8711"></a> +<a id="org059d42b"></a> #### Code @@ -1121,7 +1204,7 @@ Sacha (save-excursion (conf-replace-plist-in-string attrs (plist-get attrs :body))))) -<a id="org44c0c23"></a> +<a id="org7b28658"></a> #### Template @@ -1152,7 +1235,7 @@ EmacsConf organization team P.S. Please keep emacsconf-submit@gnu.org in To or Cc when replying. -<a id="org81f2950"></a> +<a id="org53c8ce1"></a> ### Acknowledge pre-rec submission @@ -1185,7 +1268,7 @@ P.S. Please keep emacsconf-submit@gnu.org in To or Cc when replying. "Thank you so much for all the work you put into preparing a talk for EmacsConf ${year}, and thank you for submitting the prerecorded video before the conference!\n\nSacha")))) -<a id="org4324da9"></a> +<a id="org9703bb9"></a> ### Captions for approval @@ -1202,7 +1285,7 @@ ${url} . Thanks again for your contribution! Sacha -<a id="org01d182a"></a> +<a id="org2c67553"></a> ### Speakers we haven't confirmed e-mail communications with @@ -1247,7 +1330,7 @@ Sacha Chua (Please use Reply to All to keep emacsconf-submit@gnu.org in the loop. Thanks!) -<a id="org7bde509"></a> +<a id="orgd65ac71"></a> ### Speakers who are missing prerecs @@ -1268,7 +1351,7 @@ Sacha Chua (conf-get-talk-info)))))) -<a id="org889eae8"></a> +<a id="org3cad38b"></a> #### Template @@ -1324,7 +1407,7 @@ stream for you. Hope to hear from you soon! Sacha -<a id="org870a8ec"></a> +<a id="org32a7007"></a> ### Check-in instructions @@ -1342,7 +1425,7 @@ Goals: - They’re joined by the streamer and host. -<a id="orgfe4d71f"></a> +<a id="orgbf482c9"></a> #### Code @@ -1399,7 +1482,7 @@ Slightly more complex because of the conditionals (buffer-list))) -<a id="orgfcc6405"></a> +<a id="org333a72f"></a> #### E-mail for speakers who are planning to be at the conference @@ -1427,7 +1510,7 @@ Looking forward to seeing you soon! Sacha -<a id="orge9d0751"></a> +<a id="org178b2ae"></a> #### E-mail for speakers who are not planning to be around, but who have sent us their prerecs @@ -1449,7 +1532,7 @@ Thank you again for being part of EmacsConf ${year}! Sacha -<a id="org18d1b15"></a> +<a id="org0899d50"></a> ### Last email before the conference @@ -1468,12 +1551,12 @@ Sacha > also be the time at which the talk will be made available on the same page. -<a id="org975dc9e"></a> +<a id="orge7135bb"></a> ### Thank you, next steps -<a id="org090b205"></a> +<a id="orga823703"></a> #### Code @@ -1505,7 +1588,7 @@ Sacha (plist-get template :body))))))) -<a id="orgc12d656"></a> +<a id="org210d912"></a> #### Text @@ -1535,12 +1618,12 @@ Thanks again for speaking at EmacsConf! Sacha -<a id="orge9c9fba"></a> +<a id="org52569dd"></a> ## Archive -<a id="orgb302bad"></a> +<a id="org176bdbe"></a> ### DONE Second announcement: CFP @@ -1571,7 +1654,7 @@ emacsconf-discuss list, so as to help avoid generating extra off-topic chatter in the other lists cc'd on this message. Thank you. -<a id="orge8304a7"></a> +<a id="org39f992e"></a> ### DONE First announcement: CFP @@ -1601,12 +1684,12 @@ emacsconf-discuss list, so as to help avoid generating extra off-topic chatter in the other lists Cc'd on this message. Thank you. -<a id="org411adc7"></a> +<a id="org4cbe778"></a> # Supporting code -<a id="orge4dd909"></a> +<a id="org0c25406"></a> ## Publish this page @@ -1618,3 +1701,37 @@ chatter in the other lists Cc'd on this message. Thank you. (magit-commit-create (list "-m" (read-string "Commit message: "))) (call-interactively #'magit-push-current-to-pushremote)) + +<a id="org923bc99"></a> + +## Tangle and publish on save + + (defun emacsconf-export-md-on-save () + "Export markdown on save. + Meant to be used with `after-save-hook'." + (org-md-export-to-markdown) + (org-babel-tangle)) + + (defvar emacsconf-export-md-on-save-configured t + "Non-nil when the setup code-block has been executed.") + + (unless (bound-and-true-p emacsconf-export-md-on-save-configured) + (org-babel-ref-resolve "md-export-on-save-setup()")) + + (add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) + + (when (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is active")) + + (remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) + + (unless (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is no longer active")) + + +<a id="org8fdf431"></a> + +# Lessons learned for next year + +- Ask for public e-mail or contact information, IRC handle in CFP + diff --git a/2022/organizers-notebook.org b/2022/organizers-notebook.org index 84726b01..49262d9b 100644 --- a/2022/organizers-notebook.org +++ b/2022/organizers-notebook.org @@ -17,46 +17,17 @@ You can open these links (~C-c C-o~) to run their associated actions: - [[elisp:(org-babel-ref-resolve "md-export-on-save-toggle-on()")][Export on save]] - [[elisp:(org-babel-ref-resolve "md-export-on-save-toggle-off()")][Stop exporting on save]] -** Code -#+name: md-export-on-save-setup -#+begin_src emacs-lisp :eval query -(defun emacsconf-export-md-on-save () - "Export markdown on save. -Meant to be used with `after-save-hook'." - (org-md-export-to-markdown) - (org-babel-tangle)) - -(defvar emacsconf-export-md-on-save-configured t - "Non-nil when the setup code-block has been executed.") -#+end_src - -#+name: md-export-on-save-toggle-on -#+BEGIN_SRC emacs-lisp :eval query -(unless (bound-and-true-p emacsconf-export-md-on-save-configured) - (org-babel-ref-resolve "md-export-on-save-setup()")) - -(add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) - -(when (memq #'emacsconf-export-md-on-save after-save-hook) - (message "Hook is active")) -#+END_SRC - -#+name: md-export-on-save-toggle-off -#+begin_src emacs-lisp :eval query :outputs none -(remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) - -(unless (memq #'emacsconf-export-md-on-save after-save-hook) - (message "Hook is no longer active")) -#+end_src - * Current tasks / status +:PROPERTIES: +:CUSTOM_ID: current +:END: Planned dates and phases: | [2022-09-26] | Yes/no decisions for original submissions | | [2022-09-30] | Original speaker notification date | | [2022-09-26] | Yes/no decisions for original submissions | -| [2022-09-??] | Early speaker notification for original submissions | -| [2022-10-??] | Yes/no decisions for late submissions | +| [2022-09-30] | Early speaker notification for original submissions | +| [2022-10-07] | Yes/no decisions for late submissions | | [2022-10-15] | New speaker notification date (possibly only for late submissions) | | [2022-10-30] | Ask early submitters if they can start | | [2022-10-31] | Schedule published | @@ -66,7 +37,7 @@ Planned dates and phases: | | volunteers: tech checks, captions | | 2022-12-03, 2022-12-04 | Conference | -** TODO Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible [[*Early speaker notification][early speaker notification]], Oct 7 for everything +** TODO Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [[*Early speaker notification][early speaker notification]], Oct 7 for everything DEADLINE: <2022-09-26 Mon> - zaeph: will start reviewing on Sep 21 ** TODO zaeph: Write preparation instructions and decide on deadline for prerecs :zaeph: @@ -1386,6 +1357,39 @@ chatter in the other lists Cc'd on this message. Thank you. (magit-commit-create (list "-m" (read-string "Commit message: "))) (call-interactively #'magit-push-current-to-pushremote)) #+end_src + +** Tangle and publish on save +#+name: md-export-on-save-setup +#+begin_src emacs-lisp :eval query +(defun emacsconf-export-md-on-save () + "Export markdown on save. +Meant to be used with `after-save-hook'." + (org-md-export-to-markdown) + (org-babel-tangle)) + +(defvar emacsconf-export-md-on-save-configured t + "Non-nil when the setup code-block has been executed.") +#+end_src + +#+name: md-export-on-save-toggle-on +#+BEGIN_SRC emacs-lisp :eval query +(unless (bound-and-true-p emacsconf-export-md-on-save-configured) + (org-babel-ref-resolve "md-export-on-save-setup()")) + +(add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) + +(when (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is active")) +#+END_SRC + +#+name: md-export-on-save-toggle-off +#+begin_src emacs-lisp :eval query :outputs none +(remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) + +(unless (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is no longer active")) +#+end_src + * Lessons learned for next year - Ask for public e-mail or contact information, IRC handle in CFP |