summaryrefslogtreecommitdiffstats
path: root/2020/submissions.org
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-10-23 00:52:23 -0400
committerSacha Chua <sacha@sachachua.com>2020-10-23 00:57:35 -0400
commit1b389e01ce4db896a1882858131207845a890460 (patch)
tree5ec71eee2dc68e95d749ecfb9ac279a2a91e2717 /2020/submissions.org
parent6738dce6a99f3863b5257e08a1af997349eb134d (diff)
downloademacsconf-wiki-1b389e01ce4db896a1882858131207845a890460.tar.xz
emacsconf-wiki-1b389e01ce4db896a1882858131207845a890460.zip
Copyright and nav links
Diffstat (limited to '2020/submissions.org')
-rw-r--r--2020/submissions.org69
1 files changed, 48 insertions, 21 deletions
diff --git a/2020/submissions.org b/2020/submissions.org
index 5aa5a7e5..0aa8826e 100644
--- a/2020/submissions.org
+++ b/2020/submissions.org
@@ -2928,7 +2928,7 @@ SCHEDULED: <2020-11-29 Sun 16:30-17:00>
:CUSTOM_ID: talk37
:TALK_ID: 37
:END:
-
+** Planning
#+NAME: check_time
#+begin_src emacs-lisp :export code :eval no
(list (list "Difference" "Minimum time" "Target time")
@@ -3064,6 +3064,11 @@ The total is written to the MIN_TIME_SUM property of this heading"
(when talk (setq results (cons talk results)))
(reverse results)))
+(defun conf/format-talk-link (talk)
+ (and talk (format "<a href=\"/2020/schedule/%s\">%s</a>"
+ (plist-get talk :talk-id)
+ (plist-get talk :title))))
+
(defun conf/format-talk-info-as-schedule (info)
(format "<table width=\"100%%\">%s</table>"
(mapconcat
@@ -3077,27 +3082,47 @@ The total is written to the MIN_TIME_SUM property of this heading"
(if (eq (plist-get o :type) 'headline)
(format "<tr><td colspan=\"4\"><strong>%s<strong></td></tr>"
title)
- (format "<tr><td width=100>%s</td><td width=100>%s</td><td><a href=\"./%s\">%s</a></td><td>%s</td></tr>"
- start end (plist-get o :talk-id) title speakers)))) (cdr info) "\n")))
+ (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/format-talk-pages (info)
- (mapc (lambda (o)
- (with-temp-buffer
- (let ((timestamp (org-timestamp-from-string (plist-get o :scheduled))))
- (insert (format "# %s\n%s \n%s\n\n%s\n\n
-Back to the [[schedule]]
-
-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.
-<!-- automatically generated from submissions.org --->\n[[!meta title=\"%s\"]]"
- (plist-get o :title)
- (format "%s - %s"
- (format-time-string "%A, %b %e %Y, %l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp)))
- (format-time-string "%l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp t))))
- (plist-get o :speakers)
- (org-export-string-as (plist-get o :abstract) 'md t)
- (replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
- )))
- (write-file (format "schedule/%s.md" (plist-get o :talk-id)))))
- (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) info)))
+ (let* ((talks (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) info))
+ (next-talks (cdr talks))
+ (prev-talks (cons nil talks)))
+ (mapc (lambda (o)
+ (with-temp-buffer
+ (let* ((timestamp (org-timestamp-from-string (plist-get o :scheduled)))
+ (next-talk (conf/format-talk-link (pop next-talks)))
+ (prev-talk (conf/format-talk-link (pop prev-talks)))
+ (nav-links (format "Back to the [[schedule]] \n%s%s"
+ (if prev-talk (format "Previous: %s \n" prev-talk) "")
+ (if next-talk (format "Next: %s \n" next-talk) ""))))
+ (insert (format "[[!meta title=\"%s\"]]
+[[!meta copyright=\"Copyright &copy; 2020 %s\"]]
+
+%s
+
+# %s\n%s \n%s\n\n%s\n\n
+
+%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
+"
+ (replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
+ (plist-get o :speakers)
+ nav-links
+ (plist-get o :title)
+ (format "%s - %s"
+ (format-time-string "%A, %b %e %Y, %l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp)))
+ (format-time-string "%l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp t))))
+ (plist-get o :speakers)
+ (org-export-string-as (plist-get o :abstract) 'md t)
+ nav-links)))
+ (write-file (format "schedule/%s.md" (plist-get o :talk-id)))))
+ talks)))
(defun conf/generate-schedule-files ()
(interactive)
@@ -3116,6 +3141,8 @@ All times are approximate, and we might shuffle talks around as needed. Please c
(org-export-to-file 'md "schedule.md")))))
#+end_src
+#+RESULTS:
+
* COMMENT Possible rough flow suggested by Sacha
#+begin_src emacs-lisp :exports both