summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2020/submissions.md141
-rw-r--r--2020/submissions.org25
2 files changed, 92 insertions, 74 deletions
diff --git a/2020/submissions.md b/2020/submissions.md
index c274b7a3..f2bcc2d1 100644
--- a/2020/submissions.md
+++ b/2020/submissions.md
@@ -7,32 +7,32 @@ You can check out the Org Mode source for this page by following the [editing in
# Table of Contents
-- [Actions](#org016e00e)
-- [Tables](#org8982ebb)
- - [Overall](#orgde5aa02)
- - [By slot](#orgc3b5344)
- - [Saturday](#org48701c9)
- - [Sunday](#org43b5b9d)
- - [Table for all talks](#org81120bb)
-- [Talks](#org26f9900)
- - [NOVEMBER 28 (Saturday)](#orgdfa5043):sat:
- - [9:00 - 9:30 Opening remarks](#org169cace)
- - [9:30 - 12:00 User talks](#org5e1bbd8):morning:
- - [12:00 - 13:00 Lunch](#orgba504bf)
- - [13:00 - 16:30 Afternoon talks](#org5b4c91f):afternoon:
- - [16:30 - 17:00 Closing remarks](#org27e414e)
- - [NOVEMBER 29 (Sunday)](#org16b4c62):sun:
- - [9:00 - 9:10 Opening remarks](#orgf7ed69d)
- - [9:10 - 12:00 Morning talks](#org4f8a763):morning:
- - [12:00 - 13:00 Lunch](#org55c7b6b)
- - [13:00 - 16:30 Afternoon talks](#org13579bb):afternoon:
- - [16:30 - 17:00 Closing remarks](#org845d0bc)
+- [Actions](#org3b08519)
+- [Tables](#org6935e90)
+ - [Overall](#org52370f5)
+ - [By slot](#org79bb67d)
+ - [Saturday](#orgbcf4427)
+ - [Sunday](#org2cd348d)
+ - [Table for all talks](#org5e7829c)
+- [Talks](#org1a9b6a6)
+ - [NOVEMBER 28 (Saturday)](#org4c74d5f):sat:
+ - [9:00 - 9:30 Opening remarks](#orgc0f5be6)
+ - [9:30 - 12:00 User talks](#org95c98eb):morning:
+ - [12:00 - 13:00 Lunch](#org25a0c47)
+ - [13:00 - 16:30 Afternoon talks](#org4366225):afternoon:
+ - [16:30 - 17:00 Closing remarks](#orgaeceb8b)
+ - [NOVEMBER 29 (Sunday)](#org7fe4148):sun:
+ - [9:00 - 9:10 Opening remarks](#org911ba32)
+ - [9:10 - 12:00 Morning talks](#orgb4dfc5b):morning:
+ - [12:00 - 13:00 Lunch](#org8518390)
+ - [13:00 - 16:30 Afternoon talks](#org1c356e2):afternoon:
+ - [16:30 - 17:00 Closing remarks](#org935b91b)
- [Code](#talk37)
- - [Planning](#org96f7d1a)
- - [Generate schedule file](#org61e27b7)
+ - [Planning](#org4a4216b)
+ - [Generate schedule file](#orgb0d6323)
-<a id="org016e00e"></a>
+<a id="org3b08519"></a>
# Actions
@@ -42,16 +42,15 @@ You can check out the Org Mode source for this page by following the [editing in
- [Generate schedule files](conf/generate-schedule-files)
To update the information included in the individual talk page,
-execute the buffer, update the talk's "Talk information" heading, and
-then generate schedule files.
+execute the buffer, update the talk's info/TALKID.md file.
-<a id="org8982ebb"></a>
+<a id="org6935e90"></a>
# Tables
-<a id="orgde5aa02"></a>
+<a id="org52370f5"></a>
## Overall
@@ -183,12 +182,12 @@ then generate schedule files.
</table>
-<a id="orgc3b5344"></a>
+<a id="org79bb67d"></a>
## By slot
-<a id="org48701c9"></a>
+<a id="orgbcf4427"></a>
### Saturday
@@ -438,7 +437,7 @@ then generate schedule files.
</table>
-<a id="org43b5b9d"></a>
+<a id="org2cd348d"></a>
### Sunday
@@ -643,7 +642,7 @@ then generate schedule files.
</table>
-<a id="org81120bb"></a>
+<a id="org5e7829c"></a>
## Table for all talks
@@ -967,22 +966,22 @@ then generate schedule files.
</table>
-<a id="org26f9900"></a>
+<a id="org1a9b6a6"></a>
# Talks
-<a id="orgdfa5043"></a>
+<a id="org4c74d5f"></a>
## NOVEMBER 28 (Saturday) :sat:
-<a id="org169cace"></a>
+<a id="orgc0f5be6"></a>
### 9:00 - 9:30 Opening remarks
-<a id="org5e1bbd8"></a>
+<a id="org95c98eb"></a>
### 9:30 - 12:00 User talks :morning:
@@ -1719,12 +1718,12 @@ then generate schedule files.
fair use.
-<a id="orgba504bf"></a>
+<a id="org25a0c47"></a>
### 12:00 - 13:00 Lunch
-<a id="org5b4c91f"></a>
+<a id="org4366225"></a>
### 13:00 - 16:30 Afternoon talks :afternoon:
@@ -2640,22 +2639,22 @@ then generate schedule files.
fair use.
-<a id="org27e414e"></a>
+<a id="orgaeceb8b"></a>
### 16:30 - 17:00 Closing remarks
-<a id="org16b4c62"></a>
+<a id="org7fe4148"></a>
## NOVEMBER 29 (Sunday) :sun:
-<a id="orgf7ed69d"></a>
+<a id="org911ba32"></a>
### 9:00 - 9:10 Opening remarks
-<a id="org4f8a763"></a>
+<a id="orgb4dfc5b"></a>
### 9:10 - 12:00 Morning talks :morning:
@@ -3067,12 +3066,12 @@ then generate schedule files.
TBD - plans for a NonGNU ELPA that will be easy to enable and contribute to without signing copyright assignment papers
-<a id="org55c7b6b"></a>
+<a id="org8518390"></a>
### 12:00 - 13:00 Lunch
-<a id="org13579bb"></a>
+<a id="org1c356e2"></a>
### 13:00 - 16:30 Afternoon talks :afternoon:
@@ -3836,7 +3835,7 @@ then generate schedule files.
fair use.
-<a id="org845d0bc"></a>
+<a id="org935b91b"></a>
### 16:30 - 17:00 Closing remarks
@@ -3904,7 +3903,7 @@ fair use.
# Code
-<a id="org96f7d1a"></a>
+<a id="org4a4216b"></a>
## Planning
@@ -4006,10 +4005,12 @@ Some conference-related functions
(lambda () (org-entry-get (point) "MIN_TIME")) nil 'tree))))))))
-<a id="org61e27b7"></a>
+<a id="orgb0d6323"></a>
## Generate schedule file
+ (defvar conf/timezones '("EST" "America/Los_Angeles" "UTC" "CET" "Asia/Singapore") "List of timezones")
+
(defun conf/get-talk-info ()
(let (talk results)
(org-map-entries (lambda ()
@@ -4072,8 +4073,24 @@ Some conference-related functions
(format "<tr><td width=100>%s</td><td width=100>%s</td><td>%s</td><td>%s</td></tr>"
start end (conf/format-talk-link o) speakers)))) (cdr info) "\n")))
+ (defun conf/filter-talks (info)
+ (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) info))
+
+ (defun conf/split-out-talk-information ()
+ (interactive)
+ (let ((talks (conf/filter-talks (conf/get-talk-info-from-file))))
+ (mapc (lambda (o)
+ (with-temp-buffer
+ (insert
+ (format "# %s\n%s\n\n%s"
+ (plist-get o :title)
+ (plist-get o :speakers)
+ (plist-get o :info)))
+ (write-file (expand-file-name (format "%s.md" (plist-get o :talk-id)) "info"))))
+ talks)))
+
(defun conf/format-talk-pages (info)
- (let* ((talks (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) info))
+ (let* ((talks (conf/filter-talks info))
(next-talks (cdr talks))
(prev-talks (cons nil talks)))
(mapc (lambda (o)
@@ -4087,35 +4104,35 @@ Some conference-related functions
(insert (format "[[%s title=\"%s\"]]
[[%s copyright=\"Copyright &copy; 2020 %s\"]]
+ <!-- To edit the talk information, change /2020/info/TALKID.md. Boilerplate automatically generated from submissions.org using conf/generate-schedule-files --->\n
+
%s
- # %s\n%s \n%s\n\n%s\n\n
+ [[!inline pages=\"internal(2020/info/%s)\" raw=\"yes\"]]
+
+ %s
%s
All times are approximate, and we might shuffle talks around as needed.
Please check <https://emacsconf.org/2020> a few days before the start of the
conference for instructions on how to watch and participate. See you then!
- <!-- automatically generated from submissions.org using conf/generate-schedule-files --->\n
"
"!meta"
(replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
"!meta"
(plist-get o :speakers)
nav-links
- (plist-get o :title)
- (concat (format-time-string "%A, %b %e %Y, " (org-timestamp-to-time (org-timestamp-split-range timestamp)))
- (mapconcat
- (lambda (tz)
- (format "%s - %s"
- (format-time-string "%l:%M %p"
- (org-timestamp-to-time (org-timestamp-split-range timestamp)) tz)
- (format-time-string "%l:%M %p %Z"
- (org-timestamp-to-time (org-timestamp-split-range timestamp t)) tz)))
- '("EST" "America/Los_Angeles" "UTC" "CET" "Asia/Singapore")
- " / "))
- (plist-get o :speakers)
- (plist-get o :info)
+ (plist-get o :talk-id)
+ (mapconcat
+ (lambda (tz)
+ (format "%s - %s"
+ (format-time-string "%A, %b %e %Y, %l:%M %p"
+ (org-timestamp-to-time (org-timestamp-split-range timestamp)) tz)
+ (format-time-string "%l:%M %p %Z"
+ (org-timestamp-to-time (org-timestamp-split-range timestamp t)) tz)))
+ conf/timezones
+ " \n")
nav-links)))
(write-file (format "schedule/%s.md" (plist-get o :talk-id)))))
talks)))
diff --git a/2020/submissions.org b/2020/submissions.org
index f6e87fdc..f16057a6 100644
--- a/2020/submissions.org
+++ b/2020/submissions.org
@@ -3209,34 +3209,35 @@ The total is written to the MIN_TIME_SUM property of this heading"
(insert (format "[[%s title=\"%s\"]]
[[%s copyright=\"Copyright &copy; 2020 %s\"]]
-%s
+<!-- To edit the talk information, change /2020/info/TALKID.md. Boilerplate automatically generated from submissions.org using conf/generate-schedule-files --->\n
+
%s
[[!inline pages=\"internal(2020/info/%s)\" raw=\"yes\"]]
%s
+%s
+
All times are approximate, and we might shuffle talks around as needed.
Please check <https://emacsconf.org/2020> a few days before the start of the
conference for instructions on how to watch and participate. See you then!
-<!-- To edit the talk information, change /2020/info/TALKID.md. Boilerplate automatically generated from submissions.org using conf/generate-schedule-files --->\n
"
"!meta"
(replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
"!meta"
(plist-get o :speakers)
nav-links
- (concat (format-time-string "%A, %b %e %Y, " (org-timestamp-to-time (org-timestamp-split-range timestamp)))
- (mapconcat
- (lambda (tz)
- (format "%s - %s"
- (format-time-string "%l:%M %p"
- (org-timestamp-to-time (org-timestamp-split-range timestamp)) tz)
- (format-time-string "%l:%M %p %Z"
- (org-timestamp-to-time (org-timestamp-split-range timestamp t)) tz)))
- conf/timezones
- " / "))
(plist-get o :talk-id)
+ (mapconcat
+ (lambda (tz)
+ (format "%s - %s"
+ (format-time-string "%A, %b %e %Y, %l:%M %p"
+ (org-timestamp-to-time (org-timestamp-split-range timestamp)) tz)
+ (format-time-string "%l:%M %p %Z"
+ (org-timestamp-to-time (org-timestamp-split-range timestamp t)) tz)))
+ conf/timezones
+ " \n")
nav-links)))
(write-file (format "schedule/%s.md" (plist-get o :talk-id)))))
talks)))