[00:00.000 --> 00:29.800] Hello, I'm Johnny Bradley, I work on the Tiki project. [00:29.800 --> 00:37.600] As a developer and have done for about 20 years I think, but I'm not going to do the [00:37.600 --> 00:43.600] usual, this is the new stuff in Tiki 25 talk because there's a lot of it and I [00:43.600 --> 00:49.960] thought I would concentrate on something more collaborative. So this is about [00:49.960 --> 00:55.720] markdown, I'm assuming everyone knows what markdown is and uses it, if not we [00:55.720 --> 01:06.160] can work it out afterwards. Yeah, it's a microphone but only for online people. [01:06.160 --> 01:17.720] Yeah, sorry, I'll try and project. In the old days we had BB code starting off [01:17.720 --> 01:22.560] which was like HTML with square brackets and the media wiki obviously [01:22.560 --> 01:28.280] everywhere, then I found Tiki, had its own syntax, it uses little quote marks [01:28.280 --> 01:31.880] instead of asterisks, that kind of thing and each time you change to a different [01:31.880 --> 01:36.840] platform you have to look up in the cheat sheet, how do I do underline, is it [01:36.840 --> 01:42.840] underscores, is it asterisks, whatever. And more and more in the last few years [01:42.840 --> 01:49.440] we've been finding markdown has appeared more and more, mainly from [01:49.440 --> 01:56.400] GitHub and GitLab and the best thing would be if there was just one, one [01:56.400 --> 02:04.200] syntax to rule them all. In the very olden days, early noughties, there was a [02:04.200 --> 02:11.880] project called wiki Creole which Tiki wiki was nearly involved with, we [02:11.880 --> 02:22.600] didn't implement it, but next wiki I believe did. Tiddly wiki, which I [02:22.600 --> 02:32.240] always liked the name, Doki wiki, lots of other friends and yeah but the project [02:32.240 --> 02:37.000] stalled, it didn't quite make it. I think apparently because media wiki just had [02:37.000 --> 02:41.280] too much stuff that they couldn't migrate to a different syntax so it'll [02:41.280 --> 02:47.880] ground to a halt. There was about the same time, there was the PHP pair classes [02:47.880 --> 02:55.400] which you could do an interchange with yeah wiki Creole to media wiki to Tiki, [02:55.400 --> 03:05.800] we still use that even though it's not supported anymore. Oh yeah, so we need [03:05.800 --> 03:12.760] another standard, Jean-Marc insisted that I should put this cartoon in, wasn't in [03:12.760 --> 03:20.240] the original script, so let's have one more standard. Here comes markdown and [03:20.240 --> 03:25.240] this was the reason for the title of this this talk is I just had this idea of [03:25.240 --> 03:33.160] markdown taking over the world a bit like Godzilla destroying a city. Markdown [03:33.160 --> 03:44.160] was started in 2004, it was basically a Pearl script I believe and over the [03:44.160 --> 03:50.440] years more and more people implemented different versions of it and it became a [03:50.440 --> 03:57.120] bunch of different standards. So then common mark project was initiated about [03:57.120 --> 04:05.320] 10 years ago and that seemed to be the best of breed, it's a creative commons [04:05.320 --> 04:12.960] definition of how it should work with a test suite and basically that seems to [04:12.960 --> 04:19.200] be the standard adopted by most people but obviously it doesn't do everything [04:19.200 --> 04:27.920] so many people extended it mainly Github, so Github flavored markdown seems to be [04:27.920 --> 04:37.000] the generic standard for most places and that is now used by Github, GitLab, Stack [04:37.000 --> 04:42.920] Overflow, People Without Logos, Nextcloud we just heard were there early on, [04:42.920 --> 04:50.440] Discord icon broken, bugzilla and now even the proprietary softwares like Facebook [04:50.440 --> 04:57.720] and WhatsApp, Telegram, Signal and so on are using it and so we thought Tiki [04:57.720 --> 05:03.720] should use it as well. So in Tiki 25 we've adopted markdown we've always had [05:03.720 --> 05:10.160] our own syntax so that carries on working and now its default is off but you [05:10.160 --> 05:15.760] can enable it and it's a little bit alpha that's improving and the next [05:15.760 --> 05:21.000] release hopefully it would become the default syntax and then at some point in [05:21.000 --> 05:27.720] the future Tiki syntax will become read only and will be markdown like the rest [05:27.720 --> 05:35.000] of the world we assume and of course we need our own flavor of it. One thing [05:35.000 --> 05:39.440] was a little surprise to me that you can't do centered text in markdown that [05:39.440 --> 05:43.880] is outside of the scope of it but all our clients will want to do centered text [05:43.880 --> 05:49.800] so we use misleadingly in Tiki these are called plugins but you don't have to [05:49.800 --> 05:53.800] plug them in they're just in there they're more like WordPress short codes [05:53.800 --> 05:58.400] I guess so yeah you want to center something you want to do it in a box [05:58.400 --> 06:05.360] formatting tools and user lists and so on I think there's about 250 plugins in [06:05.360 --> 06:18.120] Tiki which will carry on working but in markdown scope. We also use CKEditor [06:18.120 --> 06:26.480] for our existing WYSIWYG offering and we decided to review that partly because [06:26.480 --> 06:32.960] the licensing changes of CKEditor 5 or 6 is it seems to be a little more [06:32.960 --> 06:41.760] challenging and so we went for ToastUE which is a native markdown WYSIWYG [06:41.760 --> 06:51.880] and seems very promising again 25.0 it's a little alpha but does the job [06:51.880 --> 06:59.720] that's about it I'm really under time aren't I so yeah you can find out more [06:59.720 --> 07:05.800] about our markdown there Tiki 25 which I could go on to we have a lot of new [07:05.800 --> 07:12.680] stuff in there you can play with it on demo.tiki.org and a recap of [07:12.680 --> 07:21.080] everything on our wiki page I just wanted to say thanks to Mark Laport who [07:21.080 --> 07:28.880] was a Tiki leader for a long time and is still looking after us and [07:28.880 --> 07:35.520] he's sort of spearheaded this this initiative Victor who did a lot of the [07:35.520 --> 07:42.720] back-encoding Mova group who initiated the whole thing because they wanted [07:42.720 --> 07:51.440] better WYSIWYG and some mysterious third anonymous benefactor that's about it [07:51.440 --> 08:00.640] and are there any questions? [08:00.640 --> 08:14.280] so Mark Laport said that you are most welcome and we have I believe 16 minutes for questions [08:14.280 --> 08:21.280] 16 minutes yeah I should have done more slides yes I was just wondering can you [08:21.280 --> 08:28.080] translate from one Tiki supported language into markdown itself yes yeah [08:28.080 --> 08:37.320] we have yeah so the question was can we can we convert from Tiki markdown into [08:37.320 --> 08:42.680] markdown Tiki syntax into markdown and back again yes we can the more you do [08:42.680 --> 08:46.760] it the more the page will go weird because there are some things that are [08:46.760 --> 08:50.880] supported in different ways in the different languages but yeah each wiki [08:50.880 --> 08:56.720] page has a little cog icon you get a little dialogue saying do you want it in [08:56.720 --> 09:02.840] WYSIWYG or plain editor and you want it in Tiki or markdown syntax and it's [09:02.840 --> 09:07.280] surprising we weren't expecting that for Tiki 25 we're quite pleased that's [09:07.280 --> 09:17.040] working already again that will improve yes sir I looked at common mark [09:17.040 --> 09:24.320] specification and basically black sphinx which I used from P markdown extra like [09:24.320 --> 09:33.080] tables definition list is there any current markdown which implements those yes [09:33.080 --> 09:40.400] github flavoured markdown sorry yeah repeat question repeat question so [09:40.400 --> 09:47.880] specifically you're asking about tables and other features whether those are [09:47.880 --> 09:54.800] supported in markdown they're not in the core common mark specification but github [09:54.800 --> 10:02.320] github flavoured markdown adds tables and a bunch of other things there's some [10:02.320 --> 10:08.560] things that github do like references to other commits and pull requests and so on [10:08.560 --> 10:15.680] we don't use and again Tiki flavoured markdown has a plugin system so there's [10:15.680 --> 10:21.920] another 250 so you can do search results you can build quite complicated [10:21.920 --> 10:28.160] applications we're still working out what's missing so I guess we'll get [10:28.160 --> 10:34.760] feedback over the next few months as to what people want to do and still can't [10:34.760 --> 10:58.760] yes first one remark if people are interested we have a converter in xwiki rendering supports many many syntaxes and is able to convert from one to another including from html so if you can convert something to html it could actually convert to any of the syntaxes that xwiki rendering supports including markdown, common markdown, github flavoured markdown, and many other like wiki etc. [10:58.760 --> 11:14.760] and I have a question on the did you have problem for the WYSIWYG with the allowance to do inline html in markdown to make WYSIWYG go back and forth to come back to the markdown syntax? [11:14.760 --> 11:28.360] yes in the alpha sorry yeah do we have a problem converting from one syntax to the other where you get little stray bits of html creeping into the wiki markup which [11:28.360 --> 11:46.360] we obviously sanitize afterwards and I think we've nailed all those yes there were some challenges with that in the alpha stages and I kept on finding that a bold markdown tag would then suddenly appear as little html bold tags [11:46.360 --> 12:06.360] part of that I think is toast use does some of that again it's the initial release and it's still marked as experimental so yeah I found I don't know yeah I found toast community to be a little bit sort of read only [12:06.360 --> 12:22.360] I haven't found much of a chat if anyone knows where to talk to the toast developers better than I would like to do that and I did the toast implementation but yes it's something we're watching out for [12:22.360 --> 12:38.360] yes show them up [12:38.360 --> 13:04.360] yeah the question was is there gonna be a common mark version 2 I don't know anyone else got any ideas [13:04.360 --> 13:14.360] it seems to be is designed to be very complete and it's designed to be very simple so possibly not [13:14.360 --> 13:36.360] so we have to wait and see as an aside I found out the midi you know the music interface system that is still version 1.0 and that started in the 80s so maybe it doesn't need upgrading [13:36.360 --> 13:54.360] hello [13:54.360 --> 13:56.360] depends which language you're writing it in [13:56.360 --> 14:16.360] oh yeah are there any tools tools and libraries you're asking if to convert mark down to html yes there's a lot we're using the PHP league common mark because we're PHP application [14:16.360 --> 14:28.360] which does most of the mark down to html conversion and I believe the html back to mark down because again we go via html when we're doing conversion process [14:28.360 --> 14:50.360] which language are you in they're bound to be surely I don't know the python world that well so I'm guessing there'd be a link on probably on the common mark website [14:50.360 --> 15:00.360] should have a list of all of the libraries and implementations [15:00.360 --> 15:10.360] okay so spend the rest of the half hour as you wish and unless there's any more questions [15:10.360 --> 15:20.360] I'll leave it to it