diff options
Diffstat (limited to '2022')
-rw-r--r-- | 2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt b/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt new file mode 100644 index 00000000..da9fcff7 --- /dev/null +++ b/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt @@ -0,0 +1,269 @@ +WEBVTT + +00:00.000 --> 00:06.159 +Hi, my name is Eduard Oxt, I'm the author of an MX package called EEV, and the name + +00:06.160 --> 00:11.439 +of this presentation is Bidirectional Links in EEV. + +00:11.440 --> 00:16.279 +Let me present things in a weird order, starting by the new feature and then I'm going to + +00:16.280 --> 00:20.799 +explain the whole context. + +00:20.800 --> 00:25.839 +One of the main features that we are going to see here is this function here, MetaX Cla, + +00:25.840 --> 00:29.279 +and Cla is a mnemonic for Q-link to anchor. + +00:29.280 --> 00:33.159 +Let me explain, let me demonstrate how it works. + +00:33.160 --> 00:40.239 +This thing here with the green angle brackets is an anchor, this thing between the green + +00:40.240 --> 00:48.279 +angle brackets is a tag of an anchor, and if I type MetaX Cla here, it highlights this + +00:48.280 --> 00:53.719 +tag for a second and it says copied to the Q-link blah blah blah, and this thing here + +00:53.720 --> 00:55.079 +is a link. + +00:55.080 --> 01:02.759 +I can insert the link here, I can insert the link in my notes, and if I execute this link, + +01:02.760 --> 01:08.319 +this link here, it goes to this anchor in this file. + +01:08.320 --> 01:16.119 +If you have a recent version of EEV installed, then trying this feature should be very easy. + +01:16.120 --> 01:21.679 +You just need to open this file here in which everything is defined, and then go to this + +01:21.680 --> 01:27.479 +section at the beginning of the file, and then run the three blocks of tests that are + +01:27.480 --> 01:29.299 +there. + +01:29.300 --> 01:34.439 +This block corresponds roughly to what we have just done. + +01:34.440 --> 01:43.519 +This other block is slightly different because it shows some variants of Cla. + +01:43.520 --> 01:47.959 +One is with F instead of an A here. + +01:47.960 --> 01:49.559 +Let me show how it works. + +01:49.560 --> 02:00.519 +If we type MetaX eKlf or just MetaX klf, we get a link to this file that does not point + +02:00.520 --> 02:08.399 +to an anchor, and if we type MetaX klt, we get another kind of link that is linked to + +02:08.400 --> 02:11.719 +an anchor in the same file. + +02:11.720 --> 02:21.199 +The third block is more interesting because it lets people create links to files that + +02:21.200 --> 02:26.439 +are elsewhere and that do not have anchors pointing to them. + +02:26.440 --> 02:28.799 +Let me execute this. + +02:28.800 --> 02:36.319 +This will run this extra here and display the target at the window at the right. + +02:36.320 --> 02:41.679 +This is one of the source files of MX. + +02:41.680 --> 02:45.519 +Let's imagine that I want to create a link to this string here. + +02:45.520 --> 02:53.399 +Then I can type MetaX klfs, and this will create a link to a file in a string in that + +02:53.400 --> 02:54.399 +file. + +02:54.400 --> 03:00.959 +If I type enter here, it says copy to the kil ring, and this is a link to this file + +03:00.960 --> 03:11.479 +here and to the first occurrence of this string in this file. + +03:11.480 --> 03:14.399 +Notice this work inside. + +03:14.400 --> 03:19.239 +When I was trying to write the documentation of this, I tried to write a summary of how + +03:19.240 --> 03:25.359 +the algorithm works, and I failed, and I tried again, and I failed again several times, and + +03:25.360 --> 03:33.419 +then I gave up and I decided to write an intro, a tutorial, this one, that explains everything + +03:33.420 --> 03:40.959 +but lots of details and lots of sections with try it that have examples that you can run + +03:40.960 --> 03:48.719 +to understand things, to examine how some functions work, how the data structures work, + +03:48.720 --> 03:51.599 +and so on. + +03:51.600 --> 03:57.399 +The problem is that sometimes we have several hyperlinks that point to the same file. + +03:57.400 --> 03:59.359 +Let me give an example. + +03:59.360 --> 04:08.399 +In the configuration in which I am now, in this file here, the old way of generating + +04:08.400 --> 04:14.519 +hyperlinks to this file with find here links, which generate a temporary buffer like this, + +04:14.520 --> 04:20.239 +and then I would have to choose which one of these hyperlinks I find best, which one + +04:20.240 --> 04:24.359 +I prefer, and then copy it to my notes. + +04:24.360 --> 04:31.079 +So instead of choosing a hyperlink, this thing here shows all the options. + +04:31.080 --> 04:38.639 +And in the new way, in MetaX and Friends, there's an algorithm that chooses the best + +04:38.640 --> 04:40.879 +short hyperlink by itself. + +04:40.880 --> 04:44.159 +And this algorithm is a bit hard to explain. + +04:44.160 --> 04:46.639 +Let me demonstrate it here. + +04:46.640 --> 04:56.359 +Again, we have all these options here of hyperlinks to this file, and if I type MetaX klf, it + +04:56.360 --> 04:58.839 +chooses one of them. + +04:58.840 --> 05:02.599 +And of course, I can copy it to my notes, it's going to work, it's going to point to + +05:02.600 --> 05:04.799 +here and so on. + +05:04.800 --> 05:11.199 +Well, the title of this presentation was Bidirectional Links with EEV. + +05:11.200 --> 05:17.559 +Let me show what I mean by bidirectional hyperlinks and how we can use this thing to create bidirectional + +05:17.560 --> 05:20.519 +hyperlinks very quickly. + +05:20.520 --> 05:22.259 +I will have to use a smaller font. + +05:22.260 --> 05:24.999 +Let me open these two files here. + +05:25.000 --> 05:31.999 +This one at the left is a program in Haskell, and this one is a file with my notes on Haskell. + +05:32.000 --> 05:41.559 +How do I create a link to this file in Haskell to put it in this file here? + +05:41.560 --> 05:49.719 +I can put the cursor here in any position after this anchor here and type MetaX klf. + +05:49.720 --> 05:56.359 +It copies this link here to the kill ring, and then I can go here and either insert it + +05:56.360 --> 06:08.039 +with Ctrl Y, yank, or insert it with MetaX klf that adds a comment prefix here. + +06:08.040 --> 06:16.559 +So this is a way to create a link from here to there in which every comment has to be + +06:16.560 --> 06:19.359 +given explicitly. + +06:19.360 --> 06:23.719 +But I also implemented a way to create the two links at the same time. + +06:23.720 --> 06:24.719 +I don't use it much. + +06:24.720 --> 06:27.399 +It is mostly for demos because it is impressive. + +06:27.400 --> 06:29.919 +I wanted to show that in this presentation. + +06:29.920 --> 06:33.079 +Anyway, let me show it here. + +06:33.080 --> 06:41.339 +Note that in this file here the point is here, in this file the point is here. + +06:41.340 --> 06:47.599 +My trick is going to create a link to this anchor and put it in this file, and it is + +06:47.600 --> 06:51.479 +going to create a link to this anchor and put it in this file. + +06:51.480 --> 06:58.599 +So here it goes, MetaX klhu, ta-da! + +06:58.600 --> 07:03.159 +It highlighted the two anchors for a second and then it created these things here and + +07:03.160 --> 07:11.479 +inserted them with the right comment prefixes. + +07:11.480 --> 07:15.519 +And that's it. + +07:15.520 --> 07:17.319 +So that's it. + +07:17.320 --> 07:26.039 +If you found these things interesting, just install a recent version of VEV and run the + +07:26.040 --> 07:32.159 +tutorial either with this thing here, MetaX client client intro, or by running this exp, + +07:32.160 --> 07:39.599 +or open this file here in the iv directory and follow the tutorials. + +07:39.600 --> 07:46.919 +And most things there are well documented, but the thing that I don't use much and that + +07:46.920 --> 07:52.559 +is mostly for demos, which is the thing that creates bidirectional hyperlinks, is not yet + +07:52.560 --> 07:55.119 +well documented, but the rest is. + +07:55.120 --> 07:56.119 +So that's it. + +07:56.120 --> 08:17.400 +Have fun. + |