summaryrefslogtreecommitdiffstats
path: root/2023/info/one-after.md
diff options
context:
space:
mode:
Diffstat (limited to '2023/info/one-after.md')
-rw-r--r--2023/info/one-after.md904
1 files changed, 904 insertions, 0 deletions
diff --git a/2023/info/one-after.md b/2023/info/one-after.md
new file mode 100644
index 00000000..e7b63c57
--- /dev/null
+++ b/2023/info/one-after.md
@@ -0,0 +1,904 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+<a name="one-mainVideo-transcript"></a>
+# Transcript
+
+
+[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Hi, everybody. Welcome to the EmacsConf 2023.""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""I hope you're doing well and you're having fun.""" start="00:00:04.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""I'm Tony Aldon, and in this talk,""" start="00:00:06.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we are going to see how to build a static website""" start="00:00:08.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""with the package one.el that I wrote.""" start="00:00:11.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""But before we start, I'd like to thank""" start="00:00:14.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""all the people who organized that conference,""" start="00:00:17.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so thank you all for the great work.""" start="00:00:20.560" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Documentation""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now let's jump into the documentation of one.el,""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is built with one.el. In the install page,""" start="00:00:27.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we can see that we have a sidebar""" start="00:00:31.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""with all of the pages in the documentation,""" start="00:00:33.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""some buttons to switch between pages,""" start="00:00:35.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we also have a table of contents""" start="00:00:39.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""for some of the pages if we need it.""" start="00:00:41.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now let's jump into one.el repository""" start="00:00:45.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and see why I like how it is implemented,""" start="00:00:49.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""because the website that we've seen,""" start="00:00:52.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the documentation, is just one file.""" start="00:00:53.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is that file, with the headline of level 1""" start="00:00:55.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""being the web pages.""" start="00:01:00.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""There needs to be a web page to have the property,""" start="00:01:03.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the Org property `:ONE:`, set to a render function.""" start="00:01:06.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We are going to see how they work after.""" start="00:01:09.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""And the `:CUSTOM_ID:`, the value of the `:CUSTOM_ID:`,""" start="00:01:11.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is the path of the page. So really,""" start="00:01:14.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the website that we have on the left""" start="00:01:17.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is this file. So to me, this is something simple like that""" start="00:01:20.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that I wanted.""" start="00:01:24.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""And another thing is that when we want to""" start="00:01:25.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""change something with one.el,""" start="00:01:29.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we don't change configuration""" start="00:01:33.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""or write JavaScript or anything else.""" start="00:01:36.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We just write Emacs Lisp code or a bit of CSS.""" start="00:01:38.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is what we have with a minibuffer website""" start="00:01:43.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that is built with one.el,""" start="00:01:45.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the only thing that I had to do""" start="00:01:47.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is to write Emacs Lisp code.""" start="00:01:50.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So those are two things: the content in one file,""" start="00:01:51.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and if we want to change the layout, CSS and Emacs Lisp.""" start="00:01:55.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is one.el.""" start="00:01:58.680" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Starting a new project""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now let's go to our node,""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we are going to start a new project.""" start="00:02:03.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""How do we do that?""" start="00:02:07.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""In a new empty directory,""" start="00:02:09.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so new project directory,""" start="00:02:11.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we call the function `one-default-new-project`.""" start="00:02:15.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We have that project, which is one file with the""" start="00:02:19.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""five default type of pages that we have,""" start="00:02:22.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and one CSS file.""" start="00:02:25.760" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Building""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""How to build that website?""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Okay, so we call the function `one-build`.""" start="00:02:29.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This builds the website.""" start="00:02:32.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We jump into a terminal, and now if we run tree,""" start="00:02:33.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we can see that the website""" start="00:02:36.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""has been built in the public directory""" start="00:02:39.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""with the information in the Org properties""" start="00:02:42.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the content of one.org files. Okay, cool.""" start="00:02:45.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now we are going to render that in the browser""" start="00:02:50.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""to serve that, and to do that""" start="00:02:53.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we can use browser-sync utility,""" start="00:02:58.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is cool with that,""" start="00:03:01.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""in that each time we are going to...""" start="00:03:02.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we go into public...""" start="00:03:06.420" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Each time we are going to change and rebuild the website,""" start="00:03:07.861" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this will be reloaded in the browser.""" start="00:03:11.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So one, this is that website, is now this one.""" start="00:03:14.320" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Side by side""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""So let's put them side by side.""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We go there, and we may do something like that.""" start="00:03:22.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So one.el, the home page, so our custom ID""" start="00:03:26.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""with the value just a /,""" start="00:03:30.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is rendered with that function `one-default-home`,""" start="00:03:32.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is a render function,""" start="00:03:36.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the first argument of that function is the headline,""" start="00:03:37.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this current headline. So, parsed with the Org parser,""" start="00:03:41.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and then we do the thing that we want to do,""" start="00:03:45.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the render function returns an HTML string""" start="00:03:48.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that is used to build the pages at the custom ID.""" start="00:03:52.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now we can go to another web page, the second web page,""" start="00:03:57.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see that there is a different value""" start="00:04:03.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""for the `:ONE:` property, so another render function,""" start="00:04:05.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the custom ID at the path of that page.""" start="00:04:10.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we can see that in the browser.""" start="00:04:14.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is `/blog/default-home-list-pages`.""" start="00:04:16.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is that. Now there are three other pages,""" start="00:04:19.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""but we can list that like that.""" start="00:04:23.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We do a grep in that files,""" start="00:04:25.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see the different default render function.""" start="00:04:28.360" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Writing a render function""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""In the second part of that talk,""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we are going to write a render function.""" start="00:04:34.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we are going to see that after.""" start="00:04:38.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now maybe we can go to the default page,""" start="00:04:41.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and let's modify that default page.""" start="00:04:47.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We see that this uses `one-default` render function,""" start="00:04:50.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now let's write &quot;foo bar baz&quot;.""" start="00:04:54.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We want to modify the content. We save.""" start="00:04:57.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We call again one-build distribute,""" start="00:05:00.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see here we have it: foo bar baz in the default page.""" start="00:05:10.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now we can use... When we use one-build,""" start="00:05:16.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this also copies the files in the asset directory""" start="00:05:19.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""into the public directory.""" start="00:05:23.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is not always what we want to do.""" start="00:05:25.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Sometimes we just change the content,""" start="00:05:28.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and for that we can use `one-render-page-at-point`.""" start="00:05:29.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""If we use that one, this just renders the current page.""" start="00:05:34.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we see that we have again &quot;foo bar baz&quot; in the page.""" start="00:05:39.480" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""New page""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now let's add a new page. To add a new page,""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we just have to copy one of them, maybe the default page.""" start="00:05:47.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We are going to call it maybe emacsconf-2023.""" start="00:05:52.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We still use one default render function to render it,""" start="00:05:58.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""but we want to change the path.""" start="00:06:01.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So the custom ID, we are going to give it /blog""" start="00:06:04.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and emacsconf-2023 with a slash at the end,""" start="00:06:08.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the content... We no longer want this one,""" start="00:06:12.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""but maybe &quot;We're having a lot of fun&quot;.""" start="00:06:18.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we save that, we rebuild with `one-build` this,""" start="00:06:22.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we can look at the top""" start="00:06:28.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and pass it the path `/blog/emacsconf-2023/.""" start="00:06:33.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we have that new page.""" start="00:06:39.280" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Linking between pages""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now, how to link between pages?""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we are going to write a link""" start="00:06:44.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that links to the last page,""" start="00:06:46.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so a page with the table of contents.""" start="00:06:48.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""To do that, we just have to use the value of the custom ID,""" start="00:06:50.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and to link to a custom ID inside Org mode,""" start="00:06:54.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we use the hashtag. We pass it here,""" start="00:06:58.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""then we pass it in the description,""" start="00:07:03.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so TOC and sidebar,""" start="00:07:07.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now if we press RET inside Emacs,""" start="00:07:09.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we jump to that page. So this is cool.""" start="00:07:12.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now we build again,""" start="00:07:15.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see that we are going to have""" start="00:07:17.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the link to the page in the browser.""" start="00:07:19.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this link to the default page with a table of contents,""" start="00:07:22.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""fine, but maybe what we want to do""" start="00:07:27.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is to link to the &quot;Headline foo&quot; in that page.""" start="00:07:29.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""How do we do that?""" start="00:07:33.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We do that by adding a custom id.""" start="00:07:34.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We keep the first part,""" start="00:07:36.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is the page where we are,""" start="00:07:41.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we added hash with foo,""" start="00:07:43.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so that Headline foo will have the ID &quot;foo&quot;""" start="00:07:46.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""in its H2 tag, HTML tag,""" start="00:07:50.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we can link it here with still custom ID, so &quot;foo&quot;,""" start="00:07:57.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now it's headline... headline with what?""" start="00:08:05.081" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Headline foo in TOC page. So we have that.""" start="00:08:10.540" video="mainVideo-one" id="subtitle"]]
+[[!template text="""If we press RET, we jump to that headline in Emacs.""" start="00:08:14.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is super cool.""" start="00:08:19.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""And now, if we call `one-build`,""" start="00:08:20.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we see in the browser""" start="00:08:23.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we have a new link,""" start="00:08:25.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and this link linked to that specific headline.""" start="00:08:26.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is cool. So we have the link between pages""" start="00:08:30.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that works inside Emacs""" start="00:08:34.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and that works well also in the browser.""" start="00:08:36.320" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""CSS""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now let's say that we want to change the CSS.""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we've added a page with specific content,""" start="00:08:44.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we've done some links.""" start="00:08:50.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now we want to modify the CSS file""" start="00:08:51.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is in the asset directory, the one.css.""" start="00:08:55.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Each time we change it,""" start="00:09:00.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we want to have live reload""" start="00:09:02.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that copy that file into the public directory,""" start="00:09:05.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so the same. We go back here,""" start="00:09:10.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and there is a utility called `entr`, e-n-t-r.""" start="00:09:14.660" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Yes, this one, and using that, so a new terminal,""" start="00:09:18.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we are at the beginning.""" start="00:09:26.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This will watch the changing in what.css,""" start="00:09:28.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and `entr` will copy it into the public directory""" start="00:09:32.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""each time this changes. Let's go back to Org mode,""" start="00:09:35.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""because I chose some color that is cool,""" start="00:09:38.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we go back to the CSS files.""" start="00:09:43.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We put them side by side, and maybe we go to the new page""" start="00:09:47.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we were changing,""" start="00:09:53.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we are going to change the body,""" start="00:09:55.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the background color, and maybe we can change""" start="00:10:01.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""with the color that we've just taken.""" start="00:10:03.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we save, and we see the changing happening.""" start="00:10:06.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We can do it again with the color""" start="00:10:10.220" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we have at the beginning,""" start="00:10:14.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and this is the user experience""" start="00:10:16.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we have with one.el and the default function.""" start="00:10:18.880" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""How to write a render function""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now that we've seen that,""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we've done all of that part,""" start="00:10:26.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we are going to see""" start="00:10:30.461" video="mainVideo-one" id="subtitle"]]
+[[!template text="""how to write a render function.""" start="00:10:31.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So let's go. The render function,""" start="00:10:34.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so one.org, we remember these are the functions""" start="00:10:36.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that are in the `:ONE:` Org property.""" start="00:10:41.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we are going to remove that part.""" start="00:10:43.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We no longer want that one. We don't want this.""" start="00:10:45.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We just keep that. `one-default`,""" start="00:10:49.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we want this to be the home of our website.""" start="00:10:52.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We have that. We rebuild,""" start="00:10:55.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we just have one page, and we have that page.""" start="00:10:57.660" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We are going to add another page that we call &quot;foo&quot;,""" start="00:11:05.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and here we pass it the render function foo""" start="00:11:10.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that doesn't exist yet, and we are going to write it.""" start="00:11:15.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So maybe with some content, and we copy, copy.""" start="00:11:20.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We have that. We call it &quot;bar&quot; to have something to show.""" start="00:11:27.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So here we are. If we build that, so we build it,""" start="00:11:33.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see in the echo area at the bottom""" start="00:11:39.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we have an error &quot;void&quot;,""" start="00:11:42.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is because the function foo doesn't exist.""" start="00:11:43.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So now we are going to write that function,""" start="00:11:46.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we write it in the onerc.el""" start="00:11:48.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""where we put any Elisp code""" start="00:11:53.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we want to be run""" start="00:11:57.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""each time we build the website or render the pages.""" start="00:11:58.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we want a render function called foo.""" start="00:12:03.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So that takes three arguments: page-tree, pages, and global.""" start="00:12:06.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We are going to look at the page-tree in our case,""" start="00:12:10.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the render function return an HTML string.""" start="00:12:16.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is the thing that we want from them.""" start="00:12:19.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So maybe foo, bar, and baz.""" start="00:12:22.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now this is something well-defined,""" start="00:12:25.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and with one.org here, the file, we rebuild this,""" start="00:12:28.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we can see now in the browser,""" start="00:12:34.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""if we go to the page foo, that we have &quot;foo bar baz&quot;.""" start="00:12:39.620" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is exactly what we have rendered""" start="00:12:42.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""by the render function that is set,""" start="00:12:45.460" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we see at the bottom in the one.org file,""" start="00:12:47.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""in the `:ONE:` property. Now this is HTML, so we can pass it,""" start="00:12:51.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""for instance, h1, the tag h1.""" start="00:12:56.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We save that file. We go in the one.org file,""" start="00:13:00.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we build again, and now we see that we have an h1.""" start="00:13:06.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Okay, this is interesting, but if we would have to""" start="00:13:10.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""build this function with a string like that,""" start="00:13:14.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is boring and not the best way.""" start="00:13:18.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we can use the library Jack,""" start="00:13:22.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which offers function `jack-html`""" start="00:13:24.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that takes some data structure,""" start="00:13:27.589" video="mainVideo-one" id="subtitle"]]
+[[!template text="""for instance, an h1, a nested list""" start="00:13:31.581" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that represents the HTML that we want to render,""" start="00:13:34.180" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and transform it into an HTML string.""" start="00:13:38.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we have that, we saved,""" start="00:13:41.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we rebuild in the one.org file with `one-build`,""" start="00:13:43.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see now that this has been built using `jack-html`.""" start="00:13:48.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now what do we want to do?""" start="00:13:55.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Okay, see, the thing that we want to do""" start="00:13:59.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is to understand page-tree. So what is page-tree?""" start="00:14:02.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""page-tree is when we go to one.org,""" start="00:14:05.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is really for foo,""" start="00:14:07.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is the parsed data of that headline, that page.""" start="00:14:09.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So this is done with, no, not this one, we use,""" start="00:14:17.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so in the mini-buffer, we use `one-parse-buffer`,""" start="00:14:23.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see this is the data""" start="00:14:27.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we have with that function, first headline,""" start="00:14:30.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the second headline,""" start="00:14:33.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is the parse tree that we have there.""" start="00:14:34.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is that data that is passed to""" start="00:14:38.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the `foo` render function. One thing that is cool,""" start="00:14:40.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so I see here, is that as we are dealing with data,""" start="00:14:45.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we have all the data of the website,""" start="00:14:51.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we can show them in the web page. Now, why not?""" start="00:14:53.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""It's great to write the website""" start="00:14:57.361" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and also to debug if we need to debug at some point.""" start="00:15:00.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So let's render page-tree directly in the page, one.org,""" start="00:15:02.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we rebuild, we reload, and we see this is what we have,""" start="00:15:10.280" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is the data that we have, okay?""" start="00:15:15.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""And we have, for instance, the `:raw-value` with this &quot;foo&quot;,""" start="00:15:17.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which is the headline,""" start="00:15:20.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the content of the headline in a raw format,""" start="00:15:22.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we also have custom,""" start="00:15:27.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so here we have the `:CUSTOM_ID: foo` and `:ONE: foo`,""" start="00:15:29.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""which are the properties,""" start="00:15:33.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and when we are inside those render functions,""" start="00:15:35.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we have access to this.""" start="00:15:40.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So let's, what can we do now, is to,""" start="00:15:43.241" video="mainVideo-one" id="subtitle"]]
+[[!template text="""let's get the row value.""" start="00:15:46.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So we no longer need that.""" start="00:15:48.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Maybe we can do something like that.""" start="00:15:51.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We create now HTML. In HTML, we want the body,""" start="00:15:54.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we want an h1 tag, and we are going to pass it""" start="00:16:04.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""a title, and in the title,""" start="00:16:08.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""this is something that we let-bind here,""" start="00:16:10.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so the value of the title,""" start="00:16:13.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we get it with `org-element-property`,""" start="00:16:15.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the `:raw-value`, so this is the property that we want,""" start="00:16:24.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so `raw-value`, and from which data we want that,""" start="00:16:29.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""to page-tree. So now, let's have one.org at the bottom,""" start="00:16:34.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we build again, and now we reload,""" start="00:16:40.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we see that we get a foo. This is that title,""" start="00:16:46.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the value of that variable in that data structure.""" start="00:16:50.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now, let's get those two properties.""" start="00:16:56.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""How do we get those two properties?""" start="00:17:00.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""The same way, `:ONE:` that we call one, so raw-value,""" start="00:17:03.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we change that for `:ONE`, the other raw-value""" start="00:17:07.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""for `:CUSTOM_ID`, we change the title for `custom-id`,""" start="00:17:11.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and what we want now is for instance,""" start="00:17:19.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""yes, h1 again, and org properties.""" start="00:17:23.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We add the org properties, and let's do a list,""" start="00:17:30.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""another list, with li element, one,""" start="00:17:34.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we want that value, and that value will be""" start="00:17:39.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the value of the variable one.""" start="00:17:43.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We can do that with also custom-id,""" start="00:17:45.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now, in the one that we have to save,""" start="00:17:52.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and in one of our files, not like that,""" start="00:17:56.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we rebuild that, and we see""" start="00:17:59.440" video="mainVideo-one" id="subtitle"]]
+[[!template text="""that we can get those properties.""" start="00:18:03.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is super cool.""" start="00:18:05.800" video="mainVideo-one" id="subtitle"]]
+[[!template text="""As we are dealing with data,""" start="00:18:07.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we have the information of the whole website,""" start="00:18:09.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we can do whatever we want,""" start="00:18:11.720" video="mainVideo-one" id="subtitle"]]
+[[!template text="""because we have access to that data.""" start="00:18:14.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Let's, for instance, add a date, the date of 2023,""" start="00:18:16.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so I think this is 02, when there is the conference, see,""" start="00:18:23.840" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we can get access to that `one` again,""" start="00:18:28.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""here, so `date`, and we go,""" start="00:18:32.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we change the `:CUSTOM_ID` with the `:DATE`,""" start="00:18:37.955" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and in the list here,""" start="00:18:42.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so we want in the list, this to be the date,""" start="00:18:46.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we build again that,""" start="00:18:53.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we have access to the date.""" start="00:18:56.560" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Really, we can do whatever we want.""" start="00:18:58.800" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Rendering content""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""Now, we want the content. So far,""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we get the property, but what about the content,""" start="00:19:06.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so h1, and now we put &quot;Org content&quot;,""" start="00:19:11.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and this is going to be something in the variable content,""" start="00:19:17.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we have to add that variable,""" start="00:19:21.360" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so in the let binding, we write our content,""" start="00:19:25.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we are going to have that content from the page-tree.""" start="00:19:28.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""To do that, we use `org-export`,""" start="00:19:30.640" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so we need to export something into HTML,""" start="00:19:33.680" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we export the data with the backend.""" start="00:19:36.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So the data that we want is page-tree,""" start="00:19:37.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""but we don't want the first headline,""" start="00:19:40.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so we use `org-element-contents`,""" start="00:19:42.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we pass it `page-tree`, so this is that.""" start="00:19:46.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""But for the exported, we need to pass it,""" start="00:19:50.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and also, how do we call that, we call that an Org backend.""" start="00:19:53.120" video="mainVideo-one" id="subtitle"]]
+[[!template text="""So `one-ox` is our backend provided by one.el,""" start="00:20:00.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and the last argument is nil.""" start="00:20:06.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We are almost done. Now with one.org,""" start="00:20:09.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we build the website, and we see that we have an error,""" start="00:20:14.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""it's because this is not a content,""" start="00:20:18.880" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so there.. No, okay,""" start="00:20:22.080" video="mainVideo-one" id="subtitle"]]
+[[!template text="""there was this `org-element-contents`, I think,""" start="00:20:27.040" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and now we build it, and we must see it here.""" start="00:20:32.840" video="mainVideo-one" id="subtitle"]]
+
+[[!template new="1" text="""Rendering CSS""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]
+
+[[!template text="""So we have the content,""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we have the Org values,""" start="00:20:39.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and last thing that we can do maybe is to put some CSS.""" start="00:20:43.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Let's have a look to `one-default` function.""" start="00:20:48.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""We can see in one.el file that we have a lot of""" start="00:20:51.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""default functions that we can use to take inspiration.""" start="00:20:56.400" video="mainVideo-one" id="subtitle"]]
+[[!template text="""The last thing that we need""" start="00:21:01.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""is to link to the one.css file,""" start="00:21:05.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so we are going to do that `onerc` file.""" start="00:21:08.000" video="mainVideo-one" id="subtitle"]]
+[[!template text="""This is here, so `html` we don't need,""" start="00:21:14.920" video="mainVideo-one" id="subtitle"]]
+[[!template text="""we have that one, we want the head to be here,""" start="00:21:20.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we pass it a class, which is a title,""" start="00:21:26.480" video="mainVideo-one" id="subtitle"]]
+[[!template text="""a div with the class content. We have that.""" start="00:21:37.320" video="mainVideo-one" id="subtitle"]]
+[[!template text="""Now with one.org, we build it again,""" start="00:21:42.240" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we should see the website render with the CSS,""" start="00:21:46.160" video="mainVideo-one" id="subtitle"]]
+[[!template text="""the property, and all the content,""" start="00:21:50.600" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and we've done that just with that Emacs Lisp file,""" start="00:21:56.760" video="mainVideo-one" id="subtitle"]]
+[[!template text="""so this is all I wanted to show you today with one.el,""" start="00:22:01.520" video="mainVideo-one" id="subtitle"]]
+[[!template text="""I hope you enjoyed the talk, and have a nice day,""" start="00:22:08.960" video="mainVideo-one" id="subtitle"]]
+[[!template text="""and a nice conference.""" start="00:22:14.880" video="mainVideo-one" id="subtitle"]]
+
+
+
+Captioner: sachac
+
+<a name="one-qanda-transcript"></a>
+# Q&A transcript (unedited)
+
+[[!template text="""[Speaker 0]: So, will you, when I'm looking at my,""" start="00:00:00.459" video="qanda-one" id="subtitle"]]
+[[!template text="""the other screen, I don't see the chat,""" start="00:00:06.279" video="qanda-one" id="subtitle"]]
+[[!template text="""so maybe someone can tell me.""" start="00:00:08.480" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: It's fine, don't worry about it,""" start="00:00:11.259" video="qanda-one" id="subtitle"]]
+[[!template text="""and we are live. So hi again everyone.""" start="00:00:12.360" video="qanda-one" id="subtitle"]]
+[[!template text="""Hi Tony, how are you doing?""" start="00:00:15.060" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Really well, and you?""" start="00:00:17.040" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: I am doing fantastically,""" start="00:00:19.440" video="qanda-one" id="subtitle"]]
+[[!template text="""as fantastically as I can be doing,""" start="00:00:21.380" video="qanda-one" id="subtitle"]]
+[[!template text="""having to put out fire in the background""" start="00:00:24.099" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Cool!""" start="00:00:30.140" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: during MaxConf. But I'm doing great! Alright,""" start="00:00:25.840" video="qanda-one" id="subtitle"]]
+[[!template text="""Let me just try to set up everything so that""" start="00:00:31.640" video="qanda-one" id="subtitle"]]
+[[!template text="""I can show the questions and all this.""" start="00:00:34.960" video="qanda-one" id="subtitle"]]
+[[!template text="""Do you mind if I read you the question?""" start="00:00:37.260" video="qanda-one" id="subtitle"]]
+[[!template text="""It might be a little more interactive and""" start="00:00:38.600" video="qanda-one" id="subtitle"]]
+[[!template text="""this way you can focus on either presenting""" start="00:00:39.960" video="qanda-one" id="subtitle"]]
+[[!template text="""stuff on your end.""" start="00:00:42.800" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, tell me what are the questions and what""" start="00:00:44.059" video="qanda-one" id="subtitle"]]
+[[!template text="""to do and I will do that.""" start="00:00:48.680" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Okay great so what I'll do,""" start="00:00:53.420" video="qanda-one" id="subtitle"]]
+[[!template text="""I'll invite people to go to the pad and ask""" start="00:00:56.400" video="qanda-one" id="subtitle"]]
+[[!template text="""questions because it was a very interesting""" start="00:00:58.580" video="qanda-one" id="subtitle"]]
+[[!template text="""talk and I'm sure you have plenty of""" start="00:01:00.060" video="qanda-one" id="subtitle"]]
+[[!template text="""questions but I only see 1 right now.""" start="00:01:01.480" video="qanda-one" id="subtitle"]]
+[[!template text="""Do we have people on BigBlueButton?""" start="00:01:03.460" video="qanda-one" id="subtitle"]]
+[[!template text="""Yes we do have people joining right now.""" start="00:01:05.640" video="qanda-one" id="subtitle"]]
+[[!template text="""So reading the first question then.""" start="00:01:11.000" video="qanda-one" id="subtitle"]]
+[[!template text="""So what's the main motivation for this new""" start="00:01:12.620" video="qanda-one" id="subtitle"]]
+[[!template text="""package? I used to use org.yugo""" start="00:01:14.380" video="qanda-one" id="subtitle"]]
+[[!template text="""and use GitHub Actions to build a blog.""" start="00:01:16.280" video="qanda-one" id="subtitle"]]
+[[!template text="""So can you go in a little bit of details on""" start="00:01:18.340" video="qanda-one" id="subtitle"]]
+[[!template text="""this?""" start="00:01:20.600" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, OK. So the main goal,""" start="00:01:21.540" video="qanda-one" id="subtitle"]]
+[[!template text="""I didn't want to have,""" start="00:01:30.900" video="qanda-one" id="subtitle"]]
+[[!template text="""to, I will push that here.""" start="00:01:33.805" video="qanda-one" id="subtitle"]]
+[[!template text="""So my goal was to not have to rely on another""" start="00:01:38.040" video="qanda-one" id="subtitle"]]
+[[!template text="""static site generator to produce my website.""" start="00:01:45.060" video="qanda-one" id="subtitle"]]
+[[!template text="""So if you use a Yugo, that means that you""" start="00:01:49.920" video="qanda-one" id="subtitle"]]
+[[!template text="""take, so this is the website that we've seen""" start="00:01:54.780" video="qanda-one" id="subtitle"]]
+[[!template text="""in the talk, this 1. And I didn't want to""" start="00:02:01.960" video="qanda-one" id="subtitle"]]
+[[!template text="""have to use a piece of software in Emacs that""" start="00:02:07.880" video="qanda-one" id="subtitle"]]
+[[!template text="""translate to some other files to be feed to""" start="00:02:13.320" video="qanda-one" id="subtitle"]]
+[[!template text="""another statistic generator because this way""" start="00:02:16.960" video="qanda-one" id="subtitle"]]
+[[!template text="""I have 2 things to understand.""" start="00:02:20.680" video="qanda-one" id="subtitle"]]
+[[!template text="""I have to understand how that software""" start="00:02:23.680" video="qanda-one" id="subtitle"]]
+[[!template text="""translates my files into the other files and""" start="00:02:26.780" video="qanda-one" id="subtitle"]]
+[[!template text="""then I have to understand how Hugo works.""" start="00:02:32.440" video="qanda-one" id="subtitle"]]
+[[!template text="""So if I want to change something I need to""" start="00:02:37.060" video="qanda-one" id="subtitle"]]
+[[!template text="""understand Hugo. So at some point I need to""" start="00:02:39.480" video="qanda-one" id="subtitle"]]
+[[!template text="""work with Hugo. So if I need to work with""" start="00:02:43.660" video="qanda-one" id="subtitle"]]
+[[!template text="""Hugo, maybe I can work with it directly.""" start="00:02:46.200" video="qanda-one" id="subtitle"]]
+[[!template text="""And I wanted also something that was purely""" start="00:02:51.800" video="qanda-one" id="subtitle"]]
+[[!template text="""Emacs-centric and working on it,""" start="00:02:56.960" video="qanda-one" id="subtitle"]]
+[[!template text="""I found out about that solution.""" start="00:03:03.700" video="qanda-one" id="subtitle"]]
+[[!template text="""And I wanted also something that we have only""" start="00:03:05.600" video="qanda-one" id="subtitle"]]
+[[!template text="""1 file that have all the entries.""" start="00:03:11.780" video="qanda-one" id="subtitle"]]
+[[!template text="""And when I thought about that,""" start="00:03:15.560" video="qanda-one" id="subtitle"]]
+[[!template text="""finally I found a way that maybe we can just""" start="00:03:19.140" video="qanda-one" id="subtitle"]]
+[[!template text="""use 1 or 3 to pass it the information of the""" start="00:03:22.720" video="qanda-one" id="subtitle"]]
+[[!template text="""website. And if you look,""" start="00:03:30.360" video="qanda-one" id="subtitle"]]
+[[!template text="""If you just try to work with Gatsby,""" start="00:03:33.405" video="qanda-one" id="subtitle"]]
+[[!template text="""Ugo or all those websites,""" start="00:03:37.920" video="qanda-one" id="subtitle"]]
+[[!template text="""when you start, you download 10,""" start="00:03:40.940" video="qanda-one" id="subtitle"]]
+[[!template text="""20, 30, thousand for hundreds of dependencies""" start="00:03:46.240" video="qanda-one" id="subtitle"]]
+[[!template text="""to do. Just to me, I'm a small guy and I just""" start="00:03:53.440" video="qanda-one" id="subtitle"]]
+[[!template text="""want to have some documentation on the""" start="00:03:59.620" video="qanda-one" id="subtitle"]]
+[[!template text="""website like this 1. It just,""" start="00:04:02.720" video="qanda-one" id="subtitle"]]
+[[!template text="""it shouldn't need that much of a dependency.""" start="00:04:05.460" video="qanda-one" id="subtitle"]]
+[[!template text="""And if you look at the website,""" start="00:04:09.160" video="qanda-one" id="subtitle"]]
+[[!template text="""if you want to hack on something,""" start="00:04:11.460" video="qanda-one" id="subtitle"]]
+[[!template text="""you need a lot of to understand how the""" start="00:04:13.540" video="qanda-one" id="subtitle"]]
+[[!template text="""config files work. So you need to,""" start="00:04:17.320" video="qanda-one" id="subtitle"]]
+[[!template text="""how does it work this config file?""" start="00:04:19.459" video="qanda-one" id="subtitle"]]
+[[!template text="""But I want, it's always happened that you""" start="00:04:21.060" video="qanda-one" id="subtitle"]]
+[[!template text="""want to add 1 thing or to add that things.""" start="00:04:23.320" video="qanda-one" id="subtitle"]]
+[[!template text="""What do you have to do?""" start="00:04:26.420" video="qanda-one" id="subtitle"]]
+[[!template text="""You have to, you can't because it's not""" start="00:04:27.780" video="qanda-one" id="subtitle"]]
+[[!template text="""offered by the configuration file.""" start="00:04:30.340" video="qanda-one" id="subtitle"]]
+[[!template text="""With that solution that I built for me first,""" start="00:04:34.380" video="qanda-one" id="subtitle"]]
+[[!template text="""I don't care if I need something else.""" start="00:04:38.920" video="qanda-one" id="subtitle"]]
+[[!template text="""I just have to go in that file.""" start="00:04:42.020" video="qanda-one" id="subtitle"]]
+[[!template text="""It doesn't need to be that file because as I""" start="00:04:49.840" video="qanda-one" id="subtitle"]]
+[[!template text="""am in Emacs if the render functions are""" start="00:04:52.440" video="qanda-one" id="subtitle"]]
+[[!template text="""already evaluated they exist and I can use it""" start="00:04:56.120" video="qanda-one" id="subtitle"]]
+[[!template text="""but I just have to change that file so if I""" start="00:04:58.940" video="qanda-one" id="subtitle"]]
+[[!template text="""want something more I just I go there let's""" start="00:05:02.520" video="qanda-one" id="subtitle"]]
+[[!template text="""say so does it answer the question or I""" start="00:05:07.860" video="qanda-one" id="subtitle"]]
+[[!template text="""continue to show something?""" start="00:05:10.920" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: It's up to you, I think you are answering the""" start="00:05:14.320" video="qanda-one" id="subtitle"]]
+[[!template text="""question. I think you veered off a little bit""" start="00:05:16.060" video="qanda-one" id="subtitle"]]
+[[!template text="""from just why not you go but then you kind of""" start="00:05:17.600" video="qanda-one" id="subtitle"]]
+[[!template text="""redid part of your presentation to justify""" start="00:05:19.940" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: own system. But stop me if I go because I""" start="00:05:23.480" video="qanda-one" id="subtitle"]]
+[[!template text="""used to want to show more things than what""" start="00:05:26.360" video="qanda-one" id="subtitle"]]
+[[!template text="""there is in the question.""" start="00:05:29.920" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: why you had to roll your Yeah that's fine.""" start="00:05:21.940" video="qanda-one" id="subtitle"]]
+[[!template text="""Just for people who do not know,""" start="00:05:32.080" video="qanda-one" id="subtitle"]]
+[[!template text="""we tend to restrict speakers when they submit""" start="00:05:33.340" video="qanda-one" id="subtitle"]]
+[[!template text="""a presentation. We tell them,""" start="00:05:35.500" video="qanda-one" id="subtitle"]]
+[[!template text="""oh, you can do a flash talk in 10 minutes or""" start="00:05:36.620" video="qanda-one" id="subtitle"]]
+[[!template text="""a bit of a longer talk in 20 minutes or 40""" start="00:05:39.000" video="qanda-one" id="subtitle"]]
+[[!template text="""minutes. And usually, because we have a lot""" start="00:05:41.100" video="qanda-one" id="subtitle"]]
+[[!template text="""of speakers, we have to kind of coerce people""" start="00:05:43.180" video="qanda-one" id="subtitle"]]
+[[!template text="""into going to shorter formats and sometimes""" start="00:05:46.260" video="qanda-one" id="subtitle"]]
+[[!template text="""it's a lot about killing your darlings.""" start="00:05:48.340" video="qanda-one" id="subtitle"]]
+[[!template text="""But just to reassure you,""" start="00:05:51.100" video="qanda-one" id="subtitle"]]
+[[!template text="""we're just about to go on a launch break in""" start="00:05:52.360" video="qanda-one" id="subtitle"]]
+[[!template text="""about 10 minutes, so you've got the full 10""" start="00:05:54.560" video="qanda-one" id="subtitle"]]
+[[!template text="""minutes to use however you want,""" start="00:05:56.840" video="qanda-one" id="subtitle"]]
+[[!template text="""but I'll just tell you,""" start="00:05:58.320" video="qanda-one" id="subtitle"]]
+[[!template text="""you have a lot of questions so you might want""" start="00:05:59.340" video="qanda-one" id="subtitle"]]
+[[!template text="""to perhaps move on to the next 1 as soon as""" start="00:06:01.080" video="qanda-one" id="subtitle"]]
+[[!template text="""you can.""" start="00:06:03.400" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes okay so tell me the next 1 and if people""" start="00:06:04.540" video="qanda-one" id="subtitle"]]
+[[!template text="""want to stay more I can also stay more.""" start="00:06:08.940" video="qanda-one" id="subtitle"]]
+[[!template text="""Right. I understand if people need to go to""" start="00:06:14.240" video="qanda-one" id="subtitle"]]
+[[!template text="""lunch, they can, but people that want to""" start="00:06:17.220" video="qanda-one" id="subtitle"]]
+[[!template text="""stay, if it's possible,""" start="00:06:19.020" video="qanda-one" id="subtitle"]]
+[[!template text="""I'm here to answer any question.""" start="00:06:20.340" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Splendid. All right, so moving on to the next""" start="00:06:24.060" video="qanda-one" id="subtitle"]]
+[[!template text="""question. Is it possible to include the""" start="00:06:26.240" video="qanda-one" id="subtitle"]]
+[[!template text="""include org tag to add content from other""" start="00:06:29.180" video="qanda-one" id="subtitle"]]
+[[!template text="""files. Do you see what I'm talking about?""" start="00:06:31.560" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, so it's not included.""" start="00:06:35.200" video="qanda-one" id="subtitle"]]
+[[!template text="""So the idea was really to have only 1 file""" start="00:06:39.380" video="qanda-one" id="subtitle"]]
+[[!template text="""and have no options. So if you look at the,""" start="00:06:45.720" video="qanda-one" id="subtitle"]]
+[[!template text="""let's go into, so the answer is no,""" start="00:06:49.760" video="qanda-one" id="subtitle"]]
+[[!template text="""but if you want, you can write the code that""" start="00:06:52.240" video="qanda-one" id="subtitle"]]
+[[!template text="""do it. But let's just go into one.n,""" start="00:06:56.320" video="qanda-one" id="subtitle"]]
+[[!template text="""so that files. So this is the files where you""" start="00:07:02.280" video="qanda-one" id="subtitle"]]
+[[!template text="""have everything, and there is only 2""" start="00:07:07.900" video="qanda-one" id="subtitle"]]
+[[!template text="""dependencies. Maybe we can see that at the""" start="00:07:11.440" video="qanda-one" id="subtitle"]]
+[[!template text="""top so which are htmlis on the Jack and the""" start="00:07:13.980" video="qanda-one" id="subtitle"]]
+[[!template text="""other are Augment. So for me,""" start="00:07:18.080" video="qanda-one" id="subtitle"]]
+[[!template text="""they're not dependencies because they come""" start="00:07:19.840" video="qanda-one" id="subtitle"]]
+[[!template text="""with Emacs. But the question is,""" start="00:07:21.820" video="qanda-one" id="subtitle"]]
+[[!template text="""can I add other things?""" start="00:07:25.440" video="qanda-one" id="subtitle"]]
+[[!template text="""If you look at that, you don't see the orange""" start="00:07:27.440" video="qanda-one" id="subtitle"]]
+[[!template text="""color which are viable,""" start="00:07:31.640" video="qanda-one" id="subtitle"]]
+[[!template text="""it's because I didn't want any configuration""" start="00:07:33.600" video="qanda-one" id="subtitle"]]
+[[!template text="""nor option. So there is no,""" start="00:07:38.440" video="qanda-one" id="subtitle"]]
+[[!template text="""if you think about, you are used to use org""" start="00:07:41.960" video="qanda-one" id="subtitle"]]
+[[!template text="""export normally and to use all the options""" start="00:07:45.660" video="qanda-one" id="subtitle"]]
+[[!template text="""that are possible on all the things they are""" start="00:07:49.540" video="qanda-one" id="subtitle"]]
+[[!template text="""not included. You can add them because when""" start="00:07:52.000" video="qanda-one" id="subtitle"]]
+[[!template text="""you are in a render function.""" start="00:08:04.900" video="qanda-one" id="subtitle"]]
+[[!template text="""So this is the render function that I showed""" start="00:08:07.060" video="qanda-one" id="subtitle"]]
+[[!template text="""in the theme. You have a page tree so you""" start="00:08:08.940" video="qanda-one" id="subtitle"]]
+[[!template text="""have the information but in the global I""" start="00:08:11.980" video="qanda-one" id="subtitle"]]
+[[!template text="""think, yes in global, you can pass anything""" start="00:08:18.358" video="qanda-one" id="subtitle"]]
+[[!template text="""you want and if you want you can pass the""" start="00:08:21.020" video="qanda-one" id="subtitle"]]
+[[!template text="""parse tree of the whole file.""" start="00:08:24.720" video="qanda-one" id="subtitle"]]
+[[!template text="""So if you pass the parse tree of the whole""" start="00:08:28.080" video="qanda-one" id="subtitle"]]
+[[!template text="""file, what you can do is that you can get it""" start="00:08:30.840" video="qanda-one" id="subtitle"]]
+[[!template text="""there. So I don't have it right now,""" start="00:08:35.400" video="qanda-one" id="subtitle"]]
+[[!template text="""but you might have your include stuff and you""" start="00:08:38.659" video="qanda-one" id="subtitle"]]
+[[!template text="""get it with a node property that target""" start="00:08:43.980" video="qanda-one" id="subtitle"]]
+[[!template text="""something in the global variable.""" start="00:08:48.580" video="qanda-one" id="subtitle"]]
+[[!template text="""So if we look just to be short but those 3""" start="00:08:50.940" video="qanda-one" id="subtitle"]]
+[[!template text="""parts, the first 1 is page tree.""" start="00:08:55.320" video="qanda-one" id="subtitle"]]
+[[!template text="""So it's this page that you are on the right,""" start="00:08:57.180" video="qanda-one" id="subtitle"]]
+[[!template text="""pages are a list of all the pages and global""" start="00:08:59.160" video="qanda-one" id="subtitle"]]
+[[!template text="""is something that you can set and reset once""" start="00:09:02.840" video="qanda-one" id="subtitle"]]
+[[!template text="""and you have the whole part street.""" start="00:09:06.580" video="qanda-one" id="subtitle"]]
+[[!template text="""So anything that you add in your op-files""" start="00:09:10.840" video="qanda-one" id="subtitle"]]
+[[!template text="""could go in global if you want,""" start="00:09:15.040" video="qanda-one" id="subtitle"]]
+[[!template text="""but it's not included.""" start="00:09:16.840" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: All right. I think that's also answering the""" start="00:09:20.600" video="qanda-one" id="subtitle"]]
+[[!template text="""question. Can this generate a single file""" start="00:09:23.140" video="qanda-one" id="subtitle"]]
+[[!template text="""from different sources like blog.org,""" start="00:09:24.840" video="qanda-one" id="subtitle"]]
+[[!template text="""videos.org? I think you've just answered""" start="00:09:26.880" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, I think yes.""" start="00:09:30.040" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: this, right? Right. Okay.""" start="00:09:28.820" video="qanda-one" id="subtitle"]]
+[[!template text="""So moving on to the other question.""" start="00:09:32.660" video="qanda-one" id="subtitle"]]
+[[!template text="""Do you have pre-made templates already along""" start="00:09:34.660" video="qanda-one" id="subtitle"]]
+[[!template text="""with the 1.el package?""" start="00:09:37.200" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: So, yes and no. So, The answer is if we go to""" start="00:09:41.680" video="qanda-one" id="subtitle"]]
+[[!template text="""1.n, so this file, so the first are blah,""" start="00:09:49.960" video="qanda-one" id="subtitle"]]
+[[!template text="""blah, blah. How it works,""" start="00:09:55.520" video="qanda-one" id="subtitle"]]
+[[!template text="""so, okay, so you have the 1-hocs,""" start="00:10:01.780" video="qanda-one" id="subtitle"]]
+[[!template text="""which is what can translate the org parse""" start="00:10:07.200" video="qanda-one" id="subtitle"]]
+[[!template text="""tree into HTML. So this is for the content of""" start="00:10:11.980" video="qanda-one" id="subtitle"]]
+[[!template text="""each page. So this is very useful.""" start="00:10:16.260" video="qanda-one" id="subtitle"]]
+[[!template text="""Then we have a bunch of functions that help""" start="00:10:18.480" video="qanda-one" id="subtitle"]]
+[[!template text="""to render the function,""" start="00:10:22.660" video="qanda-one" id="subtitle"]]
+[[!template text="""each page. And you have a bunch of...""" start="00:10:26.040" video="qanda-one" id="subtitle"]]
+[[!template text="""Everything that starts with dash default is a""" start="00:10:31.360" video="qanda-one" id="subtitle"]]
+[[!template text="""render function. So there's no template,""" start="00:10:33.920" video="qanda-one" id="subtitle"]]
+[[!template text="""but each page that if you want,""" start="00:10:37.480" video="qanda-one" id="subtitle"]]
+[[!template text="""so that 1, the home, you can use 1 default""" start="00:10:42.240" video="qanda-one" id="subtitle"]]
+[[!template text="""home. So, if you want to list the page,""" start="00:10:46.400" video="qanda-one" id="subtitle"]]
+[[!template text="""you have that 1. For a page with no table of""" start="00:10:48.740" video="qanda-one" id="subtitle"]]
+[[!template text="""content, you use that thing.""" start="00:10:53.220" video="qanda-one" id="subtitle"]]
+[[!template text="""And if you go back to be short,""" start="00:10:55.840" video="qanda-one" id="subtitle"]]
+[[!template text="""if we go there, I put this like that.""" start="00:10:58.260" video="qanda-one" id="subtitle"]]
+[[!template text="""So this that we see here is the first inline""" start="00:11:03.900" video="qanda-one" id="subtitle"]]
+[[!template text="""of 1.org. By the way, it doesn't have to be""" start="00:11:09.960" video="qanda-one" id="subtitle"]]
+[[!template text="""called 1.org. It's just as you want,""" start="00:11:14.440" video="qanda-one" id="subtitle"]]
+[[!template text="""but maybe we can call it.""" start="00:11:17.160" video="qanda-one" id="subtitle"]]
+[[!template text="""So default, what was the other 1?""" start="00:11:20.740" video="qanda-one" id="subtitle"]]
+[[!template text="""Default with sidebar. Or is it default with""" start="00:11:23.220" video="qanda-one" id="subtitle"]]
+[[!template text="""sidebar or default? Yes,""" start="00:11:28.280" video="qanda-one" id="subtitle"]]
+[[!template text="""with sidebar. Sidebar,""" start="00:11:30.080" video="qanda-one" id="subtitle"]]
+[[!template text="""if it's worked correctly.""" start="00:11:36.400" video="qanda-one" id="subtitle"]]
+[[!template text="""Okay, so, okay, so I don't know why the CSS""" start="00:11:39.140" video="qanda-one" id="subtitle"]]
+[[!template text="""is not working correctly.""" start="00:11:46.760" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: It's okay. It wouldn't be a live demo without""" start="00:11:50.740" video="qanda-one" id="subtitle"]]
+[[!template text="""problems occurring at some point.""" start="00:11:53.860" video="qanda-one" id="subtitle"]]
+[[!template text="""Okay.""" start="00:11:55.440" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: But so maybe we can use this 1.""" start="00:11:56.980" video="qanda-one" id="subtitle"]]
+[[!template text="""Or we stuck. So we are going to use this 1,""" start="00:12:02.940" video="qanda-one" id="subtitle"]]
+[[!template text="""we've talked this 1, but maybe better in this""" start="00:12:06.980" video="qanda-one" id="subtitle"]]
+[[!template text="""1 that add something. So we build it again""" start="00:12:16.020" video="qanda-one" id="subtitle"]]
+[[!template text="""and now, oh, come on. We have it and we have""" start="00:12:20.340" video="qanda-one" id="subtitle"]]
+[[!template text="""the, sorry, if we have just default,""" start="00:12:32.180" video="qanda-one" id="subtitle"]]
+[[!template text="""we rebuild and now this is the default layer""" start="00:12:37.820" video="qanda-one" id="subtitle"]]
+[[!template text="""that if we do with table of content,""" start="00:12:41.120" video="qanda-one" id="subtitle"]]
+[[!template text="""you have it, you have the default content.""" start="00:12:46.060" video="qanda-one" id="subtitle"]]
+[[!template text="""So how to change, and they are not template.""" start="00:12:48.620" video="qanda-one" id="subtitle"]]
+[[!template text="""They are render functions that takes your""" start="00:12:53.940" video="qanda-one" id="subtitle"]]
+[[!template text="""page as a tree and render HTML string.""" start="00:13:00.300" video="qanda-one" id="subtitle"]]
+[[!template text="""So you can build any function that you want.""" start="00:13:06.260" video="qanda-one" id="subtitle"]]
+[[!template text="""So yes, I think that answers the question.""" start="00:13:10.600" video="qanda-one" id="subtitle"]]
+[[!template text="""There is no template like in other systems.""" start="00:13:12.280" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Cool, that makes sense.""" start="00:13:17.780" video="qanda-one" id="subtitle"]]
+[[!template text="""We have 2 more questions and then we'll need""" start="00:13:19.020" video="qanda-one" id="subtitle"]]
+[[!template text="""to go on a lunch break.""" start="00:13:21.000" video="qanda-one" id="subtitle"]]
+[[!template text="""I don't see anyone join the room.""" start="00:13:22.200" video="qanda-one" id="subtitle"]]
+[[!template text="""Remember, Tony has said that he would be""" start="00:13:23.740" video="qanda-one" id="subtitle"]]
+[[!template text="""willing to answer more questions during the""" start="00:13:25.640" video="qanda-one" id="subtitle"]]
+[[!template text="""lunch break, perhaps because it's not lunch""" start="00:13:27.500" video="qanda-one" id="subtitle"]]
+[[!template text="""break for you. Are you in Europe right now?""" start="00:13:29.120" video="qanda-one" id="subtitle"]]
+[[!template text="""So that's why for us, also for me it's very""" start="00:13:32.360" video="qanda-one" id="subtitle"]]
+[[!template text="""dark, but it's not lunch break for us,""" start="00:13:34.600" video="qanda-one" id="subtitle"]]
+[[!template text="""it's going to be dinner break soon actually.""" start="00:13:37.660" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes. Yes, exactly, so I'm just,""" start="00:13:31.280" video="qanda-one" id="subtitle"]]
+[[!template text="""I'm okay.""" start="00:13:44.020" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Right, Okay, so moving on to 1 of the last 2""" start="00:13:45.580" video="qanda-one" id="subtitle"]]
+[[!template text="""questions. What additional features are there""" start="00:13:49.200" video="qanda-one" id="subtitle"]]
+[[!template text="""that you would like to add to 1.EL""" start="00:13:51.680" video="qanda-one" id="subtitle"]]
+[[!template text="""in the future?""" start="00:13:53.960" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, there's only 1, which is a full text""" start="00:13:56.120" video="qanda-one" id="subtitle"]]
+[[!template text="""search done in a simple way.""" start="00:14:00.560" video="qanda-one" id="subtitle"]]
+[[!template text="""So I don't meet what simple way means,""" start="00:14:06.540" video="qanda-one" id="subtitle"]]
+[[!template text="""but when I see something complicated,""" start="00:14:10.320" video="qanda-one" id="subtitle"]]
+[[!template text="""it doesn't enter in 1 to me.""" start="00:14:12.620" video="qanda-one" id="subtitle"]]
+[[!template text="""So, but really, if you see that,""" start="00:14:15.400" video="qanda-one" id="subtitle"]]
+[[!template text="""I would like to have some way.""" start="00:14:19.120" video="qanda-one" id="subtitle"]]
+[[!template text="""So, this is the documentation and I would""" start="00:14:22.300" video="qanda-one" id="subtitle"]]
+[[!template text="""like to have some way to just have another""" start="00:14:25.080" video="qanda-one" id="subtitle"]]
+[[!template text="""function because we are not talking about""" start="00:14:27.500" video="qanda-one" id="subtitle"]]
+[[!template text="""those websites on the 1.L.""" start="00:14:31.300" video="qanda-one" id="subtitle"]]
+[[!template text="""It's not made for a big company or of your""" start="00:14:34.440" video="qanda-one" id="subtitle"]]
+[[!template text="""things, it's just for a random guy that have""" start="00:14:39.520" video="qanda-one" id="subtitle"]]
+[[!template text="""a blog or a few blogs and If you are a great""" start="00:14:42.440" video="qanda-one" id="subtitle"]]
+[[!template text="""blogger, maybe you are going to write 100 or""" start="00:14:46.200" video="qanda-one" id="subtitle"]]
+[[!template text="""200 or 300 pages in many years.""" start="00:14:53.040" video="qanda-one" id="subtitle"]]
+[[!template text="""So this enter in that category.""" start="00:14:57.240" video="qanda-one" id="subtitle"]]
+[[!template text="""So it's small. So I think it can,""" start="00:15:00.060" video="qanda-one" id="subtitle"]]
+[[!template text="""we could find a way to make a full text""" start="00:15:04.080" video="qanda-one" id="subtitle"]]
+[[!template text="""search. And that is simple.""" start="00:15:07.580" video="qanda-one" id="subtitle"]]
+[[!template text="""I don't need to, to go with,""" start="00:15:10.240" video="qanda-one" id="subtitle"]]
+[[!template text="""with solution like Algolia that is,""" start="00:15:13.520" video="qanda-one" id="subtitle"]]
+[[!template text="""that works super fine.""" start="00:15:16.620" video="qanda-one" id="subtitle"]]
+[[!template text="""But this is something that I don't control""" start="00:15:17.900" video="qanda-one" id="subtitle"]]
+[[!template text="""and I have to give them the data and I'm not""" start="00:15:21.600" video="qanda-one" id="subtitle"]]
+[[!template text="""against that but it's just that I think with""" start="00:15:26.200" video="qanda-one" id="subtitle"]]
+[[!template text="""a bit of work something can be done with full""" start="00:15:29.320" video="qanda-one" id="subtitle"]]
+[[!template text="""textile. But this is the only thing that I""" start="00:15:32.800" video="qanda-one" id="subtitle"]]
+[[!template text="""would like to add.""" start="00:15:35.600" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Very clear answer. Next question.""" start="00:15:38.720" video="qanda-one" id="subtitle"]]
+[[!template text="""Can you create navbars on a website and fancy""" start="00:15:41.580" video="qanda-one" id="subtitle"]]
+[[!template text="""things like carousels using 1.EL?""" start="00:15:44.380" video="qanda-one" id="subtitle"]]
+[[!template text="""Now carousels is just,""" start="00:15:46.800" video="qanda-one" id="subtitle"]]
+[[!template text="""I think, a fancy way to display pictures and""" start="00:15:48.260" video="qanda-one" id="subtitle"]]
+[[!template text="""please correct me whoever asked this""" start="00:15:51.820" video="qanda-one" id="subtitle"]]
+[[!template text="""question. Otherwise I see you taking notes""" start="00:15:53.800" video="qanda-one" id="subtitle"]]
+[[!template text="""for the answers, thank you very much.""" start="00:15:55.440" video="qanda-one" id="subtitle"]]
+[[!template text="""But if you could specify maybe carousels so""" start="00:15:56.820" video="qanda-one" id="subtitle"]]
+[[!template text="""that Tony and I may get a better idea.""" start="00:15:58.740" video="qanda-one" id="subtitle"]]
+[[!template text="""But still, first part of the question,""" start="00:16:01.920" video="qanda-one" id="subtitle"]]
+[[!template text="""can you create navbars on a website?""" start="00:16:03.340" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes. So if, for instance,""" start="00:16:05.980" video="qanda-one" id="subtitle"]]
+[[!template text="""you see there, to me, it's not a,""" start="00:16:10.900" video="qanda-one" id="subtitle"]]
+[[!template text="""it's a navbar. So you already have it.""" start="00:16:14.600" video="qanda-one" id="subtitle"]]
+[[!template text="""I didn't show that in the talk,""" start="00:16:19.860" video="qanda-one" id="subtitle"]]
+[[!template text="""but the CSS for the default function that""" start="00:16:23.080" video="qanda-one" id="subtitle"]]
+[[!template text="""works is responsive. So,""" start="00:16:27.440" video="qanda-one" id="subtitle"]]
+[[!template text="""out of the box, if you are using something,""" start="00:16:31.720" video="qanda-one" id="subtitle"]]
+[[!template text="""you will have an app bar done for you with""" start="00:16:34.600" video="qanda-one" id="subtitle"]]
+[[!template text="""all the pages that you have.""" start="00:16:37.540" video="qanda-one" id="subtitle"]]
+[[!template text="""So, if we go to install,""" start="00:16:38.680" video="qanda-one" id="subtitle"]]
+[[!template text="""we have that. And if we no longer have that,""" start="00:16:40.920" video="qanda-one" id="subtitle"]]
+[[!template text="""we have that sidebar there.""" start="00:16:44.900" video="qanda-one" id="subtitle"]]
+[[!template text="""And how it's done. So,""" start="00:16:50.220" video="qanda-one" id="subtitle"]]
+[[!template text="""the same way. I like simple fields that are""" start="00:16:52.660" video="qanda-one" id="subtitle"]]
+[[!template text="""flexible and I didn't want configuration""" start="00:16:56.380" video="qanda-one" id="subtitle"]]
+[[!template text="""because if you want to write the code to""" start="00:16:58.860" video="qanda-one" id="subtitle"]]
+[[!template text="""change something you just have to write code.""" start="00:17:01.280" video="qanda-one" id="subtitle"]]
+[[!template text="""So any function, render function,""" start="00:17:03.480" video="qanda-one" id="subtitle"]]
+[[!template text="""is yours. So you can do whatever you want and""" start="00:17:05.859" video="qanda-one" id="subtitle"]]
+[[!template text="""you enter the html that you want to render.""" start="00:17:08.760" video="qanda-one" id="subtitle"]]
+[[!template text="""So let's see how do we get that navigation""" start="00:17:11.520" video="qanda-one" id="subtitle"]]
+[[!template text="""bar that we have when we do that this is a""" start="00:17:17.920" video="qanda-one" id="subtitle"]]
+[[!template text="""CSS stuff. But when we click,""" start="00:17:20.920" video="qanda-one" id="subtitle"]]
+[[!template text="""this is a JS stuff that,""" start="00:17:23.099" video="qanda-one" id="subtitle"]]
+[[!template text="""so let's go to one.l And maybe this is a""" start="00:17:27.040" video="qanda-one" id="subtitle"]]
+[[!template text="""sidebar. Why that function because,""" start="00:17:32.320" video="qanda-one" id="subtitle"]]
+[[!template text="""okay. So when that function,""" start="00:17:36.300" video="qanda-one" id="subtitle"]]
+[[!template text="""so 1 default sidebar is 1 that is used to do""" start="00:17:40.680" video="qanda-one" id="subtitle"]]
+[[!template text="""some of the things at some point,""" start="00:17:45.340" video="qanda-one" id="subtitle"]]
+[[!template text="""what we return is a JackHTML that take a data""" start="00:17:47.120" video="qanda-one" id="subtitle"]]
+[[!template text="""structure and return a string.""" start="00:17:52.120" video="qanda-one" id="subtitle"]]
+[[!template text="""So this is your HTML. So you can see at the""" start="00:17:54.340" video="qanda-one" id="subtitle"]]
+[[!template text="""top you have the end, then you have the body,""" start="00:17:57.280" video="qanda-one" id="subtitle"]]
+[[!template text="""and if we go at the end we can add a script""" start="00:18:01.120" video="qanda-one" id="subtitle"]]
+[[!template text="""thing. So what we've seen with the sidebar""" start="00:18:06.080" video="qanda-one" id="subtitle"]]
+[[!template text="""it's just that much line of JavaScript.""" start="00:18:08.920" video="qanda-one" id="subtitle"]]
+[[!template text="""So this is the only JavaScript that there is""" start="00:18:11.920" video="qanda-one" id="subtitle"]]
+[[!template text="""to get what we have here when we do that.""" start="00:18:17.440" video="qanda-one" id="subtitle"]]
+[[!template text="""So you can add whatever you want.""" start="00:18:25.360" video="qanda-one" id="subtitle"]]
+[[!template text="""It's code and you're the master of that code.""" start="00:18:29.500" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Splendid, great. So to specify the carousel""" start="00:18:35.280" video="qanda-one" id="subtitle"]]
+[[!template text="""stuff that we mentioned before,""" start="00:18:38.800" video="qanda-one" id="subtitle"]]
+[[!template text="""it's pictures rolling or sliding from 1 to""" start="00:18:39.860" video="qanda-one" id="subtitle"]]
+[[!template text="""the other. It's kind of like having a""" start="00:18:42.520" video="qanda-one" id="subtitle"]]
+[[!template text="""gallery, imagine a fancy dynamic gallery""" start="00:18:44.620" video="qanda-one" id="subtitle"]]
+[[!template text="""where you can scroll pictures.""" start="00:18:47.540" video="qanda-one" id="subtitle"]]
+[[!template text="""Do you see what I'm talking about?""" start="00:18:48.740" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Yes, so that things would just be I think""" start="00:18:50.380" video="qanda-one" id="subtitle"]]
+[[!template text="""some javascript added somewhere and I can""" start="00:18:53.620" video="qanda-one" id="subtitle"]]
+[[!template text="""show you another website.""" start="00:18:57.620" video="qanda-one" id="subtitle"]]
+[[!template text="""So for instance if we go because there are""" start="00:18:59.440" video="qanda-one" id="subtitle"]]
+[[!template text="""not all the data of the website are not all""" start="00:19:04.200" video="qanda-one" id="subtitle"]]
+[[!template text="""public, but the website they are.""" start="00:19:08.160" video="qanda-one" id="subtitle"]]
+[[!template text="""So for instance, a mini-buffer,""" start="00:19:10.140" video="qanda-one" id="subtitle"]]
+[[!template text="""it's not a carousel, but at the home page,""" start="00:19:14.480" video="qanda-one" id="subtitle"]]
+[[!template text="""we can do whatever we want.""" start="00:19:19.140" video="qanda-one" id="subtitle"]]
+[[!template text="""Still those pages, still,""" start="00:19:22.660" video="qanda-one" id="subtitle"]]
+[[!template text="""this is only 1 file for each page.""" start="00:19:24.560" video="qanda-one" id="subtitle"]]
+[[!template text="""So if we click, we can get those things.""" start="00:19:28.980" video="qanda-one" id="subtitle"]]
+[[!template text="""It's just that when we,""" start="00:19:31.720" video="qanda-one" id="subtitle"]]
+[[!template text="""for the home page for instance,""" start="00:19:33.420" video="qanda-one" id="subtitle"]]
+[[!template text="""when we go back on that home page,""" start="00:19:35.860" video="qanda-one" id="subtitle"]]
+[[!template text="""we have the list at that point.""" start="00:19:38.160" video="qanda-one" id="subtitle"]]
+[[!template text="""So let's go back to that function that we're,""" start="00:19:40.580" video="qanda-one" id="subtitle"]]
+[[!template text="""so not that 1, maybe the 1,""" start="00:19:45.540" video="qanda-one" id="subtitle"]]
+[[!template text="""1 different, it's better because that 1 is""" start="00:19:47.740" video="qanda-one" id="subtitle"]]
+[[!template text="""simpler. So almost nothing happened.""" start="00:19:50.760" video="qanda-one" id="subtitle"]]
+[[!template text="""We have the list of the pages.""" start="00:19:53.620" video="qanda-one" id="subtitle"]]
+[[!template text="""So I can do whatever I want with that list.""" start="00:19:56.240" video="qanda-one" id="subtitle"]]
+[[!template text="""I can loop over and we can see that 1,""" start="00:20:00.360" video="qanda-one" id="subtitle"]]
+[[!template text="""that default home list of pages,""" start="00:20:06.340" video="qanda-one" id="subtitle"]]
+[[!template text="""so that list of the pages,""" start="00:20:08.600" video="qanda-one" id="subtitle"]]
+[[!template text="""and we see where is the list.""" start="00:20:10.260" video="qanda-one" id="subtitle"]]
+[[!template text="""Okay, so this is a, here we have a function""" start="00:20:13.200" video="qanda-one" id="subtitle"]]
+[[!template text="""that just, we want the pages,""" start="00:20:17.680" video="qanda-one" id="subtitle"]]
+[[!template text="""but I think we, but the home page,""" start="00:20:21.100" video="qanda-one" id="subtitle"]]
+[[!template text="""and we have that list,""" start="00:20:24.620" video="qanda-one" id="subtitle"]]
+[[!template text="""and then here we do that.""" start="00:20:28.300" video="qanda-one" id="subtitle"]]
+[[!template text="""And we get something listed,""" start="00:20:37.740" video="qanda-one" id="subtitle"]]
+[[!template text="""But then as you control everything that you""" start="00:20:40.680" video="qanda-one" id="subtitle"]]
+[[!template text="""do, you can pass any CSS class that you want""" start="00:20:44.060" video="qanda-one" id="subtitle"]]
+[[!template text="""to do those things. So,""" start="00:20:51.820" video="qanda-one" id="subtitle"]]
+[[!template text="""for instance, that div,""" start="00:20:53.620" video="qanda-one" id="subtitle"]]
+[[!template text="""add the class either. Yes,""" start="00:20:55.260" video="qanda-one" id="subtitle"]]
+[[!template text="""you can do. I don't remember the question,""" start="00:21:00.660" video="qanda-one" id="subtitle"]]
+[[!template text="""but I think I was answering the right 1.""" start="00:21:02.840" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: No, no, you were answering it.""" start="00:21:05.860" video="qanda-one" id="subtitle"]]
+[[!template text="""It was about carousels and about having fancy""" start="00:21:07.260" video="qanda-one" id="subtitle"]]
+[[!template text="""display for image galleries.""" start="00:21:09.720" video="qanda-one" id="subtitle"]]
+[[!template text="""And I think you've answered.""" start="00:21:11.720" video="qanda-one" id="subtitle"]]
+[[!template text="""Basically, you just put your JavaScript,""" start="00:21:12.660" video="qanda-one" id="subtitle"]]
+[[!template text="""you embed it inside the code.""" start="00:21:14.160" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Exactly.""" start="00:21:16.620" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: So, other question. Would there be an""" start="00:21:18.620" video="qanda-one" id="subtitle"]]
+[[!template text="""automated way to convert an existing HTML""" start="00:21:20.220" video="qanda-one" id="subtitle"]]
+[[!template text="""document into a JackHTML form?""" start="00:21:22.860" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Okay, so that 1, I don't have 1.""" start="00:21:28.180" video="qanda-one" id="subtitle"]]
+[[!template text="""It's another topic, but maybe there are some""" start="00:21:32.200" video="qanda-one" id="subtitle"]]
+[[!template text="""kind of session because some people that""" start="00:21:35.660" video="qanda-one" id="subtitle"]]
+[[!template text="""know, that are used to Lisp,""" start="00:21:37.940" video="qanda-one" id="subtitle"]]
+[[!template text="""common Lisp or Clojure or other,""" start="00:21:43.080" video="qanda-one" id="subtitle"]]
+[[!template text="""Jack-html, that function,""" start="00:21:46.300" video="qanda-one" id="subtitle"]]
+[[!template text="""is something classic, but I didn't find,""" start="00:21:50.740" video="qanda-one" id="subtitle"]]
+[[!template text="""So I wrote it because I didn't find it""" start="00:21:53.680" video="qanda-one" id="subtitle"]]
+[[!template text="""already done the way I want for Emacs.""" start="00:22:00.840" video="qanda-one" id="subtitle"]]
+[[!template text="""And this is something for E-cup closure.""" start="00:22:06.040" video="qanda-one" id="subtitle"]]
+[[!template text="""So really I take, it's not that I take my""" start="00:22:09.640" video="qanda-one" id="subtitle"]]
+[[!template text="""impression, just that when you have something""" start="00:22:13.260" video="qanda-one" id="subtitle"]]
+[[!template text="""that exists and you look at how it's done.""" start="00:22:15.060" video="qanda-one" id="subtitle"]]
+[[!template text="""So you have a eCup for Crusher,""" start="00:22:20.640" video="qanda-one" id="subtitle"]]
+[[!template text="""does the same thing that HTML.""" start="00:22:25.160" video="qanda-one" id="subtitle"]]
+[[!template text="""It's more that I do a Jack HTML do what eCup""" start="00:22:26.660" video="qanda-one" id="subtitle"]]
+[[!template text="""does, but maybe they do it a better way.""" start="00:22:32.440" video="qanda-one" id="subtitle"]]
+[[!template text="""So I think maybe in that community,""" start="00:22:37.800" video="qanda-one" id="subtitle"]]
+[[!template text="""it might already exist something that go from""" start="00:22:42.320" video="qanda-one" id="subtitle"]]
+[[!template text="""HTML to Jack. So you can see,""" start="00:22:46.320" video="qanda-one" id="subtitle"]]
+[[!template text="""is it big enough? I will make it big enough.""" start="00:22:53.640" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: It's good enough, don't worry.""" start="00:22:57.626" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: So if you see- So you have the hash HTML and""" start="00:22:56.820" video="qanda-one" id="subtitle"]]
+[[!template text="""you see those things. There are things that I""" start="00:23:01.420" video="qanda-one" id="subtitle"]]
+[[!template text="""couldn't do, for instance,""" start="00:23:04.200" video="qanda-one" id="subtitle"]]
+[[!template text="""for the ID, I couldn't use the hash in the""" start="00:23:05.460" video="qanda-one" id="subtitle"]]
+[[!template text="""name of, of how do we name that,""" start="00:23:09.280" video="qanda-one" id="subtitle"]]
+[[!template text="""of the keywords, because it's used for""" start="00:23:14.760" video="qanda-one" id="subtitle"]]
+[[!template text="""something else in a Emacs Lisp.""" start="00:23:18.480" video="qanda-one" id="subtitle"]]
+[[!template text="""So, I use... Anyway, so you see that you have""" start="00:23:21.180" video="qanda-one" id="subtitle"]]
+[[!template text="""that things but in Emacs we don't have the""" start="00:23:25.520" video="qanda-one" id="subtitle"]]
+[[!template text="""map with that syntax. We have a hash map but""" start="00:23:30.260" video="qanda-one" id="subtitle"]]
+[[!template text="""they are not with that syntax and I wanted""" start="00:23:34.960" video="qanda-one" id="subtitle"]]
+[[!template text="""that syntax so we use only list and Here we""" start="00:23:37.120" video="qanda-one" id="subtitle"]]
+[[!template text="""have an array with a hash map.""" start="00:23:46.080" video="qanda-one" id="subtitle"]]
+[[!template text="""So let me just say, so the question was,""" start="00:23:49.200" video="qanda-one" id="subtitle"]]
+[[!template text="""does it exist something?""" start="00:23:52.360" video="qanda-one" id="subtitle"]]
+[[!template text="""I think not, but it could be built or maybe""" start="00:23:55.240" video="qanda-one" id="subtitle"]]
+[[!template text="""exist for E-Cups, you are interested.""" start="00:23:58.680" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Okay, great. I think that answers the""" start="00:24:03.240" video="qanda-one" id="subtitle"]]
+[[!template text="""question perfectly. And our final question,""" start="00:24:04.860" video="qanda-one" id="subtitle"]]
+[[!template text="""does this or you use any other Emacs packages""" start="00:24:08.440" video="qanda-one" id="subtitle"]]
+[[!template text="""for your packages slash website,""" start="00:24:12.240" video="qanda-one" id="subtitle"]]
+[[!template text="""example, or publish? Like,""" start="00:24:14.840" video="qanda-one" id="subtitle"]]
+[[!template text="""rephrasing the question,""" start="00:24:17.020" video="qanda-one" id="subtitle"]]
+[[!template text="""do you use it for your own personal usage or""" start="00:24:17.960" video="qanda-one" id="subtitle"]]
+[[!template text="""do you interact with other packages?""" start="00:24:20.820" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: I'm not sure I understand the question.""" start="00:24:24.120" video="qanda-one" id="subtitle"]]
+[[!template text="""Can you please repeat the question?""" start="00:24:26.640" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Yes, I will reread it as it is written and I""" start="00:24:29.820" video="qanda-one" id="subtitle"]]
+[[!template text="""will leave you interpret it however you want.""" start="00:24:32.460" video="qanda-one" id="subtitle"]]
+[[!template text="""Thank you. Does this or you use any other""" start="00:24:34.760" video="qanda-one" id="subtitle"]]
+[[!template text="""Emacs packages for your package slash website""" start="00:24:39.220" video="qanda-one" id="subtitle"]]
+[[!template text="""like org-publish?""" start="00:24:43.840" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: No, no, no. I don't use nothing.""" start="00:24:46.620" video="qanda-one" id="subtitle"]]
+[[!template text="""I just accept dependency of 1.n.""" start="00:24:49.660" video="qanda-one" id="subtitle"]]
+[[!template text="""So, we are in 1.n and we go at the top and we""" start="00:24:57.660" video="qanda-one" id="subtitle"]]
+[[!template text="""see that those are the dependencies.""" start="00:25:01.000" video="qanda-one" id="subtitle"]]
+[[!template text="""I use nothing. So what I do is that I""" start="00:25:04.820" video="qanda-one" id="subtitle"]]
+[[!template text="""publish, I just generate the public""" start="00:25:09.520" video="qanda-one" id="subtitle"]]
+[[!template text="""directory. So if we go to public,""" start="00:25:12.620" video="qanda-one" id="subtitle"]]
+[[!template text="""this 1, no, I don't want this 1.""" start="00:25:16.500" video="qanda-one" id="subtitle"]]
+[[!template text="""I want to go to the website of the video.""" start="00:25:18.240" video="qanda-one" id="subtitle"]]
+[[!template text="""If we see here, everything is rendered in the""" start="00:25:23.620" video="qanda-one" id="subtitle"]]
+[[!template text="""public. Any services, if you use your own""" start="00:25:27.400" video="qanda-one" id="subtitle"]]
+[[!template text="""server and you save those files,""" start="00:25:37.380" video="qanda-one" id="subtitle"]]
+[[!template text="""you have your website.""" start="00:25:39.280" video="qanda-one" id="subtitle"]]
+[[!template text="""So I don't use anything else.""" start="00:25:40.580" video="qanda-one" id="subtitle"]]
+[[!template text="""I just git push and I'm using Netlify as a""" start="00:25:42.580" video="qanda-one" id="subtitle"]]
+[[!template text="""service to run to save my files,""" start="00:25:49.700" video="qanda-one" id="subtitle"]]
+[[!template text="""but you can use anything you want.""" start="00:25:52.580" video="qanda-one" id="subtitle"]]
+[[!template text="""Because your website is really what is into a""" start="00:25:55.900" video="qanda-one" id="subtitle"]]
+[[!template text="""public. So, this is another,""" start="00:25:58.620" video="qanda-one" id="subtitle"]]
+[[!template text="""It's not the concern of 1.L""" start="00:26:01.360" video="qanda-one" id="subtitle"]]
+[[!template text="""to answer. I'm not using org.publish.""" start="00:26:04.860" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Cool, great. Well, thank you.""" start="00:26:08.960" video="qanda-one" id="subtitle"]]
+[[!template text="""I think the question was also about other""" start="00:26:10.900" video="qanda-one" id="subtitle"]]
+[[!template text="""things, but I think If the person wants a""" start="00:26:13.000" video="qanda-one" id="subtitle"]]
+[[!template text="""more clear answer to their question,""" start="00:26:16.500" video="qanda-one" id="subtitle"]]
+[[!template text="""feel free to clarify the question and Tony""" start="00:26:18.820" video="qanda-one" id="subtitle"]]
+[[!template text="""might be able to answer it later on.""" start="00:26:21.260" video="qanda-one" id="subtitle"]]
+[[!template text="""Alright Tony, I think that's all the""" start="00:26:22.960" video="qanda-one" id="subtitle"]]
+[[!template text="""questions we had. Thank you so much for""" start="00:26:24.220" video="qanda-one" id="subtitle"]]
+[[!template text="""taking the time not only to present Adimax""" start="00:26:25.760" video="qanda-one" id="subtitle"]]
+[[!template text="""Kant, but also for answering all the""" start="00:26:27.680" video="qanda-one" id="subtitle"]]
+[[!template text="""questions people had.""" start="00:26:29.240" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: Thank you to everybody participating,""" start="00:26:31.220" video="qanda-one" id="subtitle"]]
+[[!template text="""organizing and thank you for all those""" start="00:26:34.540" video="qanda-one" id="subtitle"]]
+[[!template text="""questions and you can send me any emails if""" start="00:26:38.000" video="qanda-one" id="subtitle"]]
+[[!template text="""you have a question and open the issues if""" start="00:26:42.180" video="qanda-one" id="subtitle"]]
+[[!template text="""it's not working the way it should work for""" start="00:26:45.180" video="qanda-one" id="subtitle"]]
+[[!template text="""you. Please send me those things.""" start="00:26:47.720" video="qanda-one" id="subtitle"]]
+[[!template text="""Thank you, everybody.""" start="00:26:49.840" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: Splendid, thank you. And before,""" start="00:26:51.940" video="qanda-one" id="subtitle"]]
+[[!template text="""so right now we're gonna go on a lunch break.""" start="00:26:54.280" video="qanda-one" id="subtitle"]]
+[[!template text="""We'll be back in about 40 minutes for the""" start="00:26:56.140" video="qanda-one" id="subtitle"]]
+[[!template text="""talk called Emacs Turbocharges My Writing.""" start="00:26:58.660" video="qanda-one" id="subtitle"]]
+[[!template text="""And I will not tell you more.""" start="00:27:01.300" video="qanda-one" id="subtitle"]]
+[[!template text="""You can look at the talk page to see a little""" start="00:27:02.540" video="qanda-one" id="subtitle"]]
+[[!template text="""bit of a synopsis but otherwise keep the""" start="00:27:04.280" video="qanda-one" id="subtitle"]]
+[[!template text="""surprise. So have a good lunch or have a good""" start="00:27:06.340" video="qanda-one" id="subtitle"]]
+[[!template text="""dinner if you are in dinner-friendly times""" start="00:27:08.900" video="qanda-one" id="subtitle"]]
+[[!template text="""and I will see you afterwards.""" start="00:27:11.880" video="qanda-one" id="subtitle"]]
+[[!template text="""Thank you again, Tony.""" start="00:27:13.180" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 0]: See you.""" start="00:27:14.860" video="qanda-one" id="subtitle"]]
+[[!template text="""[Speaker 1]: All right. Let me just close everything.""" start="00:27:17.960" video="qanda-one" id="subtitle"]]
+[[!template text="""All right, got it. OK,""" start="00:27:29.080" video="qanda-one" id="subtitle"]]
+[[!template text="""so thank you so much, Tony.""" start="00:27:30.480" video="qanda-one" id="subtitle"]]
+[[!template text="""I just had to clear everything up on the""" start="00:27:31.400" video="qanda-one" id="subtitle"]]
+[[!template text="""stream. I'm going to need to...""" start="00:27:33.520" video="qanda-one" id="subtitle"]]
+[[!template text="""Sorry. I'm going to stop.""" start="00:27:36.160" video="qanda-one" id="subtitle"]]
+
+Questions or comments? Please e-mail [tony@tonyaldon.com](mailto:tony@tonyaldon.com?subject=Comment%20for%20EmacsConf%202023%20one%3A%20one.el%3A%20the%20static%20site%20generator%20for%20Emacs%20Lisp%20Programmers)
+
+
+<!-- End of emacsconf-publish-after-page -->