summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2020/info/00.md3
-rw-r--r--2020/info/01.md10
-rw-r--r--2020/info/02.md3
-rw-r--r--2020/info/03.md4
-rw-r--r--2020/info/04.md1
-rw-r--r--2020/info/05.md4
-rw-r--r--2020/info/06.md1
-rw-r--r--2020/info/07.md1
-rw-r--r--2020/info/08.md1
-rw-r--r--2020/info/09.md4
-rw-r--r--2020/info/10.md1
-rw-r--r--2020/info/11.md1
-rw-r--r--2020/info/12.md1
-rw-r--r--2020/info/13.md1
-rw-r--r--2020/info/14.md1
-rw-r--r--2020/info/15.md1
-rw-r--r--2020/info/17.md1
-rw-r--r--2020/info/18.md1
-rw-r--r--2020/info/19.md1
-rw-r--r--2020/info/20.md1
-rw-r--r--2020/info/21.md1
-rw-r--r--2020/info/22.md1
-rw-r--r--2020/info/23.md4
-rw-r--r--2020/info/24.md1
-rw-r--r--2020/info/25.md1
-rw-r--r--2020/info/26.md4
-rw-r--r--2020/info/27.md1
-rw-r--r--2020/info/28.md1
-rw-r--r--2020/info/30.md4
-rw-r--r--2020/info/31.md4
-rw-r--r--2020/info/32.md1
-rw-r--r--2020/info/33.md4
-rw-r--r--2020/info/34.md1
-rw-r--r--2020/info/35.md4
-rw-r--r--2020/info/38.md1
-rw-r--r--2020/info/39.md4
-rw-r--r--2020/info/40.md6
-rw-r--r--2020/info/41.md4
-rw-r--r--2020/info/42.md3
-rw-r--r--templates/vid.md1
40 files changed, 19 insertions, 74 deletions
diff --git a/2020/info/00.md b/2020/info/00.md
index 2d8d3465..d5a124bb 100644
--- a/2020/info/00.md
+++ b/2020/info/00.md
@@ -1,8 +1,7 @@
# Opening remarks
Amin Bandali and Sacha Chua
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--00-opening-remarks.webm"]]
-[Download .webm video, 720p, 109MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--00-opening-remarks.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--00-opening-remarks.webm" duration="7:04" size="109MB"]]
- Hello and welcome to EmacsConf 2020!
- Thanks to:
diff --git a/2020/info/01.md b/2020/info/01.md
index a92e85e4..5951f737 100644
--- a/2020/info/01.md
+++ b/2020/info/01.md
@@ -1,15 +1,7 @@
# Emacs News Highlights
Sacha Chua
-<div class="vid">
- <video controls preload="metadata">
- <source src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--01-emacs-news-highlights--sacha-chua.webm"/>
- <p><em>Your browser does not support the video tag,
- please download the video instead.</em></p>
- <track label="English" kind="subtitles" srclang="en" src="/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt" default>
- </video>
-</div>
-[Download .webm video, 720p, 11MB with subtitles](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--01-emacs-news-highlights--sacha-chua.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--01-emacs-news-highlights--sacha-chua.webm" subtitles="/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt" duration="3:58" download="Downlad 720p with subtitles" size="11MB"]]
Quick highlights from Emacs News since the last EmacsConf
diff --git a/2020/info/02.md b/2020/info/02.md
index c2231049..1abc3634 100644
--- a/2020/info/02.md
+++ b/2020/info/02.md
@@ -1,8 +1,7 @@
# An Emacs Developer Story: From User to Package Maintainer
Leo Vivier
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.webm"]]
-[Download .webm video, 720p, 296MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.webm" size="296MB"]]
In light of the new development philosophy for Org-mode, I would like
to present my developer story from discovering Org-mode in 2014 to
diff --git a/2020/info/03.md b/2020/info/03.md
index 10ab69f8..ec861519 100644
--- a/2020/info/03.md
+++ b/2020/info/03.md
@@ -2,10 +2,8 @@
Bala Ramadurai
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--bala-ramadurai.webm"]]
-[Download .webm video, 720p, 28MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--bala-ramadurai.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.webm"]]
-[Download Q&A .webm video, 720p, 158MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.webm" download="Download Q&A .webm video, 720p"]]
You want to write a novel, but you don't know how to create an
outline. You have a seed idea for a novel, and you intend to expand
diff --git a/2020/info/04.md b/2020/info/04.md
index 6d350572..b7e553b2 100644
--- a/2020/info/04.md
+++ b/2020/info/04.md
@@ -2,7 +2,6 @@
Jonathan Gregory
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.webm"]]
-[Download .webm video, 720p, 18M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.webm)
LilyPond is an extensible program for producing high-quality sheet
music engraved with traditional layout rules. Similar to LaTeX and
diff --git a/2020/info/05.md b/2020/info/05.md
index 874a01be..80504962 100644
--- a/2020/info/05.md
+++ b/2020/info/05.md
@@ -2,10 +2,8 @@
Grant Shangreaux
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.webm"]]
-[Download .webm video, 720p, 574M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.webm"]]
-[Download Q&A .webm video, 720p, 184MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.webm" download="Download Q&A video, 720p"]]
I hoped to become a successful musician someday, and while that has
yet to happen, I've recorded a fair share of unreleased music over the
diff --git a/2020/info/06.md b/2020/info/06.md
index 1dd97067..bfc83a75 100644
--- a/2020/info/06.md
+++ b/2020/info/06.md
@@ -2,7 +2,6 @@
Corwin Brust
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.webm"]]
-[Download .webm video, 720p, 113MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.webm)
Techniques to help new users bootstrap a more gentle introduction to
Emacs, one (short) init.el file at a time.
diff --git a/2020/info/07.md b/2020/info/07.md
index 46d46063..226df77c 100644
--- a/2020/info/07.md
+++ b/2020/info/07.md
@@ -2,7 +2,6 @@
Sid Kasivajhula
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.webm"]]
-[Download .webm video, 720p, 161MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.webm)
A practiced dexterity with the arcane incantations known as keybindings is
the true mark of the veteran Emacs user. Yet, it takes years to get there,
diff --git a/2020/info/08.md b/2020/info/08.md
index 6fb9a08e..22b1e7e8 100644
--- a/2020/info/08.md
+++ b/2020/info/08.md
@@ -2,7 +2,6 @@
Andrew Tropin
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--08-building-reproducible-emacs--andrew-tropin.webm"]]
-[Download .webm video, 720p, 124MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--08-building-reproducible-emacs--andrew-tropin.webm)
It's not always easy to take part of someone's configuration and make
it work, it's almost never easy to move your configuration to fresh OS
diff --git a/2020/info/09.md b/2020/info/09.md
index a71b2bb5..73e71002 100644
--- a/2020/info/09.md
+++ b/2020/info/09.md
@@ -2,10 +2,8 @@
Rainer König
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--09-orgmode-your-life-in-plain-text--rainer-koenig.webm"]]
-[Download .webm video, 720p, 46M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--09-orgmode-your-life-in-plain-text--rainer-koenig.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--09-orgmode-your-life-in-plain-text--questions--rainer-konig.webm"]]
-[Download Q&A .webm video, 720p, 68MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--09-orgmode-your-life-in-plain-text--questions--rainer-konig.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--09-orgmode-your-life-in-plain-text--questions--rainer-konig.webm" download="Download Q&A video, 720p"]]
In this talk I'll give you a quick overview of my Orgmode GTD
system. We start with capturing a small project, scheduling
diff --git a/2020/info/10.md b/2020/info/10.md
index c9fd2a6d..240c0422 100644
--- a/2020/info/10.md
+++ b/2020/info/10.md
@@ -2,7 +2,6 @@
Andrea
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--10-lead-your-future-with-org--andrea.webm"]]
-[Download .webm video, 720p, 124M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--10-lead-your-future-with-org--andrea.webm)
The world is full of possibilities. A person life is rather short
though, and one can easily end up carry on without focus.
diff --git a/2020/info/11.md b/2020/info/11.md
index 34c954fc..ab7fac72 100644
--- a/2020/info/11.md
+++ b/2020/info/11.md
@@ -2,7 +2,6 @@
Aldric
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--21-the-org-gtd-package-opinions-about-getting-things-done--aldric.webm"]]
-[Download .webm video, 720p, 183MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--11-the-org-gtd-package-opinions-about-getting-things-done--aldric.webm)
Come see how org-gtd leverages org-mode to automate the GTD inbox
management. Stick around to see how the various org-mode tools get
diff --git a/2020/info/12.md b/2020/info/12.md
index 429330d8..c1ba2dd5 100644
--- a/2020/info/12.md
+++ b/2020/info/12.md
@@ -2,7 +2,6 @@
Leo Vivier
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.webm"]]
-[Download .webm video, 720p, 226MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.webm)
Many discussions have been had over the years on the debate between
using few big files versus many small files. However, more often than
diff --git a/2020/info/13.md b/2020/info/13.md
index 2af5e608..128bb3c0 100644
--- a/2020/info/13.md
+++ b/2020/info/13.md
@@ -2,7 +2,6 @@
Joseph Corneli, Raymond Puzio, and Cameron Ray Smith
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith.webm"]]
-[Download .webm video, 720p, 92MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith.webm)
We present a short experience report from the perspective of two
long-time Emacs users and one relative newcomer. Our motivations
diff --git a/2020/info/14.md b/2020/info/14.md
index 47962f43..159632be 100644
--- a/2020/info/14.md
+++ b/2020/info/14.md
@@ -2,7 +2,6 @@
Adam Ard
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--14-readme-driven-design--adam-ard.webm"]]
-[Download .webm video, 720p, 82MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--14-readme-driven-design--adam-ard.webm)
Many source code projects these days begin with a README file. While
most people use markdown, if you use org-mode, you can use literate
diff --git a/2020/info/15.md b/2020/info/15.md
index 5df5649b..d7eb7924 100644
--- a/2020/info/15.md
+++ b/2020/info/15.md
@@ -2,7 +2,6 @@
Adolfo Villafiorita
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita.webm"]]
-[Download Q&A .webm video, 720p, 113MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita.webm)
I have been a long time user of static site generators, such as
Jekyll.
diff --git a/2020/info/17.md b/2020/info/17.md
index df4cdf27..c45b04d2 100644
--- a/2020/info/17.md
+++ b/2020/info/17.md
@@ -2,7 +2,6 @@
Noorah Alhasan
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan.webm"]]
-[Download .webm video, 720p, 229MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan.webm)
Org-mode improved so much over the years, and the use-cases in org-mode are
vast and highly technical. There is something for everyone in org-mode, and
diff --git a/2020/info/18.md b/2020/info/18.md
index 3162d6f0..0a439d55 100644
--- a/2020/info/18.md
+++ b/2020/info/18.md
@@ -2,7 +2,6 @@
Leo Vivier
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier.webm"]]
-[Download .webm video, 720p, 307MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier.webm)
Org-roam is a Roam replica built on top of the all-powerful Org-mode.
diff --git a/2020/info/19.md b/2020/info/19.md
index e6dd15b6..c9f4282b 100644
--- a/2020/info/19.md
+++ b/2020/info/19.md
@@ -2,7 +2,6 @@
Brett Gilio
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio.webm"]]
-[Download .webm video, 720p, 63MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio.webm)
In this talk I will detail the ways in which static website generation
results may be enhanced using org-webring. This talk will cover not
diff --git a/2020/info/20.md b/2020/info/20.md
index 38e25268..3e12a19e 100644
--- a/2020/info/20.md
+++ b/2020/info/20.md
@@ -2,7 +2,6 @@
Corwin Brust
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--20-omg-macros--corwin-brust.webm"]]
-[Download .webm video, 720p, 199MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--20-omg-macros--corwin-brust.webm)
Macros are a powerful tool. In the context of Emacs Lisp programming
they can also provide us with a "foot-gun" of immense proportions.
diff --git a/2020/info/21.md b/2020/info/21.md
index 44f31dd3..8470a356 100644
--- a/2020/info/21.md
+++ b/2020/info/21.md
@@ -2,7 +2,6 @@
Eduardo Ochs
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs.webm"]]
-[Download .webm video, 720p, 112M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs.webm)
In the last months there were several hundreds of messages in
emacs-devel in threads with names like "A proposal for a friendlier
diff --git a/2020/info/22.md b/2020/info/22.md
index 6ce1a1a0..939d82e1 100644
--- a/2020/info/22.md
+++ b/2020/info/22.md
@@ -2,7 +2,6 @@
Musa Al-hassy
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy.webm"]]
-[Download .webm video, 720p, 258MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy.webm)
Users will generally only make use of a few predefined \`special
blocks', such as \`example, centre, quote', and will not bother with
diff --git a/2020/info/23.md b/2020/info/23.md
index d2ede631..d0fd6517 100644
--- a/2020/info/23.md
+++ b/2020/info/23.md
@@ -2,10 +2,8 @@
Tuấn-Anh Nguyễn
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm"]]
-[Download .webm video, 720p, 84M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm"]]
-[Download Q&A .webm video, 720p, 153MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm" download="Download Q&A video"]]
Tree-sitter is a parser generator and an incremental parsing library.
emacs-tree-sitter is its most popular Emacs binding, which aims to be
diff --git a/2020/info/24.md b/2020/info/24.md
index ba2eb06a..654cce09 100644
--- a/2020/info/24.md
+++ b/2020/info/24.md
@@ -2,7 +2,6 @@
Andrea
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--24-analyze-code-quality-through-emacs-a-smart-forensics-approach-and-the-story-of-a-hack--andrea.webm"]]
-[Download .webm video, 720p, 311M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--24-analyze-code-quality-through-emacs-a-smart-forensics-approach-and-the-story-of-a-hack--andrea.webm)
Emacs, show me how much technical debt and where it is in this
software repository!
diff --git a/2020/info/25.md b/2020/info/25.md
index 5c7cf27c..701ef929 100644
--- a/2020/info/25.md
+++ b/2020/info/25.md
@@ -2,7 +2,6 @@
Zen Monk Alain M. Lafon
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--25-traverse-complex-json-structures-with-live-feedback-counsel-jq--zen-monk-alain-m-lafon.webm"]]
-[Download .webm video, 720p, 136M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--25-traverse-complex-json-structures-with-live-feedback-counsel-jq--zen-monk-alain-m-lafon.webm)
If you are working with complex nested JSON structures, you are
probably familiar with jq which is like sed for JSON data and great at
diff --git a/2020/info/26.md b/2020/info/26.md
index 723525e0..1ee11422 100644
--- a/2020/info/26.md
+++ b/2020/info/26.md
@@ -2,10 +2,8 @@
Pierce Wang
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--pierce-wang.webm"]]
-[Download .webm video, 720p, 155M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--pierce-wang.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--questions--pierce-wang.webm"]]
-[Download Q&A .webm video, 720p, 107MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--questions--pierce-wang.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--questions--pierce-wang.webm" download="Download Q&A video"]]
Could Emacs be humanity's solution to the turbulent years of
adolescence? So much more than a text editor, Emacs changed the way I
diff --git a/2020/info/27.md b/2020/info/27.md
index e943b17a..c2d86b8b 100644
--- a/2020/info/27.md
+++ b/2020/info/27.md
@@ -2,7 +2,6 @@
Vasilij "wasamasa" Schneidermann
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann.webm"]]
-[Download .webm video, 720p, 12M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann.webm)
- [chip8 demo - alien, .webm video, 720p, 2M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8-demo-alien--vasilij-wasamasa-schneidermann.webm)
- [chip8 demo - brix, .webm video, 720p, 1M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8-demo-brix--vasilij-wasamasa-schneidermann.webm)
diff --git a/2020/info/28.md b/2020/info/28.md
index 10687165..c1c2e34f 100644
--- a/2020/info/28.md
+++ b/2020/info/28.md
@@ -2,7 +2,6 @@
Erik Elmshauser and Corwin Brust
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust.webm"]]
-[Download .webm video, 720p, 995MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust.webm)
Dungeon is an oral and physical media fantasy and abstract role-play
gaming tradition that seems to have grown from miniature and
diff --git a/2020/info/30.md b/2020/info/30.md
index 1d54ac13..fa80ffa3 100644
--- a/2020/info/30.md
+++ b/2020/info/30.md
@@ -2,10 +2,8 @@
Gabriele Bozzola (@sbozzolo)
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--30-a-tour-of-vterm--gabriele-bozzola-sbozzolo.webm"]]
-[Download .webm video, 720p, 19M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--30-a-tour-of-vterm--gabriele-bozzola-sbozzolo.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--30-a-tour-of-vterm--questions--gabriele-bozzola-sbozzolo.webm"]]
-[Download Q&A .webm video, 720p, 11MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--30-a-tour-of-vterm--questions--gabriele-bozzola-sbozzolo.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--30-a-tour-of-vterm--questions--gabriele-bozzola-sbozzolo.webm" download="Download Q&A video"]]
Vterm is a fast and fully capable terminal emulator in GNU Emacs built
as a dynamic module on top of libvterm. In this talk, I will give an
diff --git a/2020/info/31.md b/2020/info/31.md
index 7f2a6134..35dff789 100644
--- a/2020/info/31.md
+++ b/2020/info/31.md
@@ -2,10 +2,8 @@
Grant Shangreaux
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--grant-shangreaux.webm"]]
-[Download .webm video, 720p, 380M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--grant-shangreaux.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux.webm"]]
-[Download Q&A .webm video, 720p, 66MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux.webm" download="Download Q&A video"]]
<https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--31-lakota-language-and-emacs--grant-shangreaux.org>
diff --git a/2020/info/32.md b/2020/info/32.md
index cc63fa0b..29527551 100644
--- a/2020/info/32.md
+++ b/2020/info/32.md
@@ -2,7 +2,6 @@
Eric Abrahamsen
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen.webm"]]
-[Download .webm video, 720p, 285M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen.webm)
The venerable Gnus newsreader has evolved over the years to interface
with many different types of news- or mail-like backend programs,
diff --git a/2020/info/33.md b/2020/info/33.md
index 931fc408..e75f7539 100644
--- a/2020/info/33.md
+++ b/2020/info/33.md
@@ -2,10 +2,8 @@
Fermin MF
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.webm"]]
-[Download .webm video, 720p, 260MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--prerec--fermin.webm"]]
-[Download prerec .webm video, 720p, 58M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--prerec--fermin.webm)
+[Download prerecorded video](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--prerec--fermin.webm)
Maxima is a great tool for symbolic mathematics, it has some support
for Emacs in the main repository, but is quite outdated and doesn't
diff --git a/2020/info/34.md b/2020/info/34.md
index 5bcee9a9..5e424bc2 100644
--- a/2020/info/34.md
+++ b/2020/info/34.md
@@ -2,7 +2,6 @@
Matthew Zeng
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng.webm"]]
-[Download .webm video, 720p, 113M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng.webm)
Emacs Application Framework (EAF) is a customizable and extensible GUI
application framework that extends Emacs graphical capabilities using
diff --git a/2020/info/35.md b/2020/info/35.md
index 68b8dd08..d6cdd51b 100644
--- a/2020/info/35.md
+++ b/2020/info/35.md
@@ -2,10 +2,8 @@
Zachary Kanfer
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer.webm"]]
-[Download .webm video, 720p, 122M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer.webm"]]
-[Download Q&A .webm video, 720p, 89MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer.webm" download="Download Q&A video"]]
During quarantine, I found myself spending time with an Android app.
One of the features this app has is composing music that loops
diff --git a/2020/info/38.md b/2020/info/38.md
index c96dc222..55f5a043 100644
--- a/2020/info/38.md
+++ b/2020/info/38.md
@@ -2,7 +2,6 @@
John Wiegley
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--38-emacs-development-update--john-wiegley.webm"]]
-[Download .webm video, 720p, 75M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--38-emacs-development-update--john-wiegley.webm)
- Actual start and end time (EST): Start 2020-11-29T09.12.40; End: 2020-11-29T09.17.51
diff --git a/2020/info/39.md b/2020/info/39.md
index 97737ec7..93c4fc8a 100644
--- a/2020/info/39.md
+++ b/2020/info/39.md
@@ -2,10 +2,8 @@
Richard Stallman
[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--richard-stallman.webm"]]
-[Download .webm video, 720p, 282M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--richard-stallman.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.webm"]]
-[Download Q&A .webm video, 720p, 470MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.webm" download="Download Q&A video"]]
<!-- from the pad --->
- Actual start and end time (EST): Start: 2020-11-29T11.09.04 ; Q&A: 2020-11-29T11.15.59; End: 2020-11-29T12.04.31
diff --git a/2020/info/40.md b/2020/info/40.md
index 5bd361a2..2b6d1d7e 100644
--- a/2020/info/40.md
+++ b/2020/info/40.md
@@ -1,10 +1,8 @@
# Closing remarks (Saturday)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-1.webm"]]
-[Download part 1 .webm video, 720p, 21MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-1.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-1.webm" download="Download part 1"]]
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-2.webm"]]
-[Download part 2 .webm video, 720p, 202MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-2.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--40-closing-remarks-part-2.webm" download="Download part 2"]]
- Stats:
- 21 talks today, 16 tomorrow (30 last year)
diff --git a/2020/info/41.md b/2020/info/41.md
index c979a585..083e8ca0 100644
--- a/2020/info/41.md
+++ b/2020/info/41.md
@@ -1,7 +1,7 @@
# Opening remarks (Sunday)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--41-opening-remarks.webm"]]
-[Download .webm video, 720p, 207MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--41-opening-remarks.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--41-opening-remarks.webm"
+size="207MB"]]
- Hello and welcome again to EmacsConf 2020!
- Thanks to:
diff --git a/2020/info/42.md b/2020/info/42.md
index 1d250527..5d81e493 100644
--- a/2020/info/42.md
+++ b/2020/info/42.md
@@ -1,7 +1,6 @@
# Closing remarks (Sunday)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--42-closing-remarks.webm"]]
-[Download .webm video, 720p, 261MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--42-closing-remarks.webm)
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--42-closing-remarks.webm" size="261MB"]]
- Stats:
- 16 talks today, 37 total
diff --git a/templates/vid.md b/templates/vid.md
index 023731f8..4ba66462 100644
--- a/templates/vid.md
+++ b/templates/vid.md
@@ -8,3 +8,4 @@
</TMPL_IF>
</video>
</div>
+<a href="<TMPL_VAR src>"><TMPL_IF download><TMPL_SRC download><TMPL_ELSE>Download video</TMPL_IF><TMPL_IF duration>, <TMPL_VAR duration></TMPL_IF><TMPL_IF size>, <TMPL_VAR size></TMPL_IF></a>