From 70bce881088df27dfe2912638ef1d43669011408 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 14 Oct 2022 19:56:29 -0400 Subject: Update pad template, generate watch pages --- emacsconf-pad.el | 82 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 31 deletions(-) (limited to 'emacsconf-pad.el') diff --git a/emacsconf-pad.el b/emacsconf-pad.el index 1c08721..bf82412 100644 --- a/emacsconf-pad.el +++ b/emacsconf-pad.el @@ -23,7 +23,8 @@ ;; Prepopulate the Etherpad (defcustom emacsconf-pad-base "http://pad.emacsconf.org/" - "Base URL for the Etherpad. Include trailing slash." + "Base URL for the Etherpad. Include trailing slash. +Use \"wikimedia\" to use etherpad.wikimedia.org instead." :group 'emacsconf :type 'string) @@ -122,50 +123,69 @@ You can find it in $ETHERPAD_PATH/APIKEY.txt" (concat emacsconf-pad-slug-base "-" (plist-get o :slug))) (defun emacsconf-pad-url (o) - (concat emacsconf-pad-base emacsconf-pad-directory (emacsconf-pad-id o))) + (if (string= emacsconf-pad-base "wikimedia") + (format "https://etherpad.wikimedia.org/p/emacsconf-%s-%s" + emacsconf-year + (plist-get o :slug)) + (concat emacsconf-pad-base emacsconf-pad-directory (emacsconf-pad-id o)))) (defvar emacsconf-pad-number-of-next-talks 3 "Integer limiting the number of next talks to link to from the pad.") (defun emacsconf-pad-initial-content (o) (emacsconf-replace-plist-in-string - (append (list :base-url emacsconf-base-url - :channel (concat "emacsconf-" (downcase (plist-get o :track))) - :bbb-info - (if (plist-get o :bbb-room) - (concat "
Q&A room: ${bbb-room}
") - "") - :next-talk-list - (if (plist-get o :next-talks) - (concat "
Next talks:\n
") - "") - :irc-nick-details - (if (plist-get o :irc) - (concat "Speaker nick: " (plist-get o :irc) " - ") - "") - :irc-url (concat "https://chat.emacsconf.org/#/connect?join=emacsconf-" (downcase (plist-get o :track)))) - o) - "
+ (append (list :base-url emacsconf-base-url + :channel (concat "emacsconf-" (plist-get (emacsconf-get-track (plist-get o :track)) :id)) + :bbb-info + (if (plist-get o :bbb-room) + (concat "
Q&A room: ${bbb-room}
") + "") + :next-talk-list + (if (plist-get o :next-talks) + (concat "
Next talks:\n
    " + (mapconcat + (lambda (o) + (format "
  • %s: %s %s
  • " + (plist-get o :track) + (plist-get o :title) + (emacsconf-pad-url o))) + (plist-get o :next-talks) + "\n") + "
") + "") + :track-id + (plist-get (emacsconf-get-track (plist-get o :track)) :id) + :watch + (concat emacsconf-base-url emacsconf-year "/watch/" (plist-get (emacsconf-get-track (plist-get o :track)) :id) "/") + :talks + (concat emacsconf-base-url emacsconf-year "/talks/") + :notes + (string-join (make-list 6 "
  • ")) + :questions + (string-join (make-list 6 "
  • Q:
    • A:
  • ")) + :irc-nick-details + (if (plist-get o :irc) + (concat "Speaker nick: " (plist-get o :irc) " - ") + "") + :irc-url (concat "" )) + o) + "
    +
    All talks: ${talks}
    ${title}
    ${base-url}${url} - ${speakers} - Track: ${track}
    ${bbb-info} -
    IRC: ${irc-nick-details}${irc-url} or #${channel} on libera.chat network
    -
    How to watch/participate: ${base-url}${year}
    +
    Watch/participate: ${watch}
    +
    IRC: ${irc-nick-details} https://chat.emacsconf.org/#/connect?join=emacsconf-${track-id} or #emacsconf-${track-id} on libera.chat network
    Guidelines for conduct: ${base-url}conduct
    See end of file for license (CC Attribution-ShareAlike 4.0 + GPLv3 or later)
    ----------------------------------------------------------------
    +
    Notes and links:
    +
      ${notes}
    +
    ----------------------------------------------------------------
    Questions and discussion go here:
    -
    • Q1.
    • Q2.
    • Q3.
    • Q4.
    • Q5.
    • Q6.
    +
      ${questions}
    ----------------------------------------------------------------
    ${next-talk-list} +
    ----------------------------------------------------------------
    This pad will be archived at ${base-url}${url} after the conference.
    Except where otherwise noted, the material on the EmacsConf pad are dual-licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License; and the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) an later version. Copies of these two licenses are included in the EmacsConf wiki repository, in the COPYING.GPL and COPYING.CC-BY-SA files (https://emacsconf.org/COPYING/)
    -- cgit v1.2.3