Replies: 16 comments 49 replies
-
I think we need to take many things for granted to feel comfortable with the resolution in the first place: we need to put aside the status quo of versioning (that doesn't make removal clear at all) and that the specification is sufficient/can be ignored in order to talk about "too important" things like the metamodel. So let's put these things aside now, as things that aren't immediate concerns but may cause trouble at some point. Without sufficient understanding of how the documentation works currently, my idea would be to have a unit (let's call it "a feature") that covers exactly one behavior from the user's point of view. This can be a keyword, an implementation of a method - even multiple implementations, as long as they are exposed with one undistinguished interface. One unit to look up, or one unit to learn. If this unit is given, the reasonable (but possibly still naive) thing would be to have one schema of metadata for all the occasions of the unit. And if we want to account for possible changes to the given entry, probably we want the system to rather be extended by new entries than the very same entry to be patched to death. When something stops being true, we can just leave it there, marking the "end of lifecycle", and optimally it never has to be changed again, unless it was wrong for its own time as well. |
Beta Was this translation helpful? Give feedback.
-
Just so we talk about the same thing. Given the following snippet from doc/Type/Supply.pod6:
The general idea is to mark the entire section including the heading as being available in 2020.06 onwards, correct? |
Beta Was this translation helpful? Give feedback.
-
Lets call a messages in the documentation about new or old ways of doing something Rakudoc as specified in fact allows for three ways to handle a
ProcessedPod passes all metadata found with a block to the relevant template. So, all that is needed for doc-website is to modify the block's template so that when it comes across a developer notification in a block statement, it attaches some text or styling or link to an CHANGELOG list to that block. For @patrickbkr example, the syntax would be:
The template that handles This modification to
As per the specification, a For Patrick's example, this would be
The This would work now, except as before the The
The All three options are compliant with the Rakudoc specification, but have never been implemented before. Having all three is also more in line with the Perl tradition of having more than one way to do something. |
Beta Was this translation helpful? Give feedback.
-
For the completeness of the info, #3693 (especially the presentation bit) may be of interest. I think the CSS for such blocks is still there, so can be re-used. As for how was it rendered see https://github.com/Altai-man/docs.raku.org/blob/20337fd9eb3f775a109e7975b0faad544c91fc88/lib/Docky/Renderer/Node.pm6#L132-L151 |
Beta Was this translation helpful? Give feedback.
-
@patrickbkr Strictly speaking, you are correct because POD6 as specified in S26 does not allow for arbitrary format codes to have a meta part after Since S26 only specifies the But So, the Conventionally, as in However, according to S26, both the rendering of the
Now coming to the actual question, suppose we decide by consensus that the syntax should be something like
I assume the first part it is for the template I think a simpler syntax might be
If more than one string is required then
If we decide that the meta part should be either a string or a list of Pairs, then we can alter the FC Grammar in raku-pod-render appropriately. |
Beta Was this translation helpful? Give feedback.
-
From POD documentation a hash in metadata is Regarding Block oriented metadata, then from all suggestions above, what about a single metadata name:
where
My specification above has The Examples would be
The next question would be how to render these notifications. In the spirit of @Altai-man 's suggestion, perhaps we could have a drop-down with a button before the text that is in the content field of the Pod-block. with the information displayed perhaps as follows (the first line is in the Rakudoc source, the following lines are what is rendered in the drop-down:
I suggest the drop-down marker is before the text because some Pod-blocks may not have content text, and some content text is so long that if the marker is after the text, it may not be noticed. |
Beta Was this translation helpful? Give feedback.
-
Nope, I actually like it a lot. Would require some work on |
Beta Was this translation helpful? Give feedback.
-
@lizmat for testing purpose, is there a recent change to a documentation source that could usefully have a block level |
Beta Was this translation helpful? Give feedback.
-
@lizmat Which doc source is |
Beta Was this translation helpful? Give feedback.
-
I was looking at
We have here a combination of compiler versions and extra information. So, I suggest modifying the block-level idea to:
Anything after a comma is extra information |
Beta Was this translation helpful? Give feedback.
-
whilst we have been discussing the There are a number of block types, such as So, for the time being, lets develop this idea with |
Beta Was this translation helpful? Give feedback.
-
A solution that only works on header blocks isn't going to work long term. For the millisecond example there, this is part of single paragraph; I don't want to get to a position where we have to duplicate blocks of documentation to note a single change between the two versions. I would prefer we can annotate a section as a version-based note in the context of the existing documentation. So for this method, when we describe this attribute, we can mark millisecond vs. second only, rather than having a new head to declare the difference. |
Beta Was this translation helpful? Give feedback.
-
I think this discussion format does not work well. The discussion randomly continues in the individual comment replies and bottom posts. It's really difficult to keep track. So can we either move back to single thread issues or get up some guideline of when to bottom post and when to reply? |
Beta Was this translation helpful? Give feedback.
-
We've gotten more feedback and input in a few days here than we did in years on the ticket. The tickets should be for specific actionable items, which this is not, yet. For both these reasons, I do not want to go back to the ticket format to solicit feedback. I would suggest perhaps putting together a wiki page in this repo with a proposal (kind of like a PR) that solidifies any agreed upon points. If there's a way to lock down a particular discussion to single threaded, I'm happy to do that. |
Beta Was this translation helpful? Give feedback.
-
I have read both new comments and replies. I am willing to abide by any Discussion rules, once made, But I'd like to draw some thoughts together, so I'm adding this as a new comment.
|
Beta Was this translation helpful? Give feedback.
-
In the discussions above, I have noticed we may have some different perceptions about immediate steps, and ideal outcomes. I shall continue my work as above to provide a concrete suggestion for immediate steps. The critical problem now is that not all changes to RakuRakudo are documented. Also, lots of the changes use a similar boilerplate which could be automated, and markup should be systematic. My own view is that to a large extent, if the information about changes is included in the documentation using meta data, the visualisation of the documentation can be varied by developing different Modes. I think that we could conceive of one Mode to see only the most current versions, and one that looks at all developer notifications. The tags will be applied at both span and block level. |
Beta Was this translation helpful? Give feedback.
-
See #302 for some history.
Given:
We have a need to identify which versions of raku/rakudo a feature may be available in (and if it's in both, how it changed). Ideally this should be able to be introspected programmatically.
Our current attempt to resolve this to close #302 will be to use the new
D<>
syntax (which is at a textual level).This discussion is for a long term replacement. Note that the current goal is to have a single, unified version of the documentation, not a separate version per language or compiler release.
Beta Was this translation helpful? Give feedback.
All reactions