Time |
Nick |
Message |
00:04 |
MTDiscord |
<luatic> The entire empty capture group is weird IMO. Seems C++y to me that people prefer indices over copying strings (arguably it does offer better performance in some cases though). |
00:05 |
MTDiscord |
<luatic> Note: > As a special case, the empty capture () captures the current string position (a number). For instance, if we apply the pattern "()aa()" on the string "flaaap", there will be two captures: 3 and 5. From the reference manual. |
00:16 |
MTDiscord |
<Benrob0329> ahh, thanks |
00:19 |
MTDiscord |
<Benrob0329> pushed to the vector PR |
00:21 |
MTDiscord |
<luatic> mergeable, should be squashed |
00:25 |
MTDiscord |
<luatic> merged |
00:27 |
MTDiscord |
<Benrob0329> thanks, although squashing hasn't been our policy so far |
00:27 |
MTDiscord |
<Benrob0329> RE "Then the macro is inaccurate. Should say "deprecated-following"." - "the foo following" is valid |
00:28 |
MTDiscord |
<Benrob0329> I mean, what's valid is relative I suppose, but afaik it's a normal construct |
00:28 |
MTDiscord |
<luatic> Squashing is a good idea if the individual commits don't add much value. |
00:29 |
MTDiscord |
<luatic> The course of a PR often is rather messy. The commits don't need to reflect that IMO. |
00:30 |
MTDiscord |
<Benrob0329> inb4 Warr again |
00:30 |
MTDiscord |
<Benrob0329> We need a merge, squash, and rebase policy probably |
00:31 |
MTDiscord |
<luatic> Alright. Now as soon as we get https://github.com/minetest/minetest_docs/pull/12 merged, we can start the standardization. |
00:31 |
MTDiscord |
<luatic> Standardization ;) |
00:31 |
MTDiscord |
<Benrob0329> Well yes but actually yes |
00:31 |
MTDiscord |
<luatic> https://github.com/minetest/minetest_docs/issues/19 |
01:15 |
MTDiscord |
<GreenXenith> style/howto standardization draft PR open https://github.com/minetest/minetest_docs/pull/20 |
01:18 |
MTDiscord |
<Jonathon> looks reasonable so far |
02:06 |
MTDiscord |
<Benrob0329> @GreenXenith <<Vehicle Properties>> should be the section link, iirc it excludes formatting marks |
02:06 |
MTDiscord |
<Benrob0329> If it doesn't work, try with the backticks |
02:38 |
MTDiscord |
<Benrob0329> @GreenXenith reviewed your PR |
03:06 |
MTDiscord |
<GreenXenith> hows this? |
03:06 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928122208172249138/unknown.png |
03:06 |
MTDiscord |
<Jonathon> looks rather confusing |
03:07 |
MTDiscord |
<Jonathon> (even though i know what your are trying to convey) |
03:07 |
MTDiscord |
<GreenXenith> "confusing" is not specific |
03:09 |
MTDiscord |
<Jonathon> apicall(pos: vector) . it is rather confusing i would think to a new person with a tiny bit of experience as there going to look at that and say, ok i see (), the things inside of it must be the arguements you pass to it, and having two there will through them off |
03:10 |
MTDiscord |
<Benrob0329> Hmm, I'm not sure that using the same name as the namespace is a good idea |
03:10 |
MTDiscord |
<Jonathon> additonally it has a : which the api call is using |
03:10 |
MTDiscord |
<GreenXenith> Using a generic term is worse |
03:10 |
MTDiscord |
<Jonathon> i thiunk documenting the type is fine, just not in that from |
03:10 |
MTDiscord |
<Jonathon> not that i can think of a better form atm |
03:11 |
MTDiscord |
<GreenXenith> the prerequisite to reading this document is knowing basic Lua, and people that know basic lua know that arguments are not typed and are separated by commas, not colons |
03:11 |
MTDiscord |
<GreenXenith> param: type is a very common syntax |
03:11 |
MTDiscord |
<GreenXenith> better than C-style type param |
03:12 |
MTDiscord |
<Benrob0329> I do understand wsor's concern here, but I'm not sure there's a better way to do it |
03:12 |
MTDiscord |
<GreenXenith> Feel free to hash it out, gotta run for a few hours |
03:12 |
MTDiscord |
<Benrob0329> The bullet list works too, but using that for non-type descriptions is nice |
03:13 |
MTDiscord |
<Jonathon> maybe could use the @ symbol nicely somehow as some documentation standards uses for the params |
03:13 |
MTDiscord |
<Benrob0329> That doesn't sound any clearer |
03:15 |
MTDiscord |
<GreenXenith> This is the sort of thing that can be clarified with theming |
03:15 |
MTDiscord |
<Benrob0329> How likely do we think that it is for a new person to actually get confused by this? |
03:15 |
MTDiscord |
<Benrob0329> I have an idea, follow me to #general |
03:22 |
MTDiscord |
<Benrob0329> Fatal got it, though he shared wsors sentiment |
03:23 |
MTDiscord |
<Benrob0329> Seems to me like it's clear enough, the only alternative I can think if is to push it into the bullet list |
03:23 |
MTDiscord |
<Jonathon> honestly, i think working it into the bullet is better |
03:24 |
MTDiscord |
<Jonathon> can you work tooltips or anything fancy into asciidocs? |
03:25 |
MTDiscord |
<Benrob0329> Possibly, though I'm not certain since that wouldn't always translate nice to all formats |
03:25 |
MTDiscord |
<Jonathon> yeah... |
03:25 |
MTDiscord |
<Jonathon> seems #general agrees putting it in bullet is better, just not how |
03:28 |
MTDiscord |
<Jonathon> you could do it how the jest documentation does it |
03:28 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928127818259386368/unknown.png |
03:29 |
MTDiscord |
<Jonathon> or using the type to lead right into the description |
03:29 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928128035977306152/unknown.png |
03:31 |
MTDiscord |
<Benrob0329> asciidoc === Vehicle:set_pos(pos) * `pos`: xref:vector.adoc[`vector`] ** Position where the vehicle is placed. |
03:32 |
MTDiscord |
<Jonathon> rendered |
03:32 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928128783226110033/unknown.png |
03:32 |
MTDiscord |
<Jonathon> my suggestion |
03:32 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928128866399166474/unknown.png |
03:33 |
MTDiscord |
<Benrob0329> Could also use a table: ``asciidoc === Vehicle:set_pos(pos) |=== pos | xref:vector.adoc[vector`] | Position where the Vehicle is placed |=== ```` |
03:34 |
MTDiscord |
<Jonathon> doing this may make the document like 1/4 times longer tbh |
03:34 |
MTDiscord |
<Benrob0329> Or the description list: asciidoc === Vehicle:set_pos(pos) `pos`: xref:vector.adoc[`vector`]:: Position where the vehicle is placed. |
03:35 |
MTDiscord |
<Jonathon> this doesnt work |
03:35 |
MTDiscord |
<Benrob0329> Oh wait |
03:35 |
MTDiscord |
<Benrob0329> try now |
03:36 |
MTDiscord |
<Jonathon> maybe if you can adjust the column sizing? rather large |
03:36 |
MTDiscord |
<Benrob0329> You can |
03:37 |
MTDiscord |
<Benrob0329> I just didn't here, one sec while I look up the syntax |
03:37 |
MTDiscord |
<Jonathon> frick, fatal likes both for different reasons |
03:37 |
MTDiscord |
<Benrob0329> updated the snippet |
03:38 |
MTDiscord |
<Jonathon> thats worse |
03:38 |
MTDiscord |
<Jonathon> i mean like moving the distribution of cells rather than size |
03:38 |
MTDiscord |
<Jonathon> i.e. pos, vector are tiny in a huge column |
03:38 |
MTDiscord |
<Benrob0329> oh there's an autowidth setting |
03:38 |
MTDiscord |
<Jonathon> and then the description is jammed in a tiny area |
03:39 |
MTDiscord |
<Benrob0329> try now |
03:39 |
MTDiscord |
<Jonathon> much better |
03:39 |
MTDiscord |
<Benrob0329> (post for posterity?) |
03:39 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928130666623815730/unknown.png |
03:40 |
MTDiscord |
<Jonathon> two im debating which i like better |
03:40 |
MTDiscord |
<Benrob0329> We can change the table style too |
03:40 |
MTDiscord |
<Jonathon> in html |
03:40 |
MTDiscord |
<Benrob0329> remove the grid lines or borders |
03:40 |
MTDiscord |
<Benrob0329> In asciidoc |
03:41 |
MTDiscord |
<Benrob0329> This can differ from table to table, and is used across different formats |
03:41 |
MTDiscord |
<Jonathon> why is pos and vector so bloody small tho? |
03:41 |
MTDiscord |
<Jonathon> just noticed that |
03:41 |
MTDiscord |
<Benrob0329> probably because they're both monospaced and inside the table |
03:41 |
MTDiscord |
<Jonathon> its like 1/2 or 3/4 size of description |
03:41 |
MTDiscord |
<Benrob0329> switch from VSCode style to AsciiDoctor style in the extension |
03:42 |
MTDiscord |
<Benrob0329> that might help |
03:42 |
MTDiscord |
<Benrob0329> But this is just the template's CSS, ie something that is fixed in the HTML side |
03:43 |
MTDiscord |
<Benrob0329> The thing I don't like with tables is that it's syntax heavy |
03:43 |
MTDiscord |
<Jonathon> yeah, ninjad me |
03:43 |
MTDiscord |
<Benrob0329> and not really more readable |
03:43 |
MTDiscord |
<Jonathon> for that reason id opt more for the top half |
03:43 |
MTDiscord |
<Benrob0329> What do you think of the descriptor list? |
03:44 |
MTDiscord |
<Jonathon> descriptor list? |
03:44 |
MTDiscord |
<Jonathon> non rendered vs rendered |
03:44 |
MTDiscord |
<Jonathon> https://cdn.discordapp.com/attachments/926231483155378176/928131877494222948/unknown.png |
03:45 |
MTDiscord |
<Jonathon> adoc === Vehicle:set_pos(pos) `pos`: xref:vector.adoc[`vector`]:: Position where the vehicle is placed. that? |
03:45 |
MTDiscord |
<Benrob0329> Yes |
03:46 |
MTDiscord |
<Jonathon> i think that its more confusing syntax to save a line. not only that if viewing raw via nano its not as understandable as two lines |
03:47 |
MTDiscord |
<Jonathon> adoc === Vehicle:set_pos(pos) * `pos`: xref:vector.adoc[`vector`] - Position where the vehicle is placed. being better |
03:47 |
MTDiscord |
<Jonathon> im not sure however when you start doing multiples |
03:48 |
MTDiscord |
<Jonathon> i think i favor adoc === Vehicle:set_pos(pos) * `pos`: xref:vector.adoc[`vector`] Position where the vehicle is placed. most tbh, with your descriptor list probably second, and then * - method third |
03:48 |
MTDiscord |
<Jonathon> mainly descriptor second because of multiple arguements |
03:48 |
MTDiscord |
<Jonathon> if that makes sense? |
03:50 |
MTDiscord |
<Jonathon> what is your personal opinion benrob? |
03:51 |
MTDiscord |
<Benrob0329> I'm pretty sure you can split descriptor lists into multiple lines |
03:51 |
MTDiscord |
<Benrob0329> I'm more wondering about what you think of it rendered |
03:52 |
MTDiscord |
<Benrob0329> (I'd post a screenshot but I'm afk right this second) |
03:53 |
MTDiscord |
<Jonathon> its not going to break my heart if we decide 2 line rendered is better, i just think reading raw text wise the discriptor is better than * - mess |
04:18 |
MTDiscord |
<Benrob0329> Some options: |
04:18 |
MTDiscord |
<Benrob0329> https://cdn.discordapp.com/attachments/926231483155378176/928140414685417492/unknown.png |
04:19 |
MTDiscord |
<Benrob0329> Some options: |
04:19 |
MTDiscord |
<Benrob0329> https://cdn.discordapp.com/attachments/926231483155378176/928140587524296794/unknown.png |
05:00 |
|
MTDiscord joined #minetest-docs |
05:32 |
MTDiscord |
<GreenXenith> Is there an alternative to the online type but without parentheses? (Not table) |
05:32 |
MTDiscord |
<GreenXenith> (Still not back yet) |
05:32 |
MTDiscord |
<GreenXenith> Inline* |
06:02 |
MTDiscord |
<Benrob0329> The 2nd one I posted? Yeah, we could do a lot of different punctuation. |
06:02 |
MTDiscord |
<Benrob0329> For example: * pos: vector, Position where the vehicle is placed. |
06:03 |
MTDiscord |
<Benrob0329> I think that allowing multiple lines for arguments might be a good idea for when there is inevitably a non-trivial argument |
08:08 |
MTDiscord |
<GreenXenith> I am still a strong proponent of in-function types |
08:08 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928198310701985872/unknown.png |
08:09 |
MTDiscord |
<GreenXenith> in-function is quicker to read at a glance and takes up less space |
08:10 |
MTDiscord |
<GreenXenith> Most documentation worth its salt does in-function types, and it doesnt take much time to get used to if youre new to it. May as well get the newbies to learn the standard anyway. |
08:11 |
MTDiscord |
<GreenXenith> fatalerror understood it just fine, so far no one has actually had an issue with it themselves, only the possible notion that some beginner might get confused |
08:11 |
MTDiscord |
<GreenXenith> I dont consider that enough reason to not use in-function notation |
08:39 |
MTDiscord |
<GreenXenith> Here's a sort of LOVE-style documentation, but it is still not very easy to read, and its style-dependent (links are for styling, not linking) |
08:39 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928206118021365760/unknown.png |
09:09 |
MTDiscord |
<GreenXenith> The original style with the longest function in the API |
09:09 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928213511518175282/unknown.png |
09:29 |
MTDiscord |
<GreenXenith> Scratch that, found an even longer one |
09:29 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928218602698600458/unknown.png |
09:38 |
MTDiscord |
<GreenXenith> it also kinda depends on how big the headers get rendered. Really they shouldnt be much bigger than normal text. |
09:38 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928220841945206804/unknown.png |
09:39 |
MTDiscord |
<GreenXenith> This is a complex issue ? |
10:19 |
|
wsor joined #minetest-docs |
10:35 |
MTDiscord |
<luatic> I much like Warr's <dl> proposal BTW. Why don't we document params using "param:: description" instead of "* param: description"? Or maybe even a table? Or maybe even a table? This is how LÖVR does it at least. |
10:35 |
MTDiscord |
<luatic> https://cdn.discordapp.com/attachments/926231483155378176/928235328530153532/Bildschirmfoto_von_2022-01-05_11-35-22.png |
11:01 |
MTDiscord |
<GreenXenith> thats a ridiculous amount of space for one function |
11:09 |
MTDiscord |
<GreenXenith> @Luatic in the future, please use a less passive-aggressive tone in reviews, its annoying and unhelpful. Just say "vehicle should be uppercase", not "How did the Vehicle go lowercase?" or "This is redundant" instead of "Stating the obvious?" |
11:23 |
|
appguru joined #minetest-docs |
12:27 |
MTDiscord |
<exe_virus> Fair that is a lot of space used. I don't mind though for the reference sections if the function takes the whole screen, as long we have quick sidebar nav that lets us click to a list of anchors on the page. |
12:27 |
MTDiscord |
<exe_virus> For examples and other sections where learning is occuring, that should be a lot tighter to allow a person to cross reference sentences quickly |
13:39 |
|
appguru joined #minetest-docs |
13:50 |
MTDiscord |
<Sublayer plank> ohh so that's how you make table source not look absolutely abysmal, markdown ruined me with its table syntax :P |
14:31 |
MTDiscord |
<Benrob0329> Yeah, MD-style ascii-art tables are..ehh |
15:02 |
MTDiscord |
<josiah_wi> That was pinned accidentally. My UI is in German and I was in a hurry and did not realise I was pinning it. |
15:03 |
MTDiscord |
<josiah_wi> I could not have picked a better link to accidentally pin, though. |
15:32 |
|
ROllerozxa joined #minetest-docs |
15:32 |
|
wsor joined #minetest-docs |
15:32 |
|
MTDiscord joined #minetest-docs |
15:32 |
|
rubenwardy joined #minetest-docs |
15:33 |
|
BuckarooBanzai joined #minetest-docs |
15:33 |
|
Desour joined #minetest-docs |
15:39 |
MTDiscord |
<Benrob0329> @Luatic The "Global Functions" section is meant to demonstrate how to document global functions |
15:39 |
MTDiscord |
<Benrob0329> Its not a mistake or a miswording |
16:32 |
MTDiscord |
<j45> >What does "step up" mean if I'm not familiar with engine terminology? literally how high the object can step |
16:33 |
MTDiscord |
<luatic> Well, define "step" |
16:33 |
MTDiscord |
<luatic> I'm struggling to come up with a clean definition, what I have in mind is way too technical |
16:34 |
MTDiscord |
<luatic> Basically, when the object would be blocked by a front- or side-face (non-top and non-bottom), this is how high - in nodes - the object will teleport up to step on the collisionbox instead |
16:35 |
MTDiscord |
<luatic> The player uses this when climbing stairs, for example. But there it is at least smoothed. |
16:35 |
MTDiscord |
<luatic> (the movement of the camera is smoothed) |
16:37 |
MTDiscord |
<josiah_wi> "How many nodes the object can climb in one step."? |
16:37 |
MTDiscord |
<josiah_wi> can climb at a time* |
16:38 |
MTDiscord |
<luatic> no |
16:38 |
MTDiscord |
<josiah_wi> I guess technically it could climb half a node. ? |
16:38 |
MTDiscord |
<luatic> this is not how stepheight works |
16:38 |
MTDiscord |
<luatic> first of all it isn't tied to nodes but collisionboxes AFAIK (or so I hope) |
16:39 |
MTDiscord |
<luatic> second the "many" is misleading, this is in "in-game metres" / nodes as a unit, but it's not like you could climb 10 nodes using this |
16:39 |
MTDiscord |
<luatic> and finally the "climbing" part is misleading as well, this literally just teleports you up when you run into something |
16:39 |
MTDiscord |
<josiah_wi> So "how high the object can step up to get on top of another object" would make sense. |
16:40 |
MTDiscord |
<luatic> that sounds well, but to get on top of another collisionbox, be it from a node or an object |
16:40 |
MTDiscord |
<josiah_wi> Followed by a technical detail about collisionboxes. |
16:40 |
MTDiscord |
<luatic> our terminology gets mushy again |
16:40 |
MTDiscord |
<josiah_wi> it sounds good, or it flows well. ? |
16:40 |
MTDiscord |
<luatic> XOR it seems xD |
16:41 |
MTDiscord |
<luatic> How do we distinguish 1. objects as in objects of classes 2. ObjectRefs specifically 3. in-game objects, like objectrefs and nodes |
16:41 |
MTDiscord |
<luatic> or even 4. just objects |
16:42 |
MTDiscord |
<luatic> we need to start a terminology.adoc it's not like I have done this already |
16:48 |
MTDiscord |
<luatic> https://github.com/minetest/minetest_docs/pull/21 |
17:06 |
MTDiscord |
<Benrob0329> Well, entities are objects with methods, as are vectors, and many other objects. Entities are objects within the map, though, and not just in code. |
17:11 |
MTDiscord |
<Benrob0329> As for step_height, maybe "This sets the maximum height (in nodes) that an entity can travel up if it collides with something. This allows it to "step" over obstacles and continue traveling." |
17:12 |
MTDiscord |
<Benrob0329> Remember that ObjRef is a technical term for a literal object reference which points to an entity, and despite lua_api's poor choice of terminology is not the name of the actual thing it points to. |
17:13 |
MTDiscord |
<Benrob0329> At best it could be called a Server Active Object, but entity is whats actually used by the registration function. |
17:14 |
MTDiscord |
<j45> phew, i fucked up with git but i fixed it |
17:14 |
MTDiscord |
<Benrob0329> How so and how so? |
17:16 |
MTDiscord |
<j45> i did git pull which unexpectantly pulled from minetest_docs, instead of my own fork's branch (i wanted to pull luatic's change)... but i fixed with git reset --hard 795ad2e which restores it to the state of the commit 795ad2e, which was what i was on before i fucked up |
17:16 |
MTDiscord |
<Benrob0329> Fair enough |
17:17 |
MTDiscord |
<Benrob0329> Yeah, you generally want to work out of your own fork rather than from the main repo's upstream |
17:18 |
MTDiscord |
<j45> ya... |
17:24 |
|
appguru joined #minetest-docs |
17:29 |
MTDiscord |
<j45> huh? why didnt this work? atleast i know how to fix it now lol |
17:29 |
MTDiscord |
<j45> https://cdn.discordapp.com/attachments/926231483155378176/928339380987387934/unknown.png |
17:29 |
MTDiscord |
<j45> OH im not being stupid |
17:30 |
MTDiscord |
<j45> Luatic did this |
17:30 |
MTDiscord |
<j45> https://github.com/Minetest-j45/minetest_docs/commit/0ba800583f2b4a9b5d72bda412beb9473f79027a |
17:30 |
MTDiscord |
<j45> jk, its fine |
17:38 |
MTDiscord |
<josiah_wi> Thank you for merging instead of rebasing. This is an example of where rebasing would cause a lot of problems. |
18:10 |
|
erlehmann joined #minetest-docs |
18:26 |
|
appguru joined #minetest-docs |
19:12 |
|
erle joined #minetest-docs |
21:57 |
MTDiscord |
<GreenXenith> not a huge fan |
21:57 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928406796815695902/unknown.png |
21:59 |
MTDiscord |
<luatic> I am a fan |
22:00 |
MTDiscord |
<luatic> Should be success = vehicle.new(pos, properties) |
22:04 |
MTDiscord |
<Benrob0329> My vote absolutely goes for using -> for return types, you return a lot less than you pass arguments |
22:04 |
MTDiscord |
<luatic> Return values probably shouldn't be named ?, just numbered (maybe an ordered list is the proper thing to use here) |
22:04 |
MTDiscord |
<Benrob0329> an arrow is pretty clear IMO and doesn't take up much space |
22:04 |
MTDiscord |
<luatic> Only documents the types tho, the actual value is documented in prose then. |
22:05 |
MTDiscord |
<Benrob0329> right, we're going to have prose anyways |
22:05 |
MTDiscord |
<luatic> I also like it if pretty much everything monospaced is valid Lua |
22:05 |
MTDiscord |
<luatic> the arrow breaks with that |
22:05 |
MTDiscord |
<Benrob0329> the arrow can be not-monospaced |
22:06 |
MTDiscord |
<Benrob0329> asciidoc === `mything.function(foo, bar)` -> `string` |
22:07 |
MTDiscord |
<luatic> ADoc will even turn that into a nice "→" |
22:07 |
MTDiscord |
<Benrob0329> yes |
22:07 |
MTDiscord |
<luatic> Still kinda odd that we document namespace.funcname(argnames) -> returnTYPE |
22:07 |
MTDiscord |
<Benrob0329> you usually only return 1 thing, sometimes 2, and rarely 3 |
22:08 |
MTDiscord |
<Benrob0329> so just the type is fine IMO |
22:09 |
MTDiscord |
<GreenXenith> still not a fan |
22:09 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928409951439831101/unknown.png |
22:10 |
MTDiscord |
<luatic> Minimum redundancy would be the following: asciidoc == `mything` === `function` Functions. ==== Arguments . `foo`: `string`. Name of the foo. . `bar`: `number`. How many times it should function. ==== Return values . `vector`. Position the foo was spawned at. |
22:10 |
MTDiscord |
<Benrob0329> This feel way too technical for something meant to be explaining thing in plain English |
22:11 |
MTDiscord |
<luatic> What about a definition list? |
22:11 |
MTDiscord |
<luatic> https://cdn.discordapp.com/attachments/926231483155378176/928410306336673812/Bildschirmfoto_von_2022-01-05_23-10-41.png |
22:11 |
MTDiscord |
<GreenXenith> Its the existing API reference, im just using it for style testing because of its size |
22:11 |
MTDiscord |
<Benrob0329> Still |
22:11 |
MTDiscord |
<GreenXenith> If you mean the table makes it feel too technical, then yeah I see it |
22:12 |
MTDiscord |
<luatic> The table forces you to cleanly separate everything though. |
22:12 |
erlehmann |
GreenXenith did you autogenerate that? |
22:12 |
MTDiscord |
<GreenXenith> No? |
22:12 |
MTDiscord |
<luatic> I assume he used either AsciiDoctor or a preview plugin for his editor of choice. |
22:13 |
MTDiscord |
<GreenXenith> re: definition list; So, LOVE-style instead of LOVR-style? ? |
22:13 |
MTDiscord |
<luatic> I guess so |
22:14 |
erlehmann |
i have a question, how to handle the types where the function has a narrower type than the actual data type |
22:14 |
MTDiscord |
<luatic> Prose |
22:14 |
MTDiscord |
<Benrob0329> I like the definition list, I think it's clearer than a bullet list but cleaner than the table |
22:15 |
MTDiscord |
<GreenXenith> To be clear, we will probably never find a format that handles functions like place_schematic_on_vmanip very well |
22:15 |
MTDiscord |
<luatic> So, (ordered) list, definition list, or table? |
22:15 |
MTDiscord |
<GreenXenith> I still need to test the list version |
22:15 |
MTDiscord |
<GreenXenith> but the type should really go on the name line |
22:15 |
MTDiscord |
<Benrob0329> Also, type in the description or the list header? |
22:16 |
MTDiscord |
<GreenXenith> ? |
22:16 |
MTDiscord |
<luatic> asciidoc == `vehicle.new` Spawns a new vehicle. [source,lua] ---- success = vehicle.new(pos, properties) ---- === Arguments `pos`:: https://example.com[`vector`]. The position to spawn the vehicle at. `properties`:: https://example.com[`Vehicle properties`] === Return value `success`:: `bool`. Whether the placement was successfull. |
22:16 |
erlehmann |
i like the definition list too, but if i am not mistaken, it should be able to record these things in a way that we can change how it is rendered later right? |
22:16 |
MTDiscord |
<Benrob0329> ie: asciidoc pos: vector:: Foo pos:: vector, foo |
22:16 |
erlehmann |
luatic i saw that all on one line |
22:16 |
erlehmann |
luatic was that intended? |
22:16 |
MTDiscord |
<luatic> erlehmann: not really, I assumed the bridge was more capable |
22:17 |
MTDiscord |
<Benrob0329> blame the bridge, someone could gist it I suppose |
22:17 |
MTDiscord |
<GreenXenith> bridge doesnt support replies or multiline afaik |
22:17 |
MTDiscord |
<luatic> The choice of AsciiDoc couples our docs to certain formatting unfortunately |
22:17 |
MTDiscord |
<luatic> A DSL would be better here ? |
22:18 |
MTDiscord |
<Benrob0329> We can change styling later, but the thing used should be decided now |
22:18 |
MTDiscord |
<GreenXenith> as long as styling is consistent, scripting style changes is pretty easy |
22:18 |
MTDiscord |
<Benrob0329> also that |
22:19 |
erlehmann |
you know what: if you have a table, i bet i can style it like a numbered list or definition list |
22:19 |
erlehmann |
give me a few minutes |
22:19 |
MTDiscord |
<Benrob0329> hold on, let me find the screenshot |
22:19 |
MTDiscord |
<Benrob0329> we have talked about this |
22:20 |
MTDiscord |
<Benrob0329> https://cdn.discordapp.com/attachments/926231483155378176/928412739217526814/unknown.png |
22:20 |
MTDiscord |
<Benrob0329> last one is a table |
22:21 |
erlehmann |
last one looks nice |
22:22 |
MTDiscord |
<Benrob0329> setting the default table style would be nice |
22:23 |
MTDiscord |
<GreenXenith> still dont like it |
22:23 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928413409735766027/unknown.png |
22:24 |
MTDiscord |
<Benrob0329> @GreenXenith How does the less-noisy table look? |
22:24 |
MTDiscord |
<Benrob0329> the style I put in the screenshot I sent |
22:24 |
MTDiscord |
<Benrob0329> ie no header no frame |
22:25 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928413910325948476/unknown.png |
22:26 |
MTDiscord |
<Benrob0329> honestly, better |
22:26 |
MTDiscord |
<GreenXenith> better than the first table at least |
22:26 |
MTDiscord |
<GreenXenith> I still really dont like how long this takes to read |
22:26 |
MTDiscord |
<Benrob0329> it is is a big function |
22:27 |
MTDiscord |
<GreenXenith> I mean, with the original style I can look at the header and have 80% of the information I want |
22:27 |
MTDiscord |
<GreenXenith> er, thats a bad way to put it. I have all of the information I need, and I only need the body if Im reading it for the first time or need a detail |
22:28 |
MTDiscord |
<Benrob0329> put the body below the arguments |
22:29 |
MTDiscord |
<Benrob0329> I will say, I don't support having a seperate return list, I think it's more long-winded than ever needed since the function needs to be described in prose anyways. |
22:29 |
MTDiscord |
<Benrob0329> I think that having a good one-liner for what it returns at the start of the body is best |
22:30 |
MTDiscord |
<GreenXenith> maybe we can make a hybrid of this |
22:30 |
MTDiscord |
<Benrob0329> But I'm not sure if I've missed some discussion about it |
22:30 |
|
Desour joined #minetest-docs |
22:31 |
erlehmann |
just to prove that a table can definitely be styled as a list (look at the markup) https://mister-muffin.de/p/_Yv8.html |
22:33 |
erlehmann |
and yes i have left out a lot of stuff that is not needed ;) |
22:33 |
erlehmann |
tables in html are full of unwelcome surprises |
22:33 |
erlehmann |
who knows about thead and tbody anyway |
22:33 |
erlehmann |
or caption |
22:34 |
erlehmann |
this is unfortunate |
22:34 |
|
MTDiscord joined #minetest-docs |
22:37 |
MTDiscord |
<GreenXenith> ok, ew |
22:38 |
MTDiscord |
<GreenXenith> some functions return different amounts of values depending on the input |
22:38 |
MTDiscord |
<Benrob0329> Yup |
22:41 |
MTDiscord |
<GreenXenith> how are we supposed to handle that |
22:41 |
MTDiscord |
<GreenXenith> specifically in this case, its not just different amounts, the meaning of each value is different too |
22:42 |
MTDiscord |
<luatic> case distinction |
22:42 |
MTDiscord |
<luatic> perhaps even treat it like two entirely different calls ? |
22:42 |
MTDiscord |
<GreenXenith> This project is just going to make me hate Minetest more than I already do and make me begin to hate Lua :D |
22:43 |
MTDiscord |
<luatic> unfortunately yes |
22:43 |
MTDiscord |
<luatic> multiple return values are overused |
22:43 |
MTDiscord |
<GreenXenith> multiple return values are fine ... when used consistently |
22:43 |
MTDiscord |
<luatic> sometimes a table should just be used ffs |
22:46 |
MTDiscord |
<GreenXenith> I do not like it, Sam I Am |
22:46 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928419158461386752/unknown.png |
22:47 |
MTDiscord |
<luatic> I think it's fine |
22:47 |
MTDiscord |
<Benrob0329> I liked what I did with the definition table for vector, so here I am shilling it again |
22:48 |
MTDiscord |
<Benrob0329> *definition list |
22:48 |
MTDiscord |
<Benrob0329> Or descriptor list |
22:48 |
MTDiscord |
<GreenXenith> yeah, vector doesnt have a def table ;p |
22:50 |
MTDiscord |
<Benrob0329> You can have multiple lines in a d-list too |
22:50 |
MTDiscord |
<GreenXenith> the one thing I dont like about the vector doc and what I do like about these styles is the return value is not documented in english, making it easier to parse |
22:50 |
MTDiscord |
<Benrob0329> So a longer bit of prose for a given return is entirely doable |
22:51 |
MTDiscord |
<Benrob0329> I also have the return type in the header |
22:51 |
MTDiscord |
<GreenXenith> (s/english/prose) |
22:51 |
MTDiscord |
<Benrob0329> Just not it's explanation |
22:52 |
MTDiscord |
<GreenXenith> well your header style was proven problematic on longer functions |
22:52 |
MTDiscord |
<Benrob0329> Fair |
22:52 |
MTDiscord |
<GreenXenith> and completely broken for stuff that can have varying return amounts/types |
22:52 |
MTDiscord |
<Benrob0329> I'd argue that |
22:53 |
MTDiscord |
<GreenXenith> (how do you represent "(nodes) or (positions, totals)" in your header style?) |
22:54 |
MTDiscord |
<Benrob0329> You can do asciidoc === `myfoo(bla, bar)` -> `node` or `vector, number` |
22:54 |
erlehmann |
question: is the real problem maybe that the function interfaces are not already documented in a machine readable way? |
22:54 |
erlehmann |
if they were, like in typescript or typed python, it would be easy to generate all that info |
22:54 |
MTDiscord |
<luatic> kind of |
22:54 |
MTDiscord |
<GreenXenith> You missed the DSL discussion |
22:55 |
erlehmann |
could be. lua needs a dsl for that? |
22:55 |
MTDiscord |
<luatic> Something LuaDoc-ish would be nice |
22:55 |
MTDiscord |
<luatic> Lua can be used to implement a DSL for that |
22:55 |
MTDiscord |
<Benrob0329> Our main issue here is human readability |
22:55 |
MTDiscord |
<Benrob0329> Machine readability is secondary to that IMO |
22:55 |
MTDiscord |
<GreenXenith> I blame Minetest for stupid design |
22:55 |
erlehmann |
machine readability can make human readability easier |
22:56 |
erlehmann |
GreenXenith you are prob not alone with that ^^ |
22:56 |
MTDiscord |
<GreenXenith> inconsistent return values and too many arguments are Minetest fault, we shouldnt have to work around it >:/ |
22:56 |
erlehmann |
take our friend minetest.find_nodes_in_area() |
22:56 |
erlehmann |
multiple ways to invoke it, multiple ways to return stuff |
22:56 |
MTDiscord |
<Benrob0329> Aa good description is not very machine readable but can help human readability a lot |
22:57 |
MTDiscord |
<Benrob0329> And in the end, to what extent do these need to be machine readable? What actually needs to be parsed? |
22:57 |
MTDiscord |
<GreenXenith> function names, arguments, types, return values |
22:57 |
MTDiscord |
<Benrob0329> OK, so mainly the types |
22:58 |
MTDiscord |
<GreenXenith> thats most of it yeah |
22:58 |
MTDiscord |
<Benrob0329> I think we can manage that if we're willing to agree that huge functions suck anyways |
22:58 |
erlehmann |
we can agree on that, but we have those |
22:58 |
erlehmann |
and they need docs |
22:58 |
MTDiscord |
<GreenXenith> solution: submit PRs to the engine to fix the functions :D |
22:59 |
MTDiscord |
<Benrob0329> We do, so we'll do the best we can but it won't be perfect |
22:59 |
MTDiscord |
<Benrob0329> Its ok to not be perfect everywhere, just good enough |
22:59 |
erlehmann |
my approach would be to document the function several times under several headers |
22:59 |
MTDiscord |
<GreenXenith> huge functions suck but we can work with them. But stupid return values suck more and are harder to work with |
22:59 |
erlehmann |
like foo(bar) then a table for the returns, then foo(bar, baz), then a table for the returns etc. |
23:00 |
MTDiscord |
<GreenXenith> the term is overloads |
23:01 |
MTDiscord |
<GreenXenith> and its certainly a possibility |
23:01 |
MTDiscord |
<Benrob0329> Treating it like overloads would work |
23:02 |
MTDiscord |
<GreenXenith> I will grant this: LOVER-style documentation is dirt simple to machine parse |
23:04 |
MTDiscord |
<GreenXenith> Hm, erlehmann may have a good point about machine-readability improving human-readability |
23:08 |
MTDiscord |
<Benrob0329> I can feel it, coming in the air tonight, oh Looord. I've been running from this moment, for all my life, oh Looord, oh Lord |
23:09 |
MTDiscord |
<Benrob0329> If we make a DSL it'll be more things to bikeshed |
23:09 |
MTDiscord |
<GreenXenith> oh im not talking about DSL |
23:09 |
MTDiscord |
<Benrob0329> Oh? |
23:10 |
MTDiscord |
<GreenXenith> Im just trying looking at it from the perspective of the machine |
23:10 |
MTDiscord |
<Benrob0329> Alright |
23:10 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928425167250661386/unknown.png |
23:10 |
MTDiscord |
<GreenXenith> This is human readable and machine readable without having extra sections |
23:10 |
MTDiscord |
<Benrob0329> I can live with that |
23:11 |
MTDiscord |
<GreenXenith> the only thing it could use is labels on the overloads -> returns |
23:11 |
erlehmann |
GreenXenith could you also mockup my variant where the heading is the function with the arguments? |
23:11 |
MTDiscord |
<Benrob0329> Seems readable and shouldn't be terrible to write |
23:11 |
erlehmann |
because this way it is not clear when it returns what |
23:11 |
MTDiscord |
<GreenXenith> We've done the heading with arguments before |
23:11 |
MTDiscord |
<GreenXenith> and with types |
23:11 |
MTDiscord |
<GreenXenith> and with returns |
23:11 |
erlehmann |
oh ok show |
23:11 |
erlehmann |
pls |
23:11 |
erlehmann |
i missed it it seems |
23:11 |
MTDiscord |
<GreenXenith> it .. was literally in the shot ben posted |
23:11 |
Desour |
btw. what's the main reason why you don't use luadoc? |
23:12 |
MTDiscord |
<Benrob0329> Isn't Luadoc for embedded documentation? |
23:12 |
MTDiscord |
<Benrob0329> And also, isn't it barely maintained? |
23:13 |
MTDiscord |
<Benrob0329> Anyways, it is once again time for me to go make sure the mostly flightless birds are all alive and well |
23:13 |
MTDiscord |
<Benrob0329> So bbiab |
23:13 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928425992681316402/unknown.png |
23:14 |
erlehmann |
GreenXenith oh well it has no tables. i like your stuff more in the end. |
23:14 |
erlehmann |
regardless, i'll sit back and wait |
23:14 |
erlehmann |
hmm no |
23:14 |
MTDiscord |
<GreenXenith> Those were focusing more on the header part, like you asked |
23:14 |
erlehmann |
hmmmm |
23:15 |
MTDiscord |
<GreenXenith> they can be combined with a table instead of a list, but there are fundamental issues with arguments/returns in the header |
23:15 |
erlehmann |
ok so what i had in mind was doing it exactly like you did but treating them as separate functions and not having the return type in the header |
23:15 |
MTDiscord |
<GreenXenith> see: find_nodes_in_area |
23:15 |
erlehmann |
only arguments in the header, not returns |
23:15 |
erlehmann |
so basically foo with 2 arguments would be documented separately from foo with 3 arguments |
23:15 |
erlehmann |
like they were separate functios |
23:15 |
erlehmann |
functions |
23:15 |
MTDiscord |
<GreenXenith> Yes, you already said that |
23:16 |
MTDiscord |
<GreenXenith> its called overloading |
23:16 |
erlehmann |
the thing is, i think having the return types in the header is superfluous |
23:16 |
MTDiscord |
<GreenXenith> But it would be nice to avoid having to document overloading |
23:16 |
erlehmann |
because you are often looking by argument type, rarely by return type |
23:16 |
erlehmann |
well *technically* those can be seen as two different functions under the hood |
23:16 |
MTDiscord |
<GreenXenith> The return type is still useful information |
23:17 |
MTDiscord |
<GreenXenith> I dont want to rehash this again |
23:17 |
erlehmann |
yes but i would not put it in the header |
23:17 |
erlehmann |
ok sorry |
23:17 |
erlehmann |
i will be silent and wait what comes of it, then try to work with it |
23:17 |
erlehmann |
pls ping me when you are done! |
23:17 |
MTDiscord |
<GreenXenith> there are enough other issues with it that others wanted to try different styles |
23:17 |
MTDiscord |
<GreenXenith> so thats what weve been doing |
23:18 |
Desour |
> Isn't Luadoc for embedded documentation? you can also use it for non-embedded documentation via -- @function function_i_want_to_doc |
23:21 |
Desour |
(at least it's possible in ldoc https://stevedonovan.github.io/ldoc/ ) |
23:32 |
MTDiscord |
<Benrob0329> Anyways, I think I like the last style Green suggested (Name-only header, description, usage, arguments table[s], return table[s) |
23:32 |
MTDiscord |
<GreenXenith> I wish I could put a number before the code block and tables |
23:33 |
MTDiscord |
<GreenXenith> technically I could use another table but nesting tables is messy and not officially supported |
23:33 |
MTDiscord |
<Benrob0329> it's officially supported |
23:33 |
MTDiscord |
<GreenXenith> I couldnt get it tow ork |
23:33 |
MTDiscord |
<Benrob0329> https://docs.asciidoctor.org/asciidoc/latest/tables/nested/ |
23:33 |
MTDiscord |
<GreenXenith> also can you set all table lines to none |
23:34 |
MTDiscord |
<Benrob0329> You use a different table deliminator |
23:34 |
MTDiscord |
<GreenXenith> I tried that but it didnt want to work |
23:34 |
MTDiscord |
<GreenXenith> looks like it requires [cols] or something |
23:35 |
MTDiscord |
<Benrob0329> anyways, what do you mean put a number? Like to distinguish calls? |
23:35 |
MTDiscord |
<GreenXenith> yeah, to match the overload to the return values |
23:35 |
MTDiscord |
<GreenXenith> its implied by order but im not sure thats good enough |
23:36 |
MTDiscord |
<Benrob0329> I'm trying to see what the AsciiDoctor docs use for the little numbered circles |
23:40 |
MTDiscord |
<GreenXenith> the return table width isnt right but basically this |
23:40 |
MTDiscord |
<GreenXenith> https://cdn.discordapp.com/attachments/926231483155378176/928432818646843433/unknown.png |
23:42 |
MTDiscord |
<GreenXenith> theyre probably just custom footnotes |
23:42 |
MTDiscord |
<Benrob0329> Thats what I'm wondering |
23:42 |
MTDiscord |
<Benrob0329> but it doesn't look like it |
23:43 |
MTDiscord |
<Benrob0329> I don't actually see it, though I have an idea |
23:45 |
MTDiscord |
<Benrob0329> This is the syntax they use, I'm not sure if it's specific or using something else: |
23:45 |
MTDiscord |
<Benrob0329> https://cdn.discordapp.com/attachments/926231483155378176/928433982545219624/unknown.png |
23:45 |
MTDiscord |
<Benrob0329> it works in vanilla AsciiDoctor though: |
23:45 |
MTDiscord |
<Benrob0329> https://cdn.discordapp.com/attachments/926231483155378176/928434087759343686/unknown.png |
23:45 |
|
Desour_ joined #minetest-docs |
23:46 |
MTDiscord |
<Benrob0329> Is it just an enumerated list? |
23:46 |
MTDiscord |
<GreenXenith> looks like it, and it only works consecutively inside a single block |
23:47 |
MTDiscord |
<Benrob0329> I can put a number in there instead |
23:47 |
MTDiscord |
<GreenXenith> o? |
23:47 |
MTDiscord |
<Benrob0329> this feels like a passthrough |
23:47 |
MTDiscord |
<GreenXenith> This should work though |
23:49 |
MTDiscord |
<Benrob0329> aha https://docs.asciidoctor.org/asciidoc/latest/verbatim/callouts/ |
23:53 |
MTDiscord |
<GreenXenith> meh |
23:53 |
MTDiscord |
<GreenXenith> cant seem to use it on the table very nicely |
23:54 |
MTDiscord |
<Benrob0329> darn |