From b98df6fbe2a5c48013cfca81a95a5af41e202d07 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 13 Dec 2020 00:06:32 -0500 Subject: Actually post subtitles, I think --- ...-more-with-org-webring--brett-gilio-autogen.vtt | 709 +++++++++++++++++++++ 1 file changed, 709 insertions(+) create mode 100644 2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt (limited to '2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt') diff --git a/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt b/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt new file mode 100644 index 00000000..672f36de --- /dev/null +++ b/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt @@ -0,0 +1,709 @@ +WEBVTT + +00:00:01.120 --> 00:00:03.120 +hi my name is brett gillio + +00:00:03.120 --> 00:00:04.560 +and today I'll be sharing a project that + +00:00:04.560 --> 00:00:05.920 +several people and I've been working on + +00:00:05.920 --> 00:00:07.520 +for the past few months called org + +00:00:07.520 --> 00:00:08.480 +webbery + +00:00:08.480 --> 00:00:10.559 +the essential idea behind org webbering + +00:00:10.559 --> 00:00:12.240 +is to take the power of creating a + +00:00:12.240 --> 00:00:13.679 +website with org mode + +00:00:13.679 --> 00:00:15.360 +and its built-in features to control + +00:00:15.360 --> 00:00:17.520 +html and xml output + +00:00:17.520 --> 00:00:19.119 +and utilize it to share blogs git + +00:00:19.119 --> 00:00:22.080 +commits or other rss or atom static feed + +00:00:22.080 --> 00:00:22.640 +content + +00:00:22.640 --> 00:00:25.920 +to share directly with your audiences + +00:00:25.920 --> 00:00:28.560 +my website is created entirely using org + +00:00:28.560 --> 00:00:30.000 +mode and I love the amount of + +00:00:30.000 --> 00:00:31.679 +flexibility it offers me while keeping + +00:00:31.679 --> 00:00:34.079 +everything quite simple + +00:00:34.079 --> 00:00:35.920 +I am able to put information about + +00:00:35.920 --> 00:00:37.600 +myself a blog + +00:00:37.600 --> 00:00:40.079 +and my org web ring tool directly on on + +00:00:40.079 --> 00:00:42.879 +the home page using symbol org syntax + +00:00:42.879 --> 00:00:44.640 +as you can see I am currently displaying + +00:00:44.640 --> 00:00:46.239 +three posts on my website + +00:00:46.239 --> 00:00:48.239 +the first is the geeksday announcement + +00:00:48.239 --> 00:00:49.840 +the second is a quarterly financial + +00:00:49.840 --> 00:00:51.039 +update from sourcehut + +00:00:51.039 --> 00:00:52.320 +and the third is a post from + +00:00:52.320 --> 00:00:54.480 +drewdevault's blog drew devault by the + +00:00:54.480 --> 00:00:55.120 +way + +00:00:55.120 --> 00:00:57.680 +his open ring is what helped inspire + +00:00:57.680 --> 00:00:59.039 +what is today or + +00:00:59.039 --> 00:01:01.359 +web ring all this information is + +00:01:01.359 --> 00:01:03.440 +gathered using a sort of manifest file + +00:01:03.440 --> 00:01:05.360 +that org web ring will use to acquire + +00:01:05.360 --> 00:01:07.040 +and place the information in the correct + +00:01:07.040 --> 00:01:07.760 +format + +00:01:07.760 --> 00:01:10.000 +according to your specification + +00:01:10.000 --> 00:01:10.799 +additionally + +00:01:10.799 --> 00:01:11.840 +you can see that the geeksday + +00:01:11.840 --> 00:01:14.159 +announcement is post is pinned + +00:01:14.159 --> 00:01:16.000 +stylization is likewise controlled by + +00:01:16.000 --> 00:01:17.200 +using css + +00:01:17.200 --> 00:01:18.960 +you can add nice subtle color changes on + +00:01:18.960 --> 00:01:20.720 +mouse hover or control the size of the + +00:01:20.720 --> 00:01:23.759 +flexboxes all using standard css + +00:01:23.759 --> 00:01:26.080 +let's examine a simple scenario of using + +00:01:26.080 --> 00:01:28.320 +org webroom + +00:01:28.320 --> 00:01:30.400 +after you have org webbing installed + +00:01:30.400 --> 00:01:32.000 +you'll be able to create a manifest file + +00:01:32.000 --> 00:01:33.759 +that looks something like this + +00:01:33.759 --> 00:01:35.680 +this particular manifest file is an + +00:01:35.680 --> 00:01:37.840 +example offered in the repository under + +00:01:37.840 --> 00:01:39.520 +the assets directory + +00:01:39.520 --> 00:01:41.200 +please feel free to utilize them as a + +00:01:41.200 --> 00:01:42.640 +starting point if you are interested in + +00:01:42.640 --> 00:01:44.399 +using org web ring + +00:01:44.399 --> 00:01:46.320 +as you can see here we are able to place + +00:01:46.320 --> 00:01:48.640 +an rss or atom feed in this file and + +00:01:48.640 --> 00:01:50.479 +specify information about the feed we + +00:01:50.479 --> 00:01:51.920 +wish to produce + +00:01:51.920 --> 00:01:54.640 +for example the total number of items + +00:01:54.640 --> 00:01:56.159 +and the total number of entries per + +00:01:56.159 --> 00:01:57.439 +source item + +00:01:57.439 --> 00:01:59.439 +additionally you're able to filter posts + +00:01:59.439 --> 00:02:00.960 +you feel would not be relevant to your + +00:02:00.960 --> 00:02:02.079 +web ring + +00:02:02.079 --> 00:02:04.079 +we can take this example file and run + +00:02:04.079 --> 00:02:13.120 +the dispatch and see the result + +00:02:13.120 --> 00:02:15.280 +the web ring displays a proper summary + +00:02:15.280 --> 00:02:17.760 +set to a character limit you can specify + +00:02:17.760 --> 00:02:19.599 +additionally all the links in the web + +00:02:19.599 --> 00:02:21.520 +ring are navigable and will open in a + +00:02:21.520 --> 00:02:22.560 +new tab + +00:02:22.560 --> 00:02:24.239 +that way if someone wishes to view the + +00:02:24.239 --> 00:02:25.920 +content they simply need to + +00:02:25.920 --> 00:02:30.319 +click on the title or their source name + +00:02:30.319 --> 00:02:32.879 +now this particular example is not + +00:02:32.879 --> 00:02:34.800 +stylized because we have not given the + +00:02:34.800 --> 00:02:37.120 +website a css file to reference + +00:02:37.120 --> 00:02:38.720 +let's examine what is happening from + +00:02:38.720 --> 00:02:40.319 +behind the scenes a little bit + +00:02:40.319 --> 00:02:43.040 +from inside of the org mode file let's + +00:02:43.040 --> 00:02:43.360 +run + +00:02:43.360 --> 00:02:48.800 +the org web ring function + +00:02:48.800 --> 00:02:51.280 +as you can see it takes that xml file + +00:02:51.280 --> 00:02:54.239 +and processes it into the correct html + +00:02:54.239 --> 00:02:56.080 +you will then be able to embed this org + +00:02:56.080 --> 00:02:58.080 +function into another org file to be + +00:02:58.080 --> 00:03:00.080 +able to display it on your website + +00:03:00.080 --> 00:03:02.840 +pretty neat let's look at an at another + +00:03:02.840 --> 00:03:05.440 +example + +00:03:05.440 --> 00:03:07.360 +on my website we have an example of + +00:03:07.360 --> 00:03:09.519 +using org webbring to reply to another + +00:03:09.519 --> 00:03:10.800 +blog post + +00:03:10.800 --> 00:03:12.480 +what I have here is a post from drew to + +00:03:12.480 --> 00:03:14.640 +vault's blog it is showcased clearly at + +00:03:14.640 --> 00:03:16.239 +the top as a single entry + +00:03:16.239 --> 00:03:19.040 +and you can see it is pinned the pinning + +00:03:19.040 --> 00:03:20.800 +functionality ensures that this post is + +00:03:20.800 --> 00:03:22.400 +moved to the front of the hypothetical + +00:03:22.400 --> 00:03:23.120 +web ring + +00:03:23.120 --> 00:03:25.760 +and guaranteeing its visibility this is + +00:03:25.760 --> 00:03:27.599 +then coupled with a few changes such as + +00:03:27.599 --> 00:03:29.840 +disabling the generation time + +00:03:29.840 --> 00:03:31.120 +which would not be relevant to the + +00:03:31.120 --> 00:03:33.280 +readers and a change of the text in the + +00:03:33.280 --> 00:03:34.000 +header + +00:03:34.000 --> 00:03:37.040 +to demonstrate is indeed used as a reply + +00:03:37.040 --> 00:03:39.599 +an example of this is also provided in + +00:03:39.599 --> 00:03:42.319 +the assets directory + +00:03:42.319 --> 00:03:44.799 +last we can use org webbring as a blog + +00:03:44.799 --> 00:03:45.519 +planet + +00:03:45.519 --> 00:03:47.599 +which is one of my favorites this takes + +00:03:47.599 --> 00:03:49.360 +after the emax life planet which I + +00:03:49.360 --> 00:03:51.120 +believe is moderated by sasha + +00:03:51.120 --> 00:03:53.200 +and others as well as the haskell and + +00:03:53.200 --> 00:03:54.720 +ocamoplanets + +00:03:54.720 --> 00:03:56.959 +a planet for the uninitiated is a + +00:03:56.959 --> 00:03:58.879 +curated form of content sharing about a + +00:03:58.879 --> 00:04:00.159 +set of topics + +00:04:00.159 --> 00:04:02.400 +the max life haskell and ocampo planets + +00:04:02.400 --> 00:04:03.439 +as their names imply + +00:04:03.439 --> 00:04:05.920 +cover Emacs haskell and ocampo blogs + +00:04:05.920 --> 00:04:07.200 +respectively + +00:04:07.200 --> 00:04:09.680 +likewise my planet covers programming + +00:04:09.680 --> 00:04:11.360 +language theory and category theory + +00:04:11.360 --> 00:04:12.239 +primarily + +00:04:12.239 --> 00:04:13.920 +it works in essentially the same way as + +00:04:13.920 --> 00:04:15.840 +the org web ring you provide it with a + +00:04:15.840 --> 00:04:17.519 +list of feeds that get parsed + +00:04:17.519 --> 00:04:20.000 +however unlike the web ring the planet + +00:04:20.000 --> 00:04:21.919 +function has no limits on the number of + +00:04:21.919 --> 00:04:23.040 +entries per source + +00:04:23.040 --> 00:04:24.639 +and the display number of posts is + +00:04:24.639 --> 00:04:27.600 +increased significantly + +00:04:27.600 --> 00:04:29.759 +the syndicates or sources have their + +00:04:29.759 --> 00:04:30.720 +feeds shown + +00:04:30.720 --> 00:04:32.639 +visibly to users who may wish to fetch + +00:04:32.639 --> 00:04:33.759 +them + +00:04:33.759 --> 00:04:35.440 +a planet is typically meant to be a + +00:04:35.440 --> 00:04:37.040 +standalone page and not something you + +00:04:37.040 --> 00:04:38.639 +would embed in another page like a web + +00:04:38.639 --> 00:04:39.440 +ring + +00:04:39.440 --> 00:04:41.680 +all this is provided under a single file + +00:04:41.680 --> 00:04:43.600 +in the org web ring package as the code + +00:04:43.600 --> 00:04:45.280 +reuse is quite high + +00:04:45.280 --> 00:04:48.240 +aside from my own website we can view + +00:04:48.240 --> 00:04:49.840 +the org web ring being used in neat + +00:04:49.840 --> 00:04:52.400 +context with varying stylizations + +00:04:52.400 --> 00:04:54.320 +here's a nice example from mikhail + +00:04:54.320 --> 00:04:57.680 +kirilov at w96k.ru + +00:04:57.680 --> 00:05:00.000 +featuring a four symmetrical flexbox + +00:05:00.000 --> 00:05:00.960 +layout + +00:05:00.960 --> 00:05:02.720 +an appropriate russian language timing + +00:05:02.720 --> 00:05:04.720 +coding which can be also set in the org + +00:05:04.720 --> 00:05:07.360 +web ring manifest + +00:05:07.360 --> 00:05:09.600 +another is an example from camilo mesa + +00:05:09.600 --> 00:05:10.400 +gayete + +00:05:10.400 --> 00:05:13.280 +using ox hugo with org webring and + +00:05:13.280 --> 00:05:14.320 +likewise correct + +00:05:14.320 --> 00:05:15.840 +features the correct spanish time + +00:05:15.840 --> 00:05:17.680 +encoding + +00:05:17.680 --> 00:05:22.240 +last my other website workircd.org + +00:05:22.240 --> 00:05:24.400 +shows the web ring being used in + +00:05:24.400 --> 00:05:26.560 +combination with ocamo's tool link + +00:05:26.560 --> 00:05:27.440 +supalt + +00:05:27.440 --> 00:05:32.800 +to fetch git logs for that project + +00:05:32.800 --> 00:05:34.639 +you may obtain org web ring directly + +00:05:34.639 --> 00:05:36.320 +from source hut and add it to your load + +00:05:36.320 --> 00:05:37.039 +path + +00:05:37.039 --> 00:05:39.639 +additionally you will need to obtain + +00:05:39.639 --> 00:05:40.800 +xmlgen.el + +00:05:40.800 --> 00:05:43.280 +which is unfortunately not yet on alpha + +00:05:43.280 --> 00:05:44.960 +although I have been trying to get this + +00:05:44.960 --> 00:05:46.800 +rectified so I do not have to rewrite + +00:05:46.800 --> 00:05:49.840 +org web brings xml to html parser + +00:05:49.840 --> 00:05:51.759 +or if you're one of the cool kids using + +00:05:51.759 --> 00:05:54.000 +my favorite package manager gnu geeks + +00:05:54.000 --> 00:06:06.319 +you can obtain it like so + +00:06:06.319 --> 00:06:08.800 +all of the documentation for org web + +00:06:08.800 --> 00:06:09.840 +ring is available + +00:06:09.840 --> 00:06:12.000 +on the sourceup website or in the readme + +00:06:12.000 --> 00:06:13.840 +file after you check it out from the get + +00:06:13.840 --> 00:06:15.039 +tree + +00:06:15.039 --> 00:06:17.360 +there are so many ways to customize org + +00:06:17.360 --> 00:06:18.240 +web ring + +00:06:18.240 --> 00:06:20.880 +as there are just as many variables as + +00:06:20.880 --> 00:06:21.520 +there are + +00:06:21.520 --> 00:06:24.319 +parts and components to org web ring for + +00:06:24.319 --> 00:06:25.759 +you to change + +00:06:25.759 --> 00:06:27.759 +all of this is able to be done simply + +00:06:27.759 --> 00:06:31.600 +from that same manifest file + +00:06:31.600 --> 00:06:33.919 +now taking a moment to examine some of + +00:06:33.919 --> 00:06:35.759 +the org web ring code + +00:06:35.759 --> 00:06:37.840 +you can see it is all done in the same + +00:06:37.840 --> 00:06:40.160 +e-lisp that everybody else is used to + +00:06:40.160 --> 00:06:43.120 +now admittedly my e-lisp is not as + +00:06:43.120 --> 00:06:43.919 +strong as + +00:06:43.919 --> 00:06:47.120 +probably somebody else's so if you are + +00:06:47.120 --> 00:06:50.479 +an e-lisp ninja please feel free to + +00:06:50.479 --> 00:06:53.280 +send a contribution or a patch and tell + +00:06:53.280 --> 00:06:54.880 +me what I'm doing wrong + +00:06:54.880 --> 00:06:57.039 +it's I am not going to be offended by + +00:06:57.039 --> 00:06:58.639 +that at all I would love to see this + +00:06:58.639 --> 00:06:59.360 +code to + +00:06:59.360 --> 00:07:02.560 +improve otherwise I don't think it's + +00:07:02.560 --> 00:07:04.160 +half bad + +00:07:04.160 --> 00:07:06.800 +considering that my experience with + +00:07:06.800 --> 00:07:08.880 +lisps is usually in scheme + +00:07:08.880 --> 00:07:11.280 +me moving from scheme to e-lisp was not + +00:07:11.280 --> 00:07:13.680 +all that hard + +00:07:13.680 --> 00:07:17.120 +taking the syntax apart + +00:07:17.120 --> 00:07:20.880 +we're able to see that we can + +00:07:20.880 --> 00:07:24.240 +fetch urls which are then parsed and + +00:07:24.240 --> 00:07:27.680 +filtered sorted and then kind of reverse + +00:07:27.680 --> 00:07:28.479 +sorted + +00:07:28.479 --> 00:07:32.960 +rather to get you to the web ring result + +00:07:32.960 --> 00:07:34.639 +all of this is then passed through + +00:07:34.639 --> 00:07:37.840 +different parts of the xmlgen.el + +00:07:37.840 --> 00:07:40.639 +functions which gets you that html that + +00:07:40.639 --> 00:07:43.520 +you saw earlier + +00:07:43.520 --> 00:07:45.599 +org webbring is fully free software + +00:07:45.599 --> 00:07:47.440 +distributed under the gnu general public + +00:07:47.440 --> 00:07:49.280 +license versions three or later + +00:07:49.280 --> 00:07:52.000 +at your option I love accepting patches + +00:07:52.000 --> 00:07:53.120 +and collaborating + +00:07:53.120 --> 00:07:54.319 +I hope you will consider using + +00:07:54.319 --> 00:07:56.720 +orawebring you can contact me on + +00:07:56.720 --> 00:07:59.759 +freenode oftc or many other ioc irc + +00:07:59.759 --> 00:08:01.520 +networks at brettgillio + +00:08:01.520 --> 00:08:05.120 +or email me at brettgee gnu.org + +00:08:05.120 --> 00:08:07.759 +thanks so much to amin bendali and the + +00:08:07.759 --> 00:08:08.720 +Emacs cough + +00:08:08.720 --> 00:08:11.120 +organizers and to you the audience + +00:08:11.120 --> 00:08:13.840 +thanks -- cgit v1.2.3