1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
<!-- Automatically generated by emacsconf-publish-after-page -->
<a name="orgsuperlinks-mainVideo-transcript"></a>
# Transcript
[[!template new="1" text="""Hello, my name is Karl Voit""" start="00:00:00.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and I'm going to show you a little demo""" start="00:00:05.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""on how I'm working with links""" start="00:00:08.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between arbitrary headings""" start="00:00:10.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and how I define dependencies between tasks""" start="00:00:12.760" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""when I'm working with projects and so forth.""" start="00:00:16.240" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""For that purpose, I've created a repository""" start="00:00:18.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""that contains the files we are going to work with,""" start="00:00:22.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""with the overall setup and so forth.""" start="00:00:27.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So you just have to download this repository""" start="00:00:30.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and you're able to replay everything""" start="00:00:32.840" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which you are going to see here.""" start="00:00:36.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""If you've downloaded the configuration of the demo,""" start="00:00:38.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""you see those files, and you start the Emacs""" start="00:00:44.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""with an empty configuration""" start="00:00:49.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and link demo file, like that.""" start="00:00:52.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So let me just briefly increase the font size.""" start="00:00:59.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Setting up the demo is easy.""" start="00:01:03.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I've done the key visualization,""" start="00:01:05.760" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""the webcam part, and I've started the Emacs""" start="00:01:08.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and increased the font size.""" start="00:01:11.840" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""And the last thing and the most important thing""" start="00:01:13.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""you need to do here""" start="00:01:17.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""is executing the babel block,""" start="00:01:18.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which consists of more or less dirty Elisp code""" start="00:01:20.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""that installs the necessary packages, functions,""" start="00:01:23.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and bindings required in this demo.""" start="00:01:27.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""You need to acknowledge the execution""" start="00:01:29.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""with yes and return, and after a couple of seconds,""" start="00:01:32.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""everything is downloaded""" start="00:01:36.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and set up nicely for your demo.""" start="00:01:37.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""The first demo is the demo""" start="00:01:42.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""where I'm going to show you""" start="00:01:45.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""how I'm working with links""" start="00:01:46.960" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between arbitrary headings.""" start="00:01:48.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""It consists of two commands,""" start="00:01:50.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""org-super-links-quick-insert-inline-link,""" start="00:01:52.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and the second one is""" start="00:01:55.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""org-super-links-quick-insert-drawer-link.""" start="00:01:56.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So the difference is,""" start="00:01:59.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""the first one is an inline link,""" start="00:02:01.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and the second one only depends""" start="00:02:03.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""on the drawers of the headings.""" start="00:02:07.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So let's show you what I mean.""" start="00:02:09.960" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""If I'm inserting here the inline link""" start="00:02:12.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""to the second one, which I have to choose""" start="00:02:15.240" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""from the result set here,""" start="00:02:18.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""you see that there is this second heading link""" start="00:02:21.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""included here in the first heading.""" start="00:02:26.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Let's open up the first and second heading.""" start="00:02:29.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""You see that I can jump this link""" start="00:02:34.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""to the second heading. The first heading""" start="00:02:37.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""as well as the second heading""" start="00:02:40.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""get human readable IDs,""" start="00:02:42.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which I personally prefer.""" start="00:02:43.880" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""The second one gets""" start="00:02:46.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""a backheading in a link drawer,""" start="00:02:49.320" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which was created automatically.""" start="00:02:51.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So this is a method where I link arbitrary headings,""" start="00:02:53.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and that's the main reason""" start="00:02:57.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""why I personally don't need any""" start="00:02:59.168" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Zettelkasten-based method like Org Roam.""" start="00:03:01.215" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""The next command which I want to show you""" start="00:03:03.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""is the link between those drawers.""" start="00:03:08.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So in order to link the third to the fourth,""" start="00:03:13.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I need to look for the fourth.""" start="00:03:17.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""In this case, you do not see""" start="00:03:20.320" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""any inline link like here above,""" start="00:03:24.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""but you see the :PROPERTIES: drawers""" start="00:03:27.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and the :LINKS: drawers in both headings.""" start="00:03:31.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So there is a forward- and a back-link""" start="00:03:35.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between those two headings,""" start="00:03:38.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and if you see a links drawer""" start="00:03:40.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""you know that there are""" start="00:03:42.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""linked headings you can follow.""" start="00:03:45.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I do find this method very very handy.""" start="00:03:47.560" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""Of course, this doesn't only work""" start="00:03:51.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""within one single Org mode file.""" start="00:03:53.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""It works between arbitrary Org mode files""" start="00:03:57.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""as long as they are""" start="00:04:01.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""part of your Org Mode agenda list.""" start="00:04:02.634" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So that was the first heading""" start="00:04:05.760" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""with the bi-directional links.""" start="00:04:08.280" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""The second one is a little bit""" start="00:04:09.960" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""more complicated than that""" start="00:04:11.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""because I show you how I'm working with projects.""" start="00:04:13.080" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Usually, I start the project""" start="00:04:17.280" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""by adding a "Why?" statement""" start="00:04:19.534" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""so that I remember why this project""" start="00:04:22.080" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""needs to be done in the first place.""" start="00:04:25.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I do a brainstorming on the tasks""" start="00:04:27.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""that need to be done in the project""" start="00:04:32.280" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""as a simple list.""" start="00:04:33.934" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""With this handy command (C-c *),""" start="00:04:36.280" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I'm converting it to a list of Org mode headings.""" start="00:04:39.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Now let's add the NEXT keyword,""" start="00:04:43.840" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which is my default to-do keyword,""" start="00:04:47.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""to the first heading.""" start="00:04:49.001" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""You notice that there is a CREATED property""" start="00:04:49.760" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which is not relevant to the demo itself,""" start="00:04:53.320" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""but it's part of my setup.""" start="00:04:56.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I really like those created headings""" start="00:04:57.840" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""because when I add arbitrary headings,""" start="00:05:00.840" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""this CREATED property is added automatically.""" start="00:05:03.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""So now I want to define a dependency""" start="00:05:07.680" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between "Empty garage"""" start="00:05:11.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and "Paint walls and floor."""" start="00:05:12.968" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I do that by invoking my command here,""" start="00:05:14.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and look for the "Paint walls" heading.""" start="00:05:18.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""In this dialogue, you may add a scheduled date""" start="00:05:22.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and/or a deadline date""" start="00:05:28.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and/or a to-do statement. For this demo""" start="00:05:30.234" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I only choose the to-do keyword.""" start="00:05:34.240" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""You notice that there is""" start="00:05:37.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""this TRIGGER property added.""" start="00:05:39.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""That's default behavior of org-edna""" start="00:05:41.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""which is managing the dependencies, in my case.""" start="00:05:43.280" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""In the other one, there is this BLOCKER property.""" start="00:05:47.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""It's very handy to know that those IDs""" start="00:05:51.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""might be used for jumping""" start="00:05:55.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between those dependencies again.""" start="00:05:57.880" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Those two headings don't have to be necessarily""" start="00:06:00.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""in the very same Org Mode file.""" start="00:06:03.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""They may be scattered around""" start="00:06:05.560" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""your Org Mode agenda files all over the place.""" start="00:06:07.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So continuing this definition of dependency""" start="00:06:11.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between the second and the third one...""" start="00:06:16.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I'm using the search "Bring back stuff"...""" start="00:06:19.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""the search functionality...""" start="00:06:23.000" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I choose the NEXT keyword here, its dependency.""" start="00:06:24.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""The same holds true for the last two.""" start="00:06:28.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text=""""Is painted", for example. I'm going to use""" start="00:06:32.480" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""the NEXT keyword again.""" start="00:06:37.400" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""I tend to use the last task of any project""" start="00:06:39.320" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""to close the overall project.""" start="00:06:44.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So if I show you this one,""" start="00:06:47.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I'm using the dependency to "Garage" project,""" start="00:06:49.880" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and this time I'm using the DONE keyword.""" start="00:06:57.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""Of course, the properties""" start="00:07:02.200" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""look like that all the time,""" start="00:07:04.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""so there is a trigger from the first task""" start="00:07:07.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""to the second one, and there is a blocker""" start="00:07:11.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""from the second one back to the first one,""" start="00:07:13.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and when I'm actually doing the project,""" start="00:07:17.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I may now mark the first task as DONE,""" start="00:07:21.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and you notice that the second one""" start="00:07:25.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""automatically gets a next keyword.""" start="00:07:28.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""This happened, of course, for all those tasks.""" start="00:07:31.440" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""The neat thing is when I close the last one,""" start="00:07:34.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""the overall project gets its DONE keyword as well.""" start="00:07:38.920" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So this is how I'm working with""" start="00:07:42.760" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""projects and dependencies.""" start="00:07:46.360" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""Most of the time, task dependencies""" start="00:07:49.120" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""are not even within the same Org Mode subheading,""" start="00:07:53.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""let's say. Also, I'm using dependencies""" start="00:07:58.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""between different Org Mode files.""" start="00:08:01.600" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""This is a very, very cool way of defining""" start="00:08:03.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""what to do next in a project,""" start="00:08:07.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""without looking for tasks""" start="00:08:10.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""that can't be done at that stage.""" start="00:08:12.668" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template new="1" text="""You can have a look at the details of the demo""" start="00:08:15.640" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""by checking out the files in the repository.""" start="00:08:20.240" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""That's it for the demo,""" start="00:08:23.800" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and therefore I thank you for your patience.""" start="00:08:27.080" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""I wish you good luck,""" start="00:08:30.720" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""and I hope that I could show you one or two tricks""" start="00:08:32.160" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""that you can add to your Org Mode setup""" start="00:08:39.520" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""in order to help you with your daily work.""" start="00:08:42.080" video="mainVideo-orgsuperlinks" id="subtitle"]]
[[!template text="""So bye from me, till next time.""" start="00:08:47.040" video="mainVideo-orgsuperlinks" id="subtitle"]]
Captioner: sachac
Questions or comments? Please e-mail [EmacsConf22@Karl-Voit.at](mailto:EmacsConf22@Karl-Voit.at?subject=Comment%20for%20EmacsConf%202022%20orgsuperlinks%3A%20Linking%20headings%20with%20org-super-links%20%28poor-man%27s%20Zettelkasten%29)
<!-- End of emacsconf-publish-after-page -->
|