Re: Module Documentation

2021-03-15 Thread Matthew Stuckwisch
So here's my 2¢, which will probably be followed up with some actual 
development of stuff (I do put my money where my mouth is… although it might 
take me a while to save up to spend it ha).  Some of the minor details could, 
of course, easily be adjusted, so don't fixate too much on them.

Right now, it is true that many of us use README.md for github.  Some people 
write this one by hand (I'm guilty of it), others (lizmat, for instance) 
generate this from their *.rakumod file.

We can do a lot more with POD6 than we can with MD (as POD6 encodes things more 
semantically than MD), so we should encourage pushing towards using that, and 
then using a script to generate the MD (or HTML, in the case of a website).  
The following would be my rough proposal:

(1) Standard the function/meaning of reserved blocks (e.g. =TITLE vs =NAME, 
when to use one or the other or how they should be different).  Perhaps as 
larger projects like Red or Intl document extensive/larger documents, we can 
see what patterns might emerge and evaluate.

(2) Just as we have /t, /lib, and /bin as standard module folders, use /doc[s] 
as a default space for documentation. For those that prefer not to use inline 
documentation, their pod6 files would reside here (which could also be 
identically-named rakumod files, esp. when wanting to have declarator pod 
included).  In any case, .md files could be autogenerated here for use on 
github, or .html for elsewhere.  README.md (or index.html, for webpages) could 
be autogenerated for github based on 4b.

(3) Localized documentation in /docs/local/zzz-XX.  The localized documentation 
could be made from a skeleton/fully stubbed file rakumod file (for declarator 
stuff) or from a standard pod6 file whose file names coincide with the docs (or 
lib) versions.  I'd be happy to do some of the work here, as I plan to localize 
a fair bit of my documentation for certain modules.

(4) To help with the above, several new META6.json keys:
a. docs-lang for the language of inline documentation (en default).
b. docs-root for the module whose docs will serve as a front page (e.g. 
README.md or as the first text on aggregator pages)
c. docs-ext for an outside link to documentation, which would be a fallback 
to any other documentation and contrasted with a general website.

For 4c, these could be added to the support entry, as support->docs and 
support->website, and the docs-lang/docs-root could be under a single entry 
with two subkeys.

Anyways, lengthy 2¢ but there we go :-) 

Matéu

> On Mar 2, 2021, at 08:25, Richard Hainsworth  wrote:
> 
> Hi, I want to create a system that will show documentation about Raku Modules 
> that I have installed.
> 
> There does not seem to be a Documentation standard, or best practice, for 
> Raku modules.
> 
> Hence the following post.
> 
> In the Modules documentation in the Language section of the Raku 
> documentation, there is a single mention of README.md, but only that it is 
> needed by github. There is no indication about what should be in README.md
> 
> As a user of Raku, this does not matter much to me in practice, as when I 
> need to understand something, I look at the code on the repository. But it 
> can be a hassle going to Modules.raku.org, finding the module, going to the 
> repo, finding where the information is, etc. I do NOT try and find the 
> information that has been installed by zef because the location names are not 
> human friendly. I understand the reasoning there, and do not suggest any 
> change. But it is not easy to find documentation on locally installed 
> modules, even though the information is there.
> 
> Even the "zef --open browse  source" command opens a browser to the 
> internet repo, not to the local installation. There is no "zef documentation 
> entity" or "zef README entity" command. I am NOT complaining about zef 
> because the problem is not with zef, per se, but with the absence of a 
> documentation standard (I think).
> 
> I wanted to incorporate a page with documentation of modules in the 
> Collection-Raku-Documentation system I have just released.
> 
> But I do not see how to do this.
> 
> Most Raku modules have a README.md, which is required because of github 
> requirements. Although the README's of some modules leave a great deal to be 
> desired.
> 
> Many modules have extensive POD6 inside the main 'lib/module.pm6' file (where 
> 'module' obviously is a placeholder for this email).
> 
> There is an issue on the GTK::Simple repo, which I am now the maintainer of, 
> for more documentation. Actually, I learnt how to use GTK::Simple by looking 
> at the examples in the repo, which have lots of explanation. But the 
> README.md is appalling. However, an unanswered question is where would I put 
> a documentation file when I write it, so that it is useful for users wanting 
> to understand more.
> 
> In the modules I am now developing, I have a README.pod6 file, which I 
> convert to the README.md file 

Re: Please create a Raku community channel

2021-03-15 Thread William Michels via perl6-users
Hello Richard (and all),

The simplest solution seems to be reviving the historical
mailing-lists pertaining to the Perl6 effort, in particular, the
"perl6-announce" mailing list at perl6-annou...@perl.org . Daniel
Sockwell wrote as much in his recent email. New subscribers can sign
up at perl6-announce-subscr...@perl.org .

According to https://raku.org/archive/lists/ , "perl6-announce [is a]
Moderated list for news of new lists, working groups, and so on.
Summaries from the top-level working groups are also posted here."
Presumably that includes reports from the Raku Steering Council.

Yes, it can/should be renamed "raku-announce", but in the meantime why
not use it?

Best Regards, Bill.

W. Michels, Ph.D.



On Mon, Mar 15, 2021 at 4:19 AM Richard Hainsworth
 wrote:
>
> Thanks to everyone that responded.
>
> It seems to me that the establishment of a common communication channel
> by the RSC (Raku Steering Council) would in itself define the Raku
> Community. Those who want to be a part of the community would track
> (follow, read, contribute etc) the channel. I don't think it is
> something that needs to be over-thought. Every channel has its
> advantages and disadvantages, and there's going to be someone who does
> not like the result.
>
> But the current situation of multiple channels of communicating is
> obviously going to create confusion. It would be like having multiple
> places for defining the same set of constants for a software project, or
> some other analogy of duplicating code that should be kept in one place
> and referred to, not written and maintained in multiple places.
>
> Also, if like-minded people have a way to share and cooperate, a
> community will build. Facilitating the growth of a community will have
> an impact on the acceptance of Raku as a language.
>
> Having multiple differing approaches to the same problem can be good -
> not arguing with that. But if there's no common way to share information
> about the multiple approaches, how can the different approaches be
> compared? If they can't be compared, then the advantages of multiple
> approaches are lost. And no one can be certain that their efforts are
> being considered.
>
> It turns out - from comments of JJ and Vadim - that Altai-man's
> initiative is a personal one. Had it not been late at night (for me) and
> had there been an established channel where  plans for community
> resources are shared, I would have realised that straight-away. Instead,
> I got annoyed and lost sleep (silly and unreasonable, but I am human).
>
> Daniel, I look forward to hearing from you. Altai-man, please send me a
> link that I can catch up with what you are planning (I'm not so good at
> tracking multiple github repos).
>
> One of the things I would like to do is to set up a way of doing
> documentation that will allow for multiple languages to be possible,
> which means that it should be possible to show the same documentation
> file side-by-side in two languages, with text for each language kept in
> a separate file, but for equivalent places in the documentation to be
> synchronised. It would also be good to have revisionning history
> visible, so that updates in the main text can be tracked so as to update
> in a target language text.
>
> Regards,
>
> Richard
>
> On 14/03/2021 21:16, Daniel Sockwell wrote:
> > I agree with the points Vadim and JJ made: There's a good chance that 
> > having a more official
> > communication channel would _not_ have prevented surprise here, since the 
> > amount of progress
> > on the a potential docs redesign seems to have taken many people (including 
> > me!) by surprise.
> > I guess that's what happens when our community has "forgiveness >> 
> > permission" as a core value!
> >
> > That said, I also agree with Vadim that we should have a better way to 
> > communicate things like
> > this,
> > even if it wouldn't have been relevant in this particular case. In fact, we 
> > theoretically do: our
> > website lists the perl6-announce list, which is supposed to be "low traffic 
> > (a few emails a
> > month)".
> > https://raku.org/community
> >
> > Looking at the archive for that list, it has been **very** low traffic 
> > indeed: the last message was
> >
> > sent in 2015. So we clearly haven't been using it, and starting now (when 
> > we're about to finally
> > move on to raku-* mailing lists) probably doesn't make much sense. But, 
> > once we do, making an
> > effort
> > to actually use the raku-announce list seems like a good way to address 
> > this issue.
> >
> > Finally, Richard, in the interest of not taking you by surprise again on 
> > the same topic, I wanted to
> > mention that, inspired by the proposed doc site redesign and your comments 
> > about the broader topic,
> > I'm now working on a proof of concept along the same lines (because I have 
> > a slightly different vision
> > of what a redesigned website might look like, but don't think I can 
> > communicate it without a POC).  I

Re: Please create a Raku community channel

2021-03-15 Thread Richard Hainsworth

Thanks to everyone that responded.

It seems to me that the establishment of a common communication channel 
by the RSC (Raku Steering Council) would in itself define the Raku 
Community. Those who want to be a part of the community would track 
(follow, read, contribute etc) the channel. I don't think it is 
something that needs to be over-thought. Every channel has its 
advantages and disadvantages, and there's going to be someone who does 
not like the result.


But the current situation of multiple channels of communicating is 
obviously going to create confusion. It would be like having multiple 
places for defining the same set of constants for a software project, or 
some other analogy of duplicating code that should be kept in one place 
and referred to, not written and maintained in multiple places.


Also, if like-minded people have a way to share and cooperate, a 
community will build. Facilitating the growth of a community will have 
an impact on the acceptance of Raku as a language.


Having multiple differing approaches to the same problem can be good - 
not arguing with that. But if there's no common way to share information 
about the multiple approaches, how can the different approaches be 
compared? If they can't be compared, then the advantages of multiple 
approaches are lost. And no one can be certain that their efforts are 
being considered.


It turns out - from comments of JJ and Vadim - that Altai-man's 
initiative is a personal one. Had it not been late at night (for me) and 
had there been an established channel where  plans for community 
resources are shared, I would have realised that straight-away. Instead, 
I got annoyed and lost sleep (silly and unreasonable, but I am human).


Daniel, I look forward to hearing from you. Altai-man, please send me a 
link that I can catch up with what you are planning (I'm not so good at 
tracking multiple github repos).


One of the things I would like to do is to set up a way of doing 
documentation that will allow for multiple languages to be possible, 
which means that it should be possible to show the same documentation 
file side-by-side in two languages, with text for each language kept in 
a separate file, but for equivalent places in the documentation to be 
synchronised. It would also be good to have revisionning history 
visible, so that updates in the main text can be tracked so as to update 
in a target language text.


Regards,

Richard

On 14/03/2021 21:16, Daniel Sockwell wrote:

I agree with the points Vadim and JJ made: There's a good chance that having a 
more official
communication channel would _not_ have prevented surprise here, since the 
amount of progress
on the a potential docs redesign seems to have taken many people (including 
me!) by surprise.
I guess that's what happens when our community has "forgiveness >> permission" 
as a core value!

That said, I also agree with Vadim that we should have a better way to 
communicate things like
this,
even if it wouldn't have been relevant in this particular case. In fact, we 
theoretically do: our
website lists the perl6-announce list, which is supposed to be "low traffic (a 
few emails a
month)".
https://raku.org/community

Looking at the archive for that list, it has been **very** low traffic indeed: 
the last message was

sent in 2015. So we clearly haven't been using it, and starting now (when we're 
about to finally
move on to raku-* mailing lists) probably doesn't make much sense. But, once we 
do, making an
effort
to actually use the raku-announce list seems like a good way to address this 
issue.

Finally, Richard, in the interest of not taking you by surprise again on the 
same topic, I wanted to
mention that, inspired by the proposed doc site redesign and your comments 
about the broader topic,
I'm now working on a proof of concept along the same lines (because I have a 
slightly different vision
of what a redesigned website might look like, but don't think I can communicate 
it without a POC).  I
hope to be able to share more details in the coming days.

Best,
Daniel / codesections