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: