WEBVTT 00:05.520 --> 00:08.170 Hello. My name is Karl Voit, 00:08.170 --> 00:11.360 and I've spent the last decade 00:11.360 --> 00:13.040 working with Emacs Org Mode 00:13.040 --> 00:15.280 as my main organization system 00:15.280 --> 00:16.880 for my use cases, 00:16.880 --> 00:19.760 and I would like to take this opportunity 00:19.760 --> 00:22.480 and point out a subtle issue we've had 00:22.480 --> 00:25.359 in many different discussions around Org Mode, 00:25.359 --> 00:27.519 which itself stands for 00:27.519 --> 00:29.679 quite different kind of things. 00:29.679 --> 00:31.760 On the one hand side, 00:31.760 --> 00:34.640 Org Mode is an implementation in Elisp 00:34.640 --> 00:36.559 on the Emacs platform, 00:36.559 --> 00:38.480 and on the other hand side, 00:38.480 --> 00:42.960 Org Mode is also a lightweight markup language 00:42.960 --> 00:45.760 which we use to express things: 00:45.760 --> 00:47.440 how headings are marked, 00:47.440 --> 00:49.840 how text is made boldface, 00:49.840 --> 00:51.680 how external links are written, 00:51.680 --> 01:01.920 and so forth, in text documents. 01:01.920 --> 01:03.920 From my own experience, 01:03.920 --> 01:05.920 from many different online discussions, 01:05.920 --> 01:09.600 I once wrote a blog article on my web page 01:09.600 --> 01:11.760 that summarizes why I do think 01:11.760 --> 01:13.200 that Org Mode is superior 01:13.200 --> 01:16.000 to other well-known lightweight markup languages 01:16.000 --> 01:21.040 such as Markdown, AsciiDoc, reStructuredText and more. 01:21.040 --> 01:23.360 My main points in this article were that 01:23.360 --> 01:25.040 Org Mode is an intuitive 01:25.040 --> 01:28.000 and easy to learn and remember markup. 01:28.000 --> 01:29.360 It is standardized, 01:29.360 --> 01:31.439 as in the Emacs implementation 01:31.439 --> 01:32.799 defines the current standard, 01:32.799 --> 01:35.360 and there is no different Org mode version 01:35.360 --> 01:38.159 out there which conflicts with that. 01:38.159 --> 01:41.040 Org Mode is consistent 01:41.040 --> 01:44.159 within its markup language design. 01:44.159 --> 01:48.640 Org Mode can be easily typed in any text-based tool, 01:48.640 --> 01:53.280 and Org Mode makes much sense outside of Emacs, 01:53.280 --> 01:55.360 so that you can use it, for example, 01:55.360 --> 01:58.719 in email clients or in other text documents 01:58.719 --> 02:01.040 not interpreting the markup at all. 02:01.040 --> 02:03.280 And of course, if you want, 02:03.280 --> 02:06.640 you can have the perfect tool support within Emacs 02:06.640 --> 02:13.760 and other software tools. 02:13.760 --> 02:15.440 This naming issue, 02:15.440 --> 02:18.560 using one name for two different kind of things, 02:18.560 --> 02:22.239 arises in discussions about the markup's support 02:22.239 --> 02:24.560 in non-Emacs tools and services, 02:24.560 --> 02:27.440 in questions on levels of compatibility 02:27.440 --> 02:30.080 in comparison to the large and huge 02:30.080 --> 02:32.959 amount of functionality within Emacs, 02:32.959 --> 02:36.319 and so forth. 02:36.319 --> 02:38.000 In order to find a solution 02:38.000 --> 02:40.160 to some of those issues, 02:40.160 --> 02:44.480 I propose a different name. A new idea. 02:44.480 --> 02:47.360 A definition for the lightweight markup language, 02:47.360 --> 02:51.200 and the lightweight markup language alone. 02:51.200 --> 02:54.000 A new standard, which, by the way, 02:54.000 --> 02:57.680 reminds me on something here... 02:57.680 --> 03:05.200 Anyway... 03:05.200 --> 03:06.640 So we need a different name 03:06.640 --> 03:08.159 for this new thing, 03:08.159 --> 03:09.840 and its feature set needs to be 03:09.840 --> 03:11.760 something good enough 03:11.760 --> 03:14.000 to help adapting Org Mode syntax 03:14.000 --> 03:16.560 outside of the Emacs universe. 03:16.560 --> 03:19.760 It can't be the whole set of Org Mode features. 03:19.760 --> 03:21.680 This would kill the idea instantly, 03:21.680 --> 03:23.519 because everything that is going 03:23.519 --> 03:24.720 into that direction 03:24.720 --> 03:26.959 would be compared to our golden standards, 03:26.959 --> 03:29.280 the Emacs implementation of Org Mode, 03:29.280 --> 03:31.120 which cannot be compared 03:31.120 --> 03:33.599 to anything else at this time. 03:33.599 --> 03:37.040 So it needs to be somehow less than Org Mode. 03:37.040 --> 03:41.040 It needs to be recognizable in non-Emacs circles, 03:41.040 --> 03:42.720 and it should remind people 03:42.720 --> 03:43.920 on similar things 03:43.920 --> 03:45.760 in order to be something 03:45.760 --> 03:49.760 somewhat self-explanatory as a term. 03:49.760 --> 03:54.000 Hereby, I propose the name Orgdown 03:54.000 --> 03:56.000 for this thing, and it's launched 03:56.000 --> 04:06.239 with my Emacs Conference talk 2021. 04:06.239 --> 04:09.360 So what should Orgdown be? 04:09.360 --> 04:11.439 It should be a subset of Org Mode 04:11.439 --> 04:14.400 lightweight markup language syntax. 04:14.400 --> 04:17.120 It should be a definition of 04:17.120 --> 04:18.880 Org-Mode-based entities 04:18.880 --> 04:20.880 that do make sense on their own 04:20.880 --> 04:22.720 which is, in any case, 04:22.720 --> 04:26.320 always a compromise of some sort, of course. 04:26.320 --> 04:29.919 It needs to be extensible for different purposes 04:29.919 --> 04:32.560 to ensure future-proofness, 04:32.560 --> 04:33.600 and it needs to have 04:33.600 --> 04:35.919 a formal definition of Org Mode, 04:35.919 --> 04:39.680 which helps in becoming a new standard. 04:39.680 --> 04:42.160 it needs to be a self-sustaining community 04:42.160 --> 04:45.040 that supports the process by documentation 04:45.040 --> 04:48.320 and connecting people to other people, 04:48.320 --> 04:52.080 to the documentation, and to tools. 04:52.080 --> 04:54.800 What Orgdown should never be 04:54.800 --> 04:57.280 is something that's incompatible 04:57.280 --> 04:59.759 with Org Mode within Emacs, 04:59.759 --> 05:08.560 and some kind of Org Mode replacement, of course. 05:08.560 --> 05:12.160 The advantages of Orgdown for everybody 05:12.160 --> 05:16.800 includes better Org support in non-Emacs tools; 05:16.800 --> 05:19.759 to promote the beautifully crafted Org Mode syntax 05:19.759 --> 05:21.520 to a larger set of people, 05:21.520 --> 05:23.759 even outside of Emacs, of course; 05:23.759 --> 05:26.560 to push better support for the collaboration 05:26.560 --> 05:28.800 for Emacs and non-Emacs users 05:28.800 --> 05:31.759 for using text-based documents; 05:31.759 --> 05:34.880 finally, fix the irritating mix-up of 05:35.919 --> 05:37.600 markup language support 05:37.600 --> 05:41.680 and its Elisp implementation. 05:41.680 --> 05:44.000 I already mentioned briefly the need for 05:44.000 --> 05:47.039 a definition and extensibility. 05:47.039 --> 05:48.960 Therefore I came up with the idea 05:48.960 --> 05:52.320 of having different levels of Orgdown, 05:52.320 --> 05:56.400 and the first and most basic level of Orgdown 05:56.400 --> 06:05.600 is called Orgdown1. 06:05.600 --> 06:09.759 Orgdown1, or in short, OD1, consists of 06:09.759 --> 06:11.759 a small set of Org-Mode-based features 06:11.759 --> 06:15.759 such as simple text formatting, headings, lists, 06:15.759 --> 06:19.520 and checkboxes, example, quote, and source blocks, 06:19.520 --> 06:22.479 comments, external web links, 06:22.479 --> 06:25.280 tables without calculations. 06:25.280 --> 06:27.120 I tried to find a compromise 06:27.120 --> 06:29.199 that should work with most people 06:29.199 --> 06:31.600 starting with any lightweight markup 06:31.600 --> 06:39.759 that is based on Emacs Org Mode. 06:39.759 --> 06:41.199 In order to get a measure 06:41.199 --> 06:43.759 on how well Orgdown1 is supported 06:43.759 --> 06:45.919 by one specific tool, 06:45.919 --> 06:47.759 I came up with an OD1 06:47.759 --> 06:51.199 compatibility percentage index. 06:51.199 --> 06:54.080 43 easy-to-check features such as: 06:54.080 --> 06:56.800 does it support highlighting of bold text 06:56.800 --> 06:59.039 using single asterisks? 06:59.039 --> 07:00.800 Each feature can be supported 07:00.800 --> 07:02.880 in a basic way (one point) 07:02.880 --> 07:06.319 or in an advanced way (two points). 07:06.319 --> 07:08.319 One point means it basically 07:08.319 --> 07:10.080 doesn't interfere with the tool 07:10.080 --> 07:12.000 in any negative way. 07:12.000 --> 07:14.479 Two points means that it provides 07:14.479 --> 07:16.720 active syntax highlighting, for example, 07:16.720 --> 07:18.479 or even tool-supported features 07:18.479 --> 07:22.960 like shortcuts to insert elements and such. 07:22.960 --> 07:24.880 Summing up those two levels 07:24.880 --> 07:27.280 for all those 43 features 07:27.280 --> 07:28.479 result in a number 07:28.479 --> 07:29.919 that can be compared 07:29.919 --> 07:32.319 to the maximum level there is, 07:32.319 --> 07:36.319 which results in a given percentage. 07:36.319 --> 07:37.919 By definition, 07:37.919 --> 07:40.479 Emacs provides full support 07:40.479 --> 07:43.360 of all Orgdown levels, 07:43.360 --> 07:45.360 and most tools support 07:45.360 --> 07:48.240 at least fifty percent of Orgdown1 07:48.240 --> 07:50.400 as long as Orgdown1 syntax 07:50.400 --> 07:52.720 doesn't result in some markup conflict 07:52.720 --> 07:57.039 or tooling conflict or whatever. 07:57.039 --> 07:58.560 This emphasizes the idea 07:58.560 --> 08:01.360 that Orgdown can and should be used 08:01.360 --> 08:04.879 for personal notes anywhere and in general domains, 08:04.879 --> 08:07.919 just like writing emails, for example. 08:07.919 --> 08:10.000 I guess the majority of tools 08:10.000 --> 08:12.720 with a certain support for Orgdown1 08:12.720 --> 08:18.080 will be in the area of 80s and 90s, percentwise. 08:18.080 --> 08:20.639 If Orgdown1 is not enough, 08:20.639 --> 08:22.400 there will be future definitions 08:22.400 --> 08:24.960 of Orgdown2, 3, or higher 08:24.960 --> 08:27.599 which will take more and more syntax elements 08:27.599 --> 08:29.039 from the Org Mode syntax 08:29.039 --> 08:30.479 and integrate it into 08:30.479 --> 08:39.519 the domain of Orgdown. 08:39.519 --> 08:42.000 So far, Orgdown1 is described 08:42.000 --> 08:43.599 on a public GitLab page 08:43.599 --> 08:45.920 which has already documentation 08:45.920 --> 08:48.399 on how to learn Orgdown, 08:48.399 --> 08:50.560 some syntax examples, 08:50.560 --> 08:51.839 frequently asked questions, 08:51.839 --> 08:54.240 and of course, with their answers, 08:54.240 --> 08:55.920 a collection of tools 08:55.920 --> 08:59.279 that already do support Orgdown in some way, 08:59.279 --> 09:01.040 and a few of them did already 09:01.040 --> 09:02.640 get evaluated by me 09:02.640 --> 09:05.920 and got their OD1 compatibility percentage 09:05.920 --> 09:07.279 in a table. 09:07.279 --> 09:09.839 Some ideas on how people can contribute 09:09.839 --> 09:11.040 to this new standard 09:11.040 --> 09:13.839 is also part of this new site. 09:13.839 --> 09:17.200 And of course, now I need your help 09:17.200 --> 09:19.519 in order to make this a success story 09:19.519 --> 09:28.880 for Org Mode and of course Orgdown. 09:28.880 --> 09:31.360 So please do contribute 09:31.360 --> 09:33.279 to the GitLab project pages 09:33.279 --> 09:38.000 and add tools and their Orgdown1-compatible percentages. 09:38.000 --> 09:40.800 For example, a template file is provided, 09:40.800 --> 09:41.839 of course. 09:41.839 --> 09:43.680 Please do add more parsers. 09:43.680 --> 09:46.320 Please use the term Orgdown1 09:46.320 --> 09:48.080 to label tool properties 09:48.080 --> 09:49.440 for your own stuff 09:49.440 --> 09:51.760 and so that people do realize 09:51.760 --> 09:53.839 that your tools are already supporting 09:53.839 --> 09:56.800 this general use case of Org Mode. 09:56.800 --> 09:58.640 And there is no need to support 09:58.640 --> 09:59.680 all the Org Mode 09:59.680 --> 10:02.160 in order to profit from Org Mode syntax 10:02.160 --> 10:04.320 with Orgdown. 10:04.320 --> 10:05.839 You can spread the idea 10:05.839 --> 10:07.279 by promoting Orgdown 10:07.279 --> 10:08.480 as a separate term 10:08.480 --> 10:09.680 compared to Org Mode 10:09.680 --> 10:11.279 and its mixed up definition 10:11.279 --> 10:21.279 with the Org Mode Elisp implementation. 10:21.279 --> 10:23.120 And in case that Orgdown 10:23.120 --> 10:24.880 really resonates with you, 10:24.880 --> 10:26.959 you can add a formal specification 10:26.959 --> 10:29.279 to the GitLab project of Orgdown. 10:29.279 --> 10:30.480 I guess that some of the 10:30.480 --> 10:33.040 existing formal definitions of Org Mode 10:33.040 --> 10:35.760 already do qualify for Orgdown1 10:35.760 --> 10:37.920 by stripping down to the few things 10:37.920 --> 10:41.279 Orgdown1 is concentrating on. 10:41.279 --> 10:42.720 You can create, for example, 10:42.720 --> 10:45.760 a language server protocol for Orgdown1 10:45.760 --> 10:48.000 which would multiply the possibilities 10:48.000 --> 10:50.000 for adapting Orgdown1 10:50.000 --> 10:51.760 in all kinds of editors 10:51.760 --> 11:00.880 by giving syntax highlighting, for example. 11:00.880 --> 11:03.200 And you may find the idea intriguing 11:03.200 --> 11:07.440 that Orgdown1 is a perfect markup language candidate 11:07.440 --> 11:09.920 for the Gemini project, 11:09.920 --> 11:11.200 which would be, in short, 11:11.200 --> 11:14.240 a linked web of plain Orgdown1 files 11:14.240 --> 11:16.160 that form a parallel internet 11:16.160 --> 11:17.839 without advertisements, 11:17.839 --> 11:20.880 malware-bloated web pages, and so forth. 11:20.880 --> 11:22.160 It's concentrating 11:22.160 --> 11:23.920 on the essential value of information 11:23.920 --> 11:26.399 in form of simple text files 11:26.399 --> 11:29.279 and links to other simple text files. 11:29.279 --> 11:39.760 I would love to see this. happen someday 11:39.760 --> 11:42.560 In the meantime, let's kick-start Orgdown 11:42.560 --> 11:45.120 with Orgdown1 as the first level. 11:45.120 --> 11:46.880 Visit the GitLab page, 11:46.880 --> 11:49.600 hand in improvements for the linked tool sections, 11:49.600 --> 11:52.240 and spread the brilliant markup design 11:52.240 --> 11:52.880 of Org Mode, 11:52.880 --> 11:56.000 using Orgdown as a well-defined 11:56.000 --> 11:57.839 new standard. 11:57.839 --> 12:01.079 Thank you.