Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/SUBTITLES/emacsconf2021.lua.html
--   http://anggtwu.net/SUBTITLES/emacsconf2021.lua
--          (find-angg "SUBTITLES/emacsconf2021.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun l () (interactive) (find-angg "SUBTITLES/emacsconf2021.lua"))
-- (defun b () (interactive) (find-TH             "emacsconf2021"))
-- (defun R () (interactive) (ee-recompile-SUBTITLES-0))
-- (defun r () (interactive) (ee-recompile-SUBTITLES-3))
-- (defun r () (interactive) (ee-recompile-SUBTITLES-1))
--  (define-key eev-mode-map (kbd "M-r") 'r)
-- Skel: (find-editeevsubtitles-links-1 "eev2021")
--       (find-efunction 'find-editeevsubtitles-links-1)
-- Yttr: (find-yttranscript-links       "eev2021" "qM0Luz78qGw")
-- Info: (find-1stclassvideo-links      "eev2021")
-- Play: (find-eev2021video "0:00")
--
-- I use the code below to generate the subtitles in .vtt.
--

ee_dofile "~/LUA/Subtitles.lua" -- (find-angg "LUA/Subtitles.lua")

--[[
-- (find-angg "LUA/Subtitles.lua")

** Run the .lua and tell it to
** write the .vtt - by default in /tmp/
*
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "emacsconf2021.lua"
sts = Subtitles.fromsexps(subs_bigstr):addtime("6:04")
-- sts.lang = "pt-BR"
= sts
outfname = "$S/http/anggtwu.net/eev-videos/emacsconf2021.vtt"
outfname =                           "/tmp/emacsconf2021.vtt"
out = sts:vtt().."\n\n"
ee_writefile(outfname, out)
-- (find-fline                       "/tmp/emacsconf2021.vtt")

** Test the .vtt
** (find-eev2021video "0:00")

** Select /tmp/ or ee-eevvideosdir
** (find-eevvideosfile "")
** (find-eevvideosfile ""   "emacsconf2021.mp4")
** (find-eevvideossh0 "cp -v emacsconf2021.mp4 /tmp/")
** (code-video "eev2021video"                           "/tmp/emacsconf2021.mp4")
** (code-video "eev2021video" "$S/http/anggtwu.net/eev-videos/emacsconf2021.mp4")
** (find-eev2021video "0:00")

** Upload the emacsconf2021.vtt
** to http://anggtwu.net/eev-videos/
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
Scp-np emacsconf2021.vtt $TWUP/eev-videos/
Scp-np emacsconf2021.vtt $TWUS/eev-videos/

** Upload the subtitles to youtube
** http://www.youtube.com/watch?v=qM0Luz78qGw

** Check that the "psne subtitles" thing works
** (find-1stclassvideo-links "eev2021")

--]]


subs_bigstr = [==[
% (find-eev2021video "00:00" "Hi! My name is Eduardo Ochs. I'm the author of")
% (find-eev2021video "00:02" "an Emacs package called eev, and this talk is")
% (find-eev2021video "00:05" "about a new feature of eev called \"test")
% (find-eev2021video "00:07" "blocks\".")

% (find-eev2021video "00:08" "Let's start by a demo.")
% (find-eev2021video "00:10" "This is a file in Lua that defines these")
% (find-eev2021video "00:12" "two functions here,")
% (find-eev2021video "00:14" "and if we type f8 several times")
% (find-eev2021video "00:16" "here")
% (find-eev2021video "00:18" "the f8s create a Lua REPL - here - and")
% (find-eev2021video "00:20" "then they send these lines to the REPL,")
% (find-eev2021video "00:24" "where this line here loads this file")
% (find-eev2021video "00:27" "into the REPL, and these other lines - here -")
% (find-eev2021video "00:29" "are tests for these lines.")
% (find-eev2021video "00:33" "There's a lot of information here, so let")
% (find-eev2021video "00:35" "me organize them in a more visual way.")

% (find-eev2021video "00:40" "This is our file in Lua.")
% (find-eev2021video "00:42" "Lua sees this thing as a multi-line")
% (find-eev2021video "00:45" "comment, but we are going to see it as a")
% (find-eev2021video "00:47" "test block. And eev mode is active - so")
% (find-eev2021video "00:51" "f8 does the right thing.")
% (find-eev2021video "00:54" "These three lines here set up the")
% (find-eev2021video "00:57" "target buffer running a Lua REPL - you")
% (find-eev2021video "01:00" "can see the the prompt of the REPL here -")
% (find-eev2021video "01:03" "and these lines here are sent to the")
% (find-eev2021video "01:05" "REPL.")
% (find-eev2021video "01:07" "When we type f8 on a line that")
% (find-eev2021video "01:09" "starts")
% (find-eev2021video "01:10" "with a red star, like these lines here,")
% (find-eev2021video "01:13" "what f8 does is that it sends the")
% (find-eev2021video "01:15" "rest of the line - sorry, it")
% (find-eev2021video "01:18" "executes the rest of the line as Lisp.")
% (find-eev2021video "01:21" "So the three f8s here")
% (find-eev2021video "01:23" "executes these lines as Lisp, and they")
% (find-eev2021video "01:26" "set up the target buffer - here -")
% (find-eev2021video "01:29" "and when we type f8 on a line that")
% (find-eev2021video "01:31" "does not start with a red star")
% (find-eev2021video "01:34" "the f8 sends the line to the target")
% (find-eev2021video "01:36" "buffer and moves down.")
% (find-eev2021video "01:38" "This line loads this file in the")
% (find-eev2021video "01:41" "REPL, and these lines are tests.")

% (find-eev2021video "01:45" "So we just saw how to use an existing")
% (find-eev2021video "01:47" "test block; let's now see how to create a")
% (find-eev2021video "01:50" "new test block. We just have to run this:")
% (find-eev2021video "01:52" "M-x ee-insert-test-block -")
% (find-eev2021video "01:55" "or M-x eeit.")
% (find-eev2021video "01:58" "The result depends on the major mode.")
% (find-eev2021video "02:01" "Let's understand that")
% (find-eev2021video "02:03" "by looking at the source code.")
% (find-eev2021video "02:06" "`eeit' is an alias to this function here,")
% (find-eev2021video "02:08" "and this function is just five lines of")
% (find-eev2021video "02:10" "code plus a docstring...")
% (find-eev2021video "02:12" "and the docstring explains that if the")
% (find-eev2021video "02:14" "major mode is foo-mode then this")
% (find-eev2021video "02:16" "function tries to call")
% (find-eev2021video "02:18" "a function called `ee-insert-test-foo-mode'")
% (find-eev2021video "02:21" "if that function exists,")
% (find-eev2021video "02:24" "and that if that function does not exist")
% (find-eev2021video "02:27" "then it yields an error.")
% (find-eev2021video "02:29" "And here's an example of one such")
% (find-eev2021video "02:32" "function - that's a function that")
% (find-eev2021video "02:34" "inserts a test block in haskell-mode -")
% (find-eev2021video "02:37" "and here we can see two functions like")
% (find-eev2021video "02:40" "this: one for haskell-mode and one for")
% (find-eev2021video "02:42" "js-mode.")
% (find-eev2021video "02:46" "These functions look quite similar")
% (find-eev2021video "02:48" "but their effects look quite different.")
% (find-eev2021video "02:52" "To make this comparison here i started")
% (find-eev2021video "02:55" "by writing -")
% (find-eev2021video "02:57" "by creating seven files, each one in a")
% (find-eev2021video "02:59" "different language,")
% (find-eev2021video "03:01" "and initially each one of these files")
% (find-eev2021video "03:03" "only had a comment with the name of the")
% (find-eev2021video "03:04" "language... so: C, Haskell, Javascript,")
% (find-eev2021video "03:08" "Org Mode, etc -")
% (find-eev2021video "03:10" "and in each one of these files I typed")
% (find-eev2021video "03:13" "M-x eeit to insert a test block.")
% (find-eev2021video "03:16" "So here we can see that these test")
% (find-eev2021video "03:18" "blocks are different -")
% (find-eev2021video "03:20" "for example, the syntax for multi-line")
% (find-eev2021video "03:22" "comments is different depending on the")
% (find-eev2021video "03:24" "language -")
% (find-eev2021video "03:25" "this block here that selects which")
% (find-eev2021video "03:27" "REPL to run is also different, and")
% (find-eev2021video "03:30" "this line here that")
% (find-eev2021video "03:33" "tells the REPL to")
% (find-eev2021video "03:34" "load the current file is also different")
% (find-eev2021video "03:37" "depending on the language.")
% (find-eev2021video "03:39" "In some cases I had to improvise a bit -")
% (find-eev2021video "03:41" "for example,")
% (find-eev2021video "03:43" "to implement test blocks in shell mode")
% (find-eev2021video "03:46" "I had to use this -")
% (find-eev2021video "03:48" "this weird syntax using a here-document -")
% (find-eev2021video "03:52" "in Tcl I also had to improvise a bit, and")
% (find-eev2021video "03:55" "in some cases I had to improvise a lot.")
% (find-eev2021video "03:57" "For example in Org Mode there isn't an")
% (find-eev2021video "04:01" "obvious REPL to run, and there isn't an")
% (find-eev2021video "04:03" "obvious way to load the")
% (find-eev2021video "04:05" "the current Org file into the REPL, so")
% (find-eev2021video "04:08" "the default action of M-x eeit")
% (find-eev2021video "04:11" "in Org Mode is just to insert this thing")
% (find-eev2021video "04:14" "here, that we can use to run a")
% (find-eev2021video "04:17" "shell in a REPL.")

% (find-eev2021video "04:22" "So these functions are quite similar, and in")
% (find-eev2021video "04:25" "the beginning I was writing all of them")
% (find-eev2021video "04:27" "by hand... but then I got bored and I wrote")
% (find-eev2021video "04:29" "a function to help me write functions")
% (find-eev2021video "04:32" "like that.")
% (find-eev2021video "04:33" "This function is called")
% (find-eev2021video "04:35" "`find-eeit-links' and it creates a")
% (find-eev2021video "04:38" "temporary buffer...")
% (find-eev2021video "04:39" "and the contents of this temporary")
% (find-eev2021video "04:41" "buffer depends on the major mode - for")
% (find-eev2021video "04:43" "example if the current mode is python-mode")
% (find-eev2021video "04:45" "then running this function here")
% (find-eev2021video "04:48" "creates a temporary buffer that lets me")
% (find-eev2021video "04:51" "write the support for")
% (find-eev2021video "04:53" "test blocks in python-mode, or rewrite")
% (find-eev2021video "04:56" "the function that supports test blocks")
% (find-eev2021video "04:59" "in python-mode.")
% (find-eev2021video "05:00" "So if I'm in python-mode and I run this")
% (find-eev2021video "05:03" "I get a temporary buffer like this...")
% (find-eev2021video "05:06" "in which this thing is my template for")
% (find-eev2021video "05:08" "the function - usually this string is")
% (find-eev2021video "05:11" "totally wrong, I have to rewrite this")
% (find-eev2021video "05:13" "but the rest is right - you can see python-mode")
% (find-eev2021video "05:16" "here in the name of the function. So")
% (find-eev2021video "05:18" "we have to edit this and save that to")
% (find-eev2021video "05:21" "our ~/.emacs - and by the way these things")
% (find-eev2021video "05:25" "here are hyperlinks to many different")
% (find-eev2021video "05:28" "things... this elisp hyperlink here")
% (find-eev2021video "05:31" "points to the source code - to the section")
% (find-eev2021video "05:34" "in which these functions are defined -")
% (find-eev2021video "05:38" "so you can see this here the function")
% (find-eev2021video "05:40" "that supports C,")
% (find-eev2021video "05:41" "the function for Haskell, the function")
% (find-eev2021video "05:43" "for Javascript, etc...")
% (find-eev2021video "05:46" "and that's it! This is a five-minute talk")
% (find-eev2021video "05:49" "so I can't say much...")

% (find-eev2021video "05:50" "If you want more information, or if you")
% (find-eev2021video "05:52" "want to see real-world examples, how I")
% (find-eev2021video "05:55" "use test blocks, etc, etc, see this page")
% (find-eev2021video "05:58" "here... and I do not have time to explain")
% (find-eev2021video "06:00" "this "By the way" here.")
% (find-eev2021video "06:02" "So that's it! Thanks! =)")

]==]

unrevised_bigstr = [==[
(find-eev2021video "00:00" " ")
]==]

-- Local Variables:
-- coding:  utf-8-unix
-- End: