[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev 81c4615: Rewrote (find-eev-exercises-intro).
From: |
ELPA Syncer |
Subject: |
[elpa] externals/eev 81c4615: Rewrote (find-eev-exercises-intro). |
Date: |
Wed, 1 Dec 2021 01:57:15 -0500 (EST) |
branch: externals/eev
commit 81c4615a6b12dff0ede29d38f2f2df86214ac2f3
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>
Rewrote (find-eev-exercises-intro).
---
ChangeLog | 21 ++++
VERSION | 4 +-
eev-elinks.el | 7 +-
eev-intro.el | 293 +++++++++++++++++++++++++++++++++++++++++++++---------
eev-tlinks.el | 62 +++++++-----
eev-videolinks.el | 52 ++++++++--
eev.el | 2 +-
7 files changed, 360 insertions(+), 81 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 125b053..63e6bee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2021-12-01 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-intro.el (find-eev-exercises-intro): rewritten.
+
+2021-11-28 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-elinks.el (ee-1stclassvideo-around-point-ask): new function.
+
+ * eev-tlinks.el (find-1stclassvideo-links): use
+ `ee-1stclassvideo-around-point-ask'.
+
+ * eev-videolinks.el (ee-1stclassvideos-mp4stem)
+ (ee-1stclassvideos-hash): new functions.
+
+2021-11-27 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-videolinks.el (ee-1stclassvideos-field): new function.
+
+ * eev-tlinks.el (find-1stclassvideo-links): use
+ `ee-1stclassvideos-field'.
+
2021-11-26 Eduardo Ochs <eduardoochs@gmail.com>
* eev-tlinks.el (ee-youtubedl-command): added another suggestion
diff --git a/VERSION b/VERSION
index 6fb6b05..fc366eb 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Sat Nov 27 07:44:42 GMT 2021
-Sat Nov 27 04:44:42 -03 2021
+Wed Dec 1 06:27:08 GMT 2021
+Wed Dec 1 03:27:08 -03 2021
diff --git a/eev-elinks.el b/eev-elinks.el
index 848d066..f1080d7 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20211104
+;; Version: 20211128
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-elinks.el>
@@ -149,6 +149,11 @@ This function is not very smart - it doesn't understand
section names."
(read-string (or prompt "Manpage: ")
(ee-manpagename-around-point)))
+(defun ee-1stclassvideo-around-point-ask (&optional prompt)
+"Ask for the name of a first-class video; the default is a string around
point."
+ (let ((str (read-string (or prompt "Stem (\"c\") of the video: ")
+ (ee-stuff-around-point "A-Za-z0-9"))))
+ (replace-regexp-in-string "video$" "" str)))
diff --git a/eev-intro.el b/eev-intro.el
index dc60b45..2f173c4 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20211125
+;; Version: 20211130
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -10737,6 +10737,12 @@ at one example in details. Try:
All these sexps \"work\" - they point to meaningful places.
+The data about these first-class videos is kept in the variable
+`ee-1stclassvideos-info', that is defined here:
+
+ (find-eev \"eev-videolinks.el\" \"ee-1stclassvideos-info\")
+
+
10. Second-class videos
@@ -12517,6 +12523,13 @@ because when it was created it pointed to the commit
with message
\\ /
A
+Here's a video showing the script above in action:
+
+ http://angg.twu.net/eev-videos/2020-doubt-about-merging.mp4
+ (code-eevvideo \"merg\" \"2020-doubt-about-merging\")
+ (find-mergvideo \"0:00\")
+ (find-mergvideo \"0:20\")
+
NEXT STEPS: explain how to use git merge both from the command
line and from magit; explain HEAD, master, and tags. Point to man
pages in man and text format and to sections in Scott Chacon's
@@ -13298,55 +13311,251 @@ It is meant as both a tutorial and a sandbox.
-
-0. Introduction
-===============
-This is a set of exercises that I am preparing for this series of
-workshops:
+This is a set of exercises that I am preparing for this workshop:
http://angg.twu.net/2021-workshop.html
- http://angg.twu.net/2021-oficina.html
-At this moment - 2021nov14 - they are in a very draftish stage
-and they haven't yet been tested by people who are learning eev.
+THIS IS A WORK AND PROGRESS AND CURRENTLY A MESS.
-I will suppose that the people trying to do these exercises know
-the material in these sections of the two most basic tutorials,
- (find-eev-quick-intro)
- (find-eev-quick-intro \"1. Installing eev\")
- (find-eev-quick-intro \"2. Evaluating Lisp\")
- (find-eev-quick-intro \"3. Elisp hyperlinks\")
- (find-eev-quick-intro \"4. Creating Elisp Hyperlinks\")
- (find-eev-quick-intro \"4.1. `find-here-links'\")
- (find-eev-quick-intro \"4.2. `find-ekey-links' and friends\")
- (find-eev-quick-intro \"5. Links to Emacs documentation\")
- (find-eev-quick-intro \"5.1. Navigating the Emacs manuals\")
- (find-eev-quick-intro \"5.2. Cutting and pasting\")
- (find-windows-beginner-intro)
- (find-windows-beginner-intro \"1. Download and install Emacs\")
- (find-windows-beginner-intro \"2. Key sequences and how to quit\")
- (find-windows-beginner-intro \"3. Using M-x and installing eev\")
- (find-windows-beginner-intro \"4. Understanding buffers and the mode line\")
-and that they have seen the \"installation and navigation\" video,
-especially this part of it,
+0. Prerequisites
+================
+I will suppose:
+
+ a. that the people doing the workshop will have Emacs 27 or
+ 28 (pretest) installed,
+
+ b. that they have watched the \"installation and navigation\"
+ video and tried everything on it, especially this part:
+
+ (find-eevnavvideo \"6:28\" \"M-j: you can forget practically
everything...\")
+ (find-eevnavvideo \"6:41\" \"if you type just M-j\")
+ (find-eevnavvideo \"6:48\" \"has a header that is beginner-friendly\")
+
+ The beginner-friendly header generated by `M-j' has changed
+ since I recorded that video, and now it shows these three
+ ways of opening the file where we will put our notes instead
+ of showing just the first one:
+
+ M-1 M-j runs: (find-fline \"~/TODO\")
+ M-2 M-1 M-j shows the file ~/TODO in the right window
+ M-3 M-1 M-j opens ~/TODO in the right window
+
+ I will suppose that people have tried `M-21j' and `M-31j'
+ and understood what they do.
+
+ c. I will also suppose that everyone is running Emacs \"in a
+ way in which the standard keys should work\". For example,
+ Doom Emacs redefines many keys, including M-1, M-2, etc,
+ that we will use a lot, so Doom Emacs is \"bad\". I think
+ that the modes that make Emacs use vi-like keybindings will
+ also interfere with keys that we will use, so they're
+ \"bad\" too. Besides that some window managers capture keys
+ combinations like Alt-Shift-<letter>, so if you use a window
+ manager like that please install another one that captures
+ few keys and learn how switch between your favorite
+ (\"bad\") WM and the one that you will use in the workshop.
+ Also, one person that attended another workshop that I gave
+ was trying to use Emacs in a terminal on a Raspberry Pi 0...
+ she said that many things didn't work but gave few details,
+ so I'll considered that _for the purposes of this workshop_
+ terminal Emacs is \"bad\" and GUI Emacs is \"good\".
+
+ d. In some parts of the workshop I will suppose that people can
+ switch between an Emacs window and a browser window; in
+ particular, I will suppose that they can follow links to
+ videos, and for beginners this is much easier to do on a
+ browser. For example, you can \"follow\" the link
+
+ (find-eev2020video \"2:53\" \"pos-spec-lists\")
+
+ using a browser by opening the HTMLized version of this
+ intro using this URL,
+
+ http://angg.twu.net/eev-intros/find-eev-exercises-intro.html
+
+ locating the link to the video there, and clicking on the
+ link in its timestamp.
+
+ e. I will _sort of_ suppose that the people on the workshop
+ have read these sections of two basic tutorials and
+ have tried to do the exercises in them:
+
+ (find-eev-quick-intro)
+ (find-eev-quick-intro \"1. Installing eev\")
+ (find-eev-quick-intro \"2. Evaluating Lisp\")
+ (find-eev-quick-intro \"3. Elisp hyperlinks\")
+ (find-eev-quick-intro \"4. Creating Elisp Hyperlinks\")
+ (find-eev-quick-intro \"4.1. `find-here-links'\")
+ (find-eev-quick-intro \"4.2. `find-ekey-links' and friends\")
+ (find-eev-quick-intro \"5. Links to Emacs documentation\")
+ (find-eev-quick-intro \"5.1. Navigating the Emacs manuals\")
+ (find-eev-quick-intro \"5.2. Cutting and pasting\")
+ (find-windows-beginner-intro)
+ (find-windows-beginner-intro \"1. Download and install Emacs\")
+ (find-windows-beginner-intro \"2. Key sequences and how to quit\")
+ (find-windows-beginner-intro \"3. Using M-x and installing eev\")
+ (find-windows-beginner-intro \"4. Understanding buffers and the mode
line\")
+ (find-refining-intro)
+ (find-refining-intro \"1. Pos-spec-lists\")
+
+
+..and just that. The previous workshop that I gave required
+installing external programs, but this one will not be like that.
+For more info on that previous workshop, see:
+
+ http://angg.twu.net/2021-workshop.html#november
+
+
+
+
+1. The base cases
+=================
+
+1.1. The base case 1
+--------------------
+We are going to start by something that we will refer to as the
+\"base case 1\", and we will treat the other cases as variations
+of the base case 1. Here it is:
+
+ You realize that this buffer is interesting and you want to
+ save a link to it to your notes. Let's refer to this buffer as
+ the \"target buffer\", as the link will point to it. You run
+ this,
+
+ (eek \"M-h M-3 ;; find-here-links-3\")
+
+ and you get a 3-window configuration like this one:
+
+ _______________ _____________________ ________________
+ | | | | | | |
+ | | | | elinks | | |
+ | | | | buffer | | |
+ | target | M-h M-3 | target |__________| M-h M-1 | target |
+ | buffer | ------> | buffer | | ------> | buffer |
+ | | | | notes | | |
+ | | | | buffer | | |
+ |_______________| |__________|__________| |________________|
+
+ you select the line of the \"elinks buffer\" that contains an
+ elisp hyperlink that points to the \"target buffer\", you copy
+ that line your \"notes buffer\" - that contains the file ~/TODO
+ - and you run this
+
+ (eek \"M-h M-1 ;; find-here-links-1\")
+
+ to go back to the original window configuration in which only
+ the target buffer was being shown.
+
+What you did can be summarized as:
+
+ create (the elisp hyperlinks buffer)
+ select (the correct elisp hyperlink)
+ copy (it to the notes buffer)
+ go back (to the previous window configuration)
+
+or:
+
+ create / select / copy / go back
+
+
+
+
+1.2. The base case 2
+--------------------
+The \"base case 2\" is similar to the base case 1, but in the
+base case 2 we will create a link with a pos-spec-list containing
+the name of this section. Pos-spec-lists are explained here:
+
+ (find-eev2020video \"2:53\" \"pos-spec-lists\")
+
+The sequence of steps in the base case 2 will include two new
+steps:
+
+ save (the name of this section to the kill ring) <- new!
+ create (the elisp hyperlinks buffer)
+ select (the correct elisp hyperlink)
+ refine (add the name of the section to the pos-spec-list) <- new!
+ copy (it to the notes buffer)
+ go back (to the previous window configuration)
+
+so:
+
+ save / create / select / refine / copy / go back
+
+instead of:
+
+ create / select / copy / go back
+
+The diagram will be this one,
+
+ _______________ _____________________ ________________
+ | | | | | | |
+ | | | | elinks | | |
+ | | | | buffer | | |
+ | | | | M-hy :: | | |
+ | target | M-h M-3 | target |______::__| M-h M-1 | target |
+ | buffer | ------> | buffer | \\/ | ------> | buffer |
+ | | | | | | buffer |
+ | | | | notes | | |
+ | | | | buffer | | |
+ |_______________| |__________|__________| |________________|
+
+The dotted arrow indicates a copy and paste from the elinks
+buffer to the notes buffer, and the `M-hy' at the left of the
+dotted arrow indicated the we will have to type `M-hy' - that is
+an abbreviation for `M-h M-y' at some point; the placement of the
+`M-hy' suggests that it is typed before the cut and paste.
+
+ (find-refining-intro \"2. Refining hyperlinks\")
+ (find-refining-intro \"2. Refining hyperlinks\" \"M-h M-y\")
+
- (find-eevnavvideo \"6:28\" \"M-j: you can forget practically everything...\")
- (find-eevnavvideo \"6:41\" \"if you type just M-j\")
- (find-eevnavvideo \"6:48\" \"has a header that is beginner-friendly\")
-_and_ that they have tried and understood the lines that I've
-added to `M-j' after making that video - these ones:
- M-1 M-j runs: (find-fline \"~/TODO\")
- M-2 M-1 M-j shows the file ~/TODO in the right window
- M-3 M-1 M-j opens ~/TODO in the right window
-Most of the exercises in this \"intro\" will be about creating
-hyperlinks and saving them to your notes - i.e., to your ~/TODO.
+ (find-here-links-intro \"4. `find-here-links-3'\")
+ (find-here-links-intro \"5. `find-here-links-1'\")
+ (find-here-links-intro \"5. `find-here-links-1'\" \"eevfherel\")
+
+
+2.1. Variants of `save'
+-----------------------
+
+2.2. Variants of `create'
+-------------------------
+
+ (eek \"M-h M-k M-j ;; eejump\")
+ M-2 M-j runs: (find-emacs-keys-intro)
+ M-5 M-j runs: (find-eev-quick-intro)
+ (eek \"M-h M-k M-h M-k ;; find-ekey-links\")
+ (eek \"M-h M-k M-h M-f ;; find-efunction-links\")
+ (eek \"M-h M-k M-h M-h ;; find-here-links\")
+ (eek \"M-h M-k M-h M-3 ;; find-here-links-3\")
+
+
+2.3. How to learn to `select'
+-----------------------------
+
+2.4. Variants of `refine'
+-------------------------
+ (find-refining-intro \"2. Refining hyperlinks\")
+ (find-refining-intro \"2. Refining hyperlinks\" \"M-h M-y\")
+ (find-anchors-intro \"2. Shrinking\")
+ (find-anchors-intro \"2. Shrinking\" \"`M-h M--'\")
+
+2.5. Variants of `copy'
+-----------------------
+ (find-here-links-intro \"6. Copying the hyperlink\" \"M-h M-w\")
+
+2.6. Variants of `go back'
+--------------------------
+ (eek \"M-h M-k M-h M-1 ;; find-here-links-1\")
+ (find-eval-intro \"5. Going back\" \"`M-K' instead of `M-k'\")
+
1. Saving interesting links
===========================
@@ -13360,14 +13569,6 @@ easier to learn that if we split it into these tasks:
d. undestand what each link does (with M-h M-f)
e. recognize which links are interesting
- [TODO: translate and expand:]
-
- 4. ir pro tutorial sobre o M-h M-3
- 5. copiar um dos links pro vídeo
- 6. ir pro código fonte
- 7. copiar o link pro código fonte
-
-
2. Some abbreviations
=====================
diff --git a/eev-tlinks.el b/eev-tlinks.el
index a0fc985..c46716f 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20211126
+;; Version: 20211201
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el>
@@ -2698,47 +2698,61 @@ This function is used by `ee-0x0-upload-region'."
;; «find-1stclassvideo-links» (to ".find-1stclassvideo-links")
-;; Skel: (find-find-links-links-new "eevvideo-1stclass" "c" "")
+;; Skel: (find-find-links-links-new "1stclassvideo" "c" "")
+;; Skel: (find-find-links-links-new "1stclassvideo" "c" "title mp4 yp page
lang")
;; See: (find-eev "eev-videolinks.el" "first-class-videos")
;; (find-eev "eev-videolinks.el" "second-class-videos")
;; Tests: (find-1stclassvideo-links "eev2019")
;; (find-1stclassvideo-links "eev2020")
;;
(defun find-1stclassvideo-links (&optional c &rest pos-spec-list)
-"Visit a temporary buffer containing hyperlinks for a first-class video."
- (interactive)
+ "Visit a temporary buffer containing hyperlinks for eevvideo-1stclass."
+ (interactive (list (ee-1stclassvideo-around-point-ask)))
(setq c (or c "{c}"))
- (apply
- 'find-elinks-elisp
- `((find-1stclassvideo-links ,c ,@pos-spec-list)
- ;; Convention: the first sexp always regenerates the buffer.
- (find-efunction 'find-1stclassvideo-links)
- ""
- ,(ee-template0 "\
+ (let* ((title (ee-1stclassvideos-field c :title))
+ (mp4 (ee-1stclassvideos-field c :mp4))
+ (yt (ee-1stclassvideos-field c :yt))
+ (page (ee-1stclassvideos-field c :page))
+ (lang (ee-1stclassvideos-field c :lang))
+ (mp4stem (ee-1stclassvideos-mp4stem c))
+ (hash (ee-1stclassvideos-hash c)))
+ (apply
+ 'find-elinks
+ `((find-1stclassvideo-links ,c ,@pos-spec-list)
+ ;; Convention: the first sexp always regenerates the buffer.
+ (find-efunction 'find-1stclassvideo-links)
+ ""
+ ,(ee-template0 "\
+;; Title: {title}
+;; MP4: {mp4}
+;; YT: {yt}
+;; Page: {page}
+;; Info: (find-eev \"eev-videolinks.el\" \"{c}\")
+;; (find-1stclassvideo-links \"{c}\")
+;;
+;; Index: http://angg.twu.net/.emacs.videos.html#{c}
+;; (find-angg \".emacs.videos\" \"{c}\")
+
+;; See:
+;; (find-eev \"eev-videolinks.el\" \"first-class-videos\")
+;; (find-eev \"eev-videolinks.el\" \"second-class-videos\")
+
;; Definition of the function:
;; (find-eev \"eev-videolinks.el\" \"first-class-videos\")
;; (find-eev \"eev-videolinks.el\" \"find-{c}video\")
-;; (find-efunction 'find-{c}video)
+;; (find-efunction 'find-{c}video)
;; Play:
;; (find-{c}video \"0:00\")
-;; Index with time marks:
-;; (find-angg \".emacs.videos\" \"{c}\")
-;; http://angg.twu.net/.emacs.videos.html#{c}
-
-;; Places with more info about this video:
-;; (find-eev \"eev-videolinks.el\" \"{c}\")
+;; Other places with info about this video:
;; (find-angg \".emacs.templates\" \"eev-videos-data\" \"{c}\")
;; http://angg.twu.net/.emacs.templates.html#eev-videos-data
;; (find-videos-intro \"1. Some videos\" \"{c}\")
-
-;; See:
-;; (find-eev \"eev-videolinks.el\" \"first-class-videos\")
-;; (find-eev \"eev-videolinks.el\" \"second-class-videos\")
")
- )
- pos-spec-list))
+ )
+ pos-spec-list)))
+
diff --git a/eev-videolinks.el b/eev-videolinks.el
index 8f02c61..a8e2356 100644
--- a/eev-videolinks.el
+++ b/eev-videolinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20211109
+;; Version: 20211127
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-videolinks.el>
@@ -48,16 +48,18 @@
;; «.find-eevtestblsvideo» (to "find-eevtestblsvideo")
;; «.find-eevvlinksvideo» (to "find-eevvlinksvideo")
;; «.more-info» (to "more-info")
+;; «.ee-1stclassvideos-info» (to "ee-1stclassvideos-info")
;; «.eev2019» (to "eev2019")
;; «.eev2020» (to "eev2020")
;; «.eev2021» (to "eev2021")
;; «.eevnav» (to "eevnav")
;; «.eevtempl» (to "eevtempl")
-;; «.fherel» (to "fherel")
+;; «.eevfherel» (to "eevfherel")
;; «.eevtestbls» (to "eevtestbls")
;; «.eevvlinks» (to "eevvlinks")
;; «.oficina2021a» (to "oficina2021a")
;; «.oficina2021b» (to "oficina2021b")
+;; «.ee-1stclassvideos-field» (to "ee-1stclassvideos-field")
;; «.second-class-videos» (to "second-class-videos")
;; «.code-eevvideo» (to "code-eevvideo")
@@ -411,6 +413,7 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
;;; |_| |_|\___/|_| \___| |_|_| |_|_| \___/
;;;
;; «more-info» (to ".more-info")
+;; «ee-1stclassvideos-info» (to ".ee-1stclassvideos-info")
;; More info on the first-class videos, in a format that is easy to
;; access from Lisp. I am just starting to play with this, and the
;; functions that transform the data in this variable into other
@@ -436,7 +439,14 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
("eev2021"
:title "Test blocks"
:mp4 "http://angg.twu.net/eev-videos/emacsconf2021.mp4"
- ;; :yt "(Not yet)"
+ :yt "http://www.youtube.com/watch?v=qM0Luz78qGw"
+ :page "http://angg.twu.net/emacsconf2021.html")
+ ;;
+ ;; «eev2021b» (to ".eev2021b")
+ ("eev2021b"
+ :title "Test blocks in Dednat6"
+ :mp4 "http://angg.twu.net/eev-videos/emacsconf2021-dednat6.mp4"
+ :yt "http://www.youtube.com/watch?v=QUMo7vgkHJI"
:page "http://angg.twu.net/emacsconf2021.html")
;;
;; «eevnav» (to ".eevnav")
@@ -453,8 +463,8 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
:yt "http://www.youtube.com/watch?v=91-9YfRPsuk"
:page "http://angg.twu.net/2020-some-template-based.html")
;;
- ;; «fherel» (to ".fherel")
- ("fherel"
+ ;; «eevfherel» (to ".eevfherel")
+ ("eevfherel"
:title "How to create hyperlinks to \"here\" with `find-here-links'"
:mp4 "http://angg.twu.net/eev-videos/2020-find-here-links.mp4"
:yt "http://www.youtube.com/watch?v=8jtiBlaDor4"
@@ -462,7 +472,7 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
;;
;; «eevtestbls» (to ".eevtestbls")
("eevtestbls"
- :title "Using test blocks in eev"
+ :title "Using test blocks in eev (jan/2021)"
:mp4 "http://angg.twu.net/eev-videos/2021-test-blocks.mp4"
:yt "http://www.youtube.com/watch?v=fpsF_M55W4o"
:page "http://angg.twu.net/2021-test-blocks.html")
@@ -487,7 +497,7 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
:lang "portuguese")
;;
;; «oficina2021b» (to ".oficina2021b")
- (oficina2021b
+ ("oficina2021b"
:title "Exercícios de criar e guardar links (1)"
:mp4 "http://angg.twu.net/eev-videos/2021-oficina-2.mp4"
:yt "https://www.youtube.com/watch?v=XbuDnkfizYs"
@@ -497,6 +507,34 @@ and: (find-video-links-intro \"7. `find-eev-video'\")
))
+;; «ee-1stclassvideos-field» (to ".ee-1stclassvideos-field")
+;;
+;; (find-eppp ee-1stclassvideos-info)
+;; (assoc "eev2021" ee-1stclassvideos-info)
+;; (cdr (assoc "eev2021" ee-1stclassvideos-info))
+;; (plist-get (cdr (assoc "eev2021" ee-1stclassvideos-info)) :page)
+;; (plist-get (cdr (assoc "foo" ee-1stclassvideos-info)) :page)
+;; (ee-1stclassvideos-field "eev2021" :page)
+;; (ee-1stclassvideos-field "eev2021" :mp4)
+;; (ee-1stclassvideos-field "eev2021" :yt)
+;; (ee-1stclassvideos-mp4stem "eev2021")
+;; (ee-1stclassvideos-hash "eev2021")
+;; (find-eev "eev-videolinks.el" "more-info")
+;;
+(defun ee-1stclassvideos-field (c &optional field)
+ (plist-get (cdr (assoc c ee-1stclassvideos-info)) field))
+
+(defun ee-1stclassvideos-mp4stem (c)
+ (let ((mp4 (ee-1stclassvideos-field c :mp4)))
+ (replace-regexp-in-string "^.*/\\([^/]*\\)\\.mp4$" "\\1" mp4)))
+
+(defun ee-1stclassvideos-hash (c)
+ (let ((yt (ee-1stclassvideos-field c :yt)))
+ (replace-regexp-in-string "^.*=\\([^=]*\\)$" "\\1" yt)))
+
+
+
+
;;; _ _ _
diff --git a/eev.el b/eev.el
index b044a9e..0c4f43c 100644
--- a/eev.el
+++ b/eev.el
@@ -6,7 +6,7 @@
;; Package-Requires: ((emacs "24.4"))
;; Keywords: lisp e-scripts
;; URL: http://angg.twu.net/#eev
-;; Version: 20211127
+;; Version: 20211201
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/eev 81c4615: Rewrote (find-eev-exercises-intro).,
ELPA Syncer <=