Documentation Channel for #raku | This channel is logged | Roadmap: github.com/raku/doc/wiki
Set by [Coke] on 23 May 2022.
08:02 sena_kun joined 08:46 sena_kun left
ab5tract I expect this has been discussed before, but what about having release-targeted documentation? Similar to how many other projects do it, with a dropdown for selecting the relevant release 10:55
This would free us from having to inline exceptions like “prior to 2022.10” or “after 2023.03” 10:56
patrickb ab5tract: That's a discussion with a long history. I think there is a problem-solving for this. 11:38
ab5tract I figured so :) 11:46
I’ll look it up, thanks!
lizmat if I remember correctly, the consensus was to put in inline exceptions until we have a better solution 11:59
and we don't have a better solution yet
[Coke] release-targeted documention is not feasible with our documentation staffing level. 13:34
but it would be nice, and the manual comments at least are saving the information somewhere. 13:35
there are doc issues for this, you don't need a PS issue 13:36
one moment.
github.com/Raku/doc/discussions/4206
Having just tried to re-catch-up there... it's kind of a mess of threads. 13:38
If you would rather start a new discussion, I would not object. ;)
er, :)
14:06 sena_kun joined
ab5tract Wow, that’s so much more complex than what I had imagined. 15:07
My approach would be simply to generate docs based on bit tags that are keyed to language releases 15:08
s/bit/git/ 15:09
Generate a new static edition every release
And allow these editions to be selected with a dropdown (or changing a sub path in the url) 15:10
No need to annotate anything about this version or that version outside of deprecations and the like, which are then updated/removed in later documentation versions 15:13
As necessary
[Coke] language release or compiler release? 15:22
because the way we do compiler releases, language releases are not fine grained enough. 15:23
we'd still need "ok, 6.d works this way, expect before 2023.08, when..."
s/expect/except/
ab5tract ah, yeah, I meant the monthly releases 15:25
fwiw I would like to revisit the whole language release concept as well, but that's for a different time 15:26
for sure my proposal only works when keying doc releases to language releases 15:28
note that nothing has to have technically changed in the docs between the two tags
the one issue with this is that clarifications and expansions would not be visible in releases prior to their addition 15:29
but I think that is a deeply normal way for documentation to work :)
[Coke] I think compiler release is too fine grained for that, but language release makes sense. 15:34
we already have years of "hey this changed in this compiler release" that are NOT reflected in the docs today
so it's not just a matter of changing how we present the docs: we don't *have* those docs.
... which reminds me, I didn't create the tickets to grab the last few releases of changes for docs. 15:35
github.com/Raku/doc/labels/checklist
We basically don't have anyone writing docs right now. We have fin*, who is more website/rakudoc, coleman who is infra, and me who is more like a PM with no one to M. :) 15:38
[Coke] will resolve to get those missing checklist items in the tracker today.
so, not telling you "no", just explaining why things are the way they are right now 15:39
thank you for your interest in docs.
ab5tract > 5:23 PM <[Coke]> because the way we do compiler releases, language releases are not fine grained enough. 15:40
That seems to contradict: 15:41
> 5:34 PM <[Coke]> I think compiler release is too fine grained for that, but language release makes sense.
I see the bootstrapping issue you mention but what I propose is more or less the universal standard for documentation 15:42
Even if the docs haven’t changed since last point release, you still publish docs for the point release 15:45
Everything that came before is already being served by the current docs, so I don’t really see the issue there
Anyway, I will open a ticket to discuss, as you suggested earlier
[Coke] ab5tract: no, it's the same two things, but the clauses are in a different order. 15:59
wait. 16:00
re-re-reading. yes. language releases seem like a good scope for "per-release" docs. compiler release seems too much. Not because of the changs in docs, but I as a user also wouldn't expect to have to look at the docs per compiler version 16:01
also: what if we missed documenting something for, e.g. 2023.09 - depending on how we do the releaess, a simple tag isn't enough now to go back and fix the docs. 16:02
not *just* because of changes in the docs.
ab5tract the reason you as a user would select a specific compiler release of the docs is because that is the version you are using 16:20
The same way I look at Flink docs for 1.15 instead of “latest” or any other version
FWIW, this approach is so straightforward for auto generated docs that I can’t recall ever seeing it _not_ done this way 16:22
But we are in a different situation, I agree 16:23
coleman I'm not a fan of selecting versions from a dropdown. I think it's a bad UX and can be a maintenance burden. This is the argument I used when guiding some product teams away from it. 16:37
I think there are exceptions, such as...like... RHEL, where the release number is something you pay a million dollars for and talk on the phone with support about 16:38
However: 16:39
I wouldn't oppose this change but we are not set up for it. 16:40
ab5tract I think having a dropdown is more polite than what many auto-generated docs do, which is force you to edit a version sub-path in the URL (or find the magic index page that links between versions) :) 16:43
regarding setup, I hear you
coleman I think working towards it will have benefits, whatever the web UX looks like.
So here on the docs page, we say we don't want to embed docs in the compiler source 16:44
github.com/Raku/doc
I think that should remain the case, but we could explore some automation around updates from Rakudo-> docs 16:45
or from Roast->docs
Something that retains the open-ness of inviting multiple implementations, but takes advantage of what we have 16:46
The people we have, rather
ab5tract I would argue that the existence of "As of Rakudo 20XX.YY , this became that" and so forth all throughout the docs already breaks the contract as envisaged in that statement, but I do understand the sentiment 16:47
coleman That is part of my motivation with opening this issue github.com/Raku/doc-website/issues/359
My thinking is, if we can get our pod-parsing code to reliably target a sql schema, we will have a schema that OTHER things can target 16:48
ab5tract that SQLite idea sounds awesome
coleman So a CI job in Roast or Rakudo could ALSO spit out SQL INSERT statements, and we can load those in
So we don't have to bikeshed new pod syntax, or have a philosophical debate about where canonical documentation lives, or rather we can keep doing that, but also dump all our stuff into a common database :D 16:50
I think it would be a very Raku/timtoady thing to do: in addition to the static site, the docs site can serve a 10 meg sql file that anyone can download, and we let a 100 flowers bloom 16:57
But back to the original suggestion. I think a good prerequisite to serving versioned docs is proving that we have all that information as structured data in the first place. I'm not convinced we do... maybe we do. But loading a relational DB with a "version" table we can join to a "roles" table is a great way to test that. 16:59
That's a downside of ad hoc inline version info; you might not always be capturing it in an easily parsable way. Things can slip through. 17:00
[Coke] we don't even have it as unstructured data. 18:36
not entirely. there are some stabs at it as ab5tract noted with "prior to 2023.xx, this ..." 18:37
We should consider what we want the docs to look like when 6.e drops
Having the doc site polished for content for at least 6.d vs. 6.e would be nice.
23:59 sena_kun left