Luanti logo

IRC log for #luanti-docs, 2025-11-26

| Channels | #luanti-docs index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:21 mrcheese xD
00:23 user333_ i found another typo... opening a PR soon
00:24 mrcheese alr now lets see how fast a PR can get merged
00:24 * mrcheese wants to guess like 30 seconds :PPP
00:29 MTDiscord <wsor4035> sees no prs
00:29 user333_ hold on a min
00:30 user333_ 3
00:30 user333_ 2
00:30 user333_ 1
00:30 user333_ opened
00:32 user333_ tada!
01:11 MTDiscord <mark.wiemer> One for high-level tracking of making the docs parse able, one for lower level discussion of the specific Markdown schema, if we go that route. There's already pushback from appgurueu about Markdown schema, so I think the separation of discussions has proven useful
01:13 MTDiscord <mark.wiemer> OK, is the suggestion then to rewrite everything we have in a LOVR-like lang? The biggest value of Markdown is the fact that most of our (and the world's) docs are already Markdown. I'd rather start by cleaning up what we have. Then we can automatically transform it into any future format
01:18 MTDiscord joined #luanti-docs
01:26 MTDiscord <mark.wiemer> Markdown is a consistent machine parse able schema though 🙁
02:08 MTDiscord <greenxenith> Markdown is not a schema
02:18 MTDiscord <greenxenith> Mark is willing to do the work to make a strict markdown schema, so feel free to challenge it with a Lua DSL
02:19 MTDiscord <greenxenith> Stop bikeshedding, just do it
02:23 MTDiscord <greenxenith> inb4 "but its more fundamental than the shed paint color" We operate on results here. Hypotheticals and perfect design do more harm than good at this level. The engine may be a behemoth with too much inertia to fundamentally change at this point, but these projects are much smaller and we get more value by just trying things. Just like we tried AsciiDoc and it didnt go well, and we tried Hugo and it went fine
02:25 MTDiscord <exe_virus> Oh we're markdown now? neat
02:26 MTDiscord <greenxenith> ... lua_api has been md for 7 versions now
02:32 MTDiscord <exe_virus> I thought we were talking about the docs site
02:32 MTDiscord <greenxenith> And technically its been markdown since day one, just not labeled as .md
02:32 MTDiscord <exe_virus> I'm aware Lua API is md
02:32 MTDiscord <exe_virus> My b
02:32 MTDiscord <greenxenith> Ah, right. The original docs project is still ADoc, but the docs site is a markdown conversion from the wikis
02:33 MTDiscord <greenxenith> Er, the original project is the ADoc content converted to markdown as well
02:35 MTDiscord <greenxenith> And this conversation is particularly about the lua_api conversion which is what the original project was for
02:36 MTDiscord <exe_virus> Oh, I'm very out of the loop, ignore me
02:41 MTDiscord <mark.wiemer> Markdown turns into HTML, if it's not machine readable I'm not sure what is. There are talks of other machine readable approaches like a Lua DSL but we'd have to make sure it's still easy to write docs. Markdown is extremely lightweight and flexible. Yaml and JSON not so much. A DSL, well, it'd depend, but the snippet shown so far look like JSON and not very promising. I think long term will still be handwritten docs honestly,
02:41 MTDiscord ultimately doc-writint is a very human process, not reasonable to fully automate
02:42 MTDiscord <greenxenith> When we say "machine readable" we mean "can a machine divide this into meaningful tree"
02:42 MTDiscord <greenxenith> Not "can a program read the bytes"
02:42 MTDiscord <mark.wiemer> Yes, that's literally how it turns into HTML. What am I missing here?
02:42 MTDiscord <greenxenith> No, it turns markdown elements in to HTML elements
02:43 MTDiscord <mark.wiemer> Yes? That's a machine that does that, is it not?m
02:43 MTDiscord <greenxenith> See this, please
02:43 MTDiscord <greenxenith> A meaningful tree
02:43 MTDiscord <greenxenith> As in, relate one section to another based on a consistent set of rules
02:43 MTDiscord <greenxenith> Have you seen the luanti-tools script that breaks the lua_api.md into API snippets? Its awful
02:44 MTDiscord <greenxenith> And you have already proposed a solution for that, being a strict schema to keep the markdown organized
02:44 MTDiscord <greenxenith> Why are we still bikeshedding
02:44 MTDiscord <mark.wiemer> ??? markdown is a meaningful tree. That's why we get HTML lists and not just plaintext pages. I am very confused.
02:44 MTDiscord <mark.wiemer> Markdown turns into a meaningful tree*
02:44 MTDiscord <mark.wiemer> Already replied to that with my own comment :/
02:45 MTDiscord <mark.wiemer> This is my reply
02:45 MTDiscord <greenxenith> I cant tell you what you are missing then
02:45 MTDiscord <mark.wiemer> Why do you say Markdown isn't machine readable?
02:45 MTDiscord <greenxenith> It is as machine readable as a text file
02:45 MTDiscord <greenxenith> We are not using "machine readable" in a literal sense, as I tried to make clear already
02:46 MTDiscord <mark.wiemer> It is more readable. It defines ### as "third level heading", which a text file does not.
02:46 MTDiscord <mark.wiemer> There is such a thing as syntactically invalid Markdown. It's much harder to generate syntactically invalid text.
02:47 MTDiscord <mark.wiemer> What does machine readable mean?
02:47 MTDiscord <greenxenith> Fine: Markdown is not [the concept which applies to the lua_api.md in its current state where it is near-impossible to write an automated application which converts the markdown (or whatever text is written) into a format which something like a language server or documentation lookup could use]
02:47 MTDiscord <greenxenith> Machine parseable, machine readable, destructable, modular, pick whatever word you want
02:47 MTDiscord <mark.wiemer> No, raw Markdown is not LSP-parseable. I agree there.
02:48 MTDiscord <mark.wiemer> You are asking for compliance with a specific protocol, let's just name that protocol. It's LSP.
02:48 MTDiscord <greenxenith> I am not asking for LSP compliance, I am asking for any consistent organization whatsoever to make it consistently parseable
02:48 MTDiscord <mark.wiemer> Consistently parse able into what??
02:49 MTDiscord <wsor4035> think javadoc, etc schema so a machine can parse it to whatever
02:49 MTDiscord <greenxenith> An LSP is one possibility
02:49 MTDiscord <greenxenith> Please help me understand what I am failing to convey
02:50 MTDiscord <mark.wiemer> That is what I am trying with my questions, yes
02:50 MTDiscord <mark.wiemer> I think we are agreed we need something that exposes the types of the args to a machine, as that's not currently present.
02:50 MTDiscord <greenxenith> That is a very large step to making it [insert the term we apparently cannot agree on]
02:51 MTDiscord <mark.wiemer> "it" is vague here. If you mean "Make the API parse able" like I defined in #296, yeah
02:52 MTDiscord <greenxenith> How-- what? How is it vague at all, we have exclusively been talking about the API?
02:52 MTDiscord <mark.wiemer> Another issue is that "lua_api.md" covers much more than the raw API
02:53 MTDiscord <mark.wiemer> Only the core namespace reference is really the API, you have mentioned the file itself so I've been confused. I'm also dumb. Never underestimate how dumb I am!
02:53 MTDiscord <mark.wiemer> https://github.com/luanti-org/docs.luanti.org/issues/296 for reference
02:54 MTDiscord <greenxenith> If we are talking about "markdown" and say "API" in the same sentence I believe it reasonable to assume we are referring to lua_api.md
02:56 MTDiscord <greenxenith> When you say "reference" I see "API reference" which is lua_api.md
02:58 MTDiscord <greenxenith> Evidently Luatic does not agree that a markdown schema is as good as a DSL when it comes to parseability, but I say you both start writing documentation in your chosen approach and compare.
03:03 MTDiscord <mark.wiemer> Api référence is a small part of lua_api.md
03:03 MTDiscord <greenxenith> Balancing catering to the writer vs catering to the developer is difficult, but I generally agree that writing is more important to some extent. It may be valuable to validate against the actual engine API in some way, but that should be a secondary concern
03:04 MTDiscord <greenxenith> Unfortunately lua_api.md does not care what you think
03:04 MTDiscord <greenxenith> https://cdn.discordapp.com/attachments/926231483155378176/1443075025618866307/image.png?ex=6927bfd9&amp;is=69266e59&amp;hm=0164da4b9e94328d4906fc6cc890a2b78c9c193e16e8e0f4fe51b54f6b322715&amp;
03:05 MTDiscord <mark.wiemer> Also, sorry I have been rude. I have not eaten in a while, and I have been impatient. That is my fault, and I'll try to think more before I speak
03:05 MTDiscord <mark.wiemer> Just because they named it that, doesn't make it correct. Most of the doc is guidelines, I am focused on the part that actually defines functions. The actual API.
03:06 MTDiscord <greenxenith> My point is we call it by what it is labeled. If we see "api reference" we think of the document labeled "api reference" whether or not it is in its entirety an API reference. I would also argue that most of it defines functions.
03:07 MTDiscord <greenxenith> No worries. I should also try to be more patient. And less defensive.
03:08 MTDiscord <mark.wiemer> OK, I will use "core namespace reference" from now on. That is where I am focusing
03:08 MTDiscord <greenxenith> While some of the reference includes non-function items (like engine behavior, file structure, etc), most of it is function definitions. I am not sure what else makes it not an API reference
03:09 MTDiscord <mark.wiemer> The core namespace reference should include types of args and return types of functions in a consistent way that machines can extract and convert to other formats, e.g. for a language server
03:09 MTDiscord <mark.wiemer> I will reread the doc. But my focus has been on core namespace reference. Maybe we align on changes there, then broaden our scope?
03:10 MTDiscord <greenxenith> The problem is the whole doc is "core namespace reference"
03:10 MTDiscord <greenxenith> I am not sure what else you are referring to
03:10 MTDiscord <greenxenith> When we say "lua_api.md" we also mean core namespace reference
03:10 MTDiscord <mark.wiemer> There is a specific section named "core namespace reference"
03:10 MTDiscord <greenxenith> Source?
03:10 MTDiscord <mark.wiemer> https://api.luanti.org/core-namespace-reference/
03:11 MTDiscord <greenxenith> OK yikes
03:12 MTDiscord <greenxenith> Severly dislike the 'quotes' around that
03:12 MTDiscord <mark.wiemer> It happens 🙂
03:12 MTDiscord <greenxenith> You are aware that the Luanti API includes more than the core namespace, yes?
03:12 MTDiscord <mark.wiemer> I have an idea what you mean, but I'll ask you to clarify to be sure.
03:13 MTDiscord <greenxenith> There are other detached objects that arent under the core table, and parameters that are simply Lua tables that are defined outside of that sectoin
03:14 MTDiscord <greenxenith> Almost everything in lua_api.md is critical to the API reference even if it isnt in that specific section
03:14 MTDiscord <greenxenith> For example, above that section is https://github.com/luanti-org/luanti/blob/master/doc/lua_api.md#registered-entities which defines the methods that the entity object has
03:15 MTDiscord <greenxenith> I believe my confusion is arising from the notion that lua_api.md somehow isnt primarily documenting methods and functions, which it absolutely is
03:17 MTDiscord <mark.wiemer> I think you're right. I was confusing it with some other doc or just being dumb, sorry
03:17 MTDiscord <mark.wiemer> I think the best area to start with is the core namespace reference still, it's closest to something LSP-compatible, I believe
03:18 MTDiscord <greenxenith> Whatever order gets you there faster
03:18 MTDiscord <exe_virus> It specifies:  - methods/functions - data structures/member variables/their specification therin - expected file structures and contents of those files
03:19 MTDiscord <greenxenith> If you actually write a couple paragraphs of documentation in your system, it will already be objectively better than Luatic's approach since he hasnt done anything with it yet
03:19 MTDiscord <exe_virus> I'm curious - mark you are planning to use a schema or a DSL?
03:20 MTDiscord <greenxenith> As per the conversation from yesterday: He is writing a remark.js schema to strictly format markdown
03:21 MTDiscord <exe_virus> Ah, sounds good as a solution, the fun part will be building our meta tree schema - looking forward to the buckets we build
03:23 MTDiscord <mark.wiemer> Very rough v1 already done, ref the GH issue and my comments
03:23 MTDiscord <mark.wiemer> Buckets?
03:25 MTDiscord <exe_virus> structures is a "bucket", such as all our "definitions"  table. methods core. methods  these fall into the "methods" bucket, and can be further specified under the "core" and "table" method buckets
03:26 MTDiscord <exe_virus> i.e. how we group common items, and how those common items will be specified such that one "method" is the same as another "method" from a computer language trying to parse it, standpoint
03:26 MTDiscord <mark.wiemer> Hmm, would be interested in reading any docs about that process and naming convention, it's new to me 🙂 in any case, yeah, I'll be writing sample schema-compliant docs over the week
03:26 MTDiscord <exe_virus> cool, yeah I do it for work a lot, will take a look when you have it
03:28 MTDiscord <mark.wiemer> Signing off for now, need a snack and some sleep. Thanks for the patience and the convo today 🙂
05:00 MTDiscord joined #luanti-docs
08:33 mrcheese joined #luanti-docs
13:39 MTDiscord <luatic> There isn't really (unless you consider text encoding issues), if it's invalid it just defaults to rendering the invalid parts as text. It does not happen that you enter [foo](bar into some Markdown box and are presented with "syntax error: forgot to delimit link target" or something.
13:45 MTDiscord <luatic> Exactly, and this kind of thing is what Markdown doesn't provide a good structured representation for. Markdown lets you write down a tree, but this tree is ultimately a HTML DOM, so it's all about how things should look like, and not that much about semantic information. It's not XML, it's not really supposed to be extensible. Now you technically can do custom HTML tags, you can do <div class="blah"> etc., but I find that to be fairly
13:45 MTDiscord verbose. How would you write down types in LaTeX, for example? <type-list><type-int></type-list> would be too verbose, so won't you just end up using text and doing the tree-ification yourself?
13:46 MTDiscord <luatic> Anyways, I agree with Green: We'll just have to try it. At the end of the day I'm mostly yapping so far, maybe my idea turns out horribly unconvenient in practice. No other way to find out than for me to go give it a shot 🙂
17:16 Niklp4 joined #luanti-docs
17:22 MTDiscord joined #luanti-docs
21:11 mrcheese joined #luanti-docs
23:19 MTDiscord <mark.wiemer> This is specific to Minetest Game, right?
23:19 MTDiscord <mark.wiemer> https://cdn.discordapp.com/attachments/926231483155378176/1443380729944871002/Screenshot_2025-11-26-17-19-07-57_df198e732186825c8df26e3c5a10d7cd.jpg?ex=6928dc8e&amp;is=69278b0e&amp;hm=14ae23d8ab13d568894f5d59665940fe5c8d6f8204620745544b0a29f2da8a83&amp;
23:21 MTDiscord <wsor4035> and the soups, yes
23:35 rubenwardy joined #luanti-docs
23:39 MTDiscord <mark.wiemer> Cool just triple checking

| Channels | #luanti-docs index | Today | | Google Search | Plaintext