Re: Discussing Extending the POD Spec
Hi All While you make many valid points, there is a bit of a lack of a broader vision, crippled perhaps by an over-commitment to text mode. This problem has been solved with the advent of the TiddlyWiki, which use WikiText. They use CamelCase a lot. A CamelCase word is automatically linked within a single TiddlyWiki by the inbuilt editor to another point within the text. Hence the MainMenu I use in every TiddlyWiki uses CamelCase. And yes, they are best viewed with a web client (browser). See tiddlywiki.com. Downloads are free. Search there for WikiText for more. The homepage is of course a TiddlyWiki. Note also the broad ecosystem surrounding TiddlyWikis. Here is one of mine: http://savage.net.au/misc/symbolic.language.html It's a download accompanying a TV script I'm preparing to submit to ABC TV here in Melbourne Victoria. Click on the MainMenu item TiddlyWikis for more about the TiddlyWiki concept, especially about the fact that the inbuilt edit has a little command language and can generate HTML for you. I keep a directory full of these, one per project. --- Cheers Ron savage.net.au
Re: What to do about L and L<"Foo Bar">
Hi Karl See below. On 29/05/18 13:49, Karl Williamson wrote: podspec says this: Previous versions of perlpod allowed for a "L" syntax (as in "L"), which was not easily distinguishable from "L" syntax and for "L<"section">" which was only slightly less ambiguous. This syntax is no longer in the specification, and has been replaced by the "L" syntax (where the slash was formerly optional). Pod parsers should tolerate the "L<"section">" syntax, for a while at least. The suggested heuristic for distinguishing L" from "L" is that if it contains any whitespace, it's a section. Pod processors should warn about this being deprecated syntax. Pod:Simple accepts these without complaint. If I change things to complain, a bunch of things in the perl core are found to be in violation, even of the deprecated syntax. The question is what to do? 1) We could leave things as they always have been, to let sleeping dogs lie. It's worked for so long that we're not seriously going to stop accepting these. This pretends things have not changed when in fact they have, so not my preference. 2) Raise the warnings, either on both cases or just the deprecated Raise warnings on deprecated structures, so uses can fix problems, is my choice here. 3) Don't raise warnings, but change Pod::Checker to do so, under the theory that you won't be using that unless you want to know the iffy things. Maybe make the deprecated come out always, and the tolerated only for level 2 warnings. This imposes a burden on users. Tasks: (a) Change to Pod::Checker, to find problems; (b) Fix problems. Not my preference since it's simpler for the end user to find the same problems under (2). I'm leaning towards option 3). -- Ron Savage - savage.net.au
Re: raw_data with Pod::Simple::PullParser
Hi Francois Do what works. If you're only parsing your own POD, then what you're doing now should be OK. I would like (one day!) to write a BNF for POD and use Marpa: http://savage.net.au/Marpa.html About 10 of the Perl packages there are mine. If you intend to create a module fit for CPAN, then of course it's a bigger decision as to the internal structure of your code. On 29/03/17 17:09, RAPPAZ Francois via pod-people wrote: Hi Ron, Thanks for the suggestion. At the end, reading the pod file and capturing the key from head1 is easy (below). I could use a Pod::Simple::SimpleTree , but I would still to have the output as raw pod. Probably using a parser to select pars of pod is not a good idea ? François my $fname = shift; my $mod; open $mod, "<$fname" or die "Can't open $fname $! \n"; my %data; my $data_ar; my $key; my $ispod; for my $line (<$mod>) { chomp $line; if ( $line =~ /^=cut/ ) { $ispod = 0; } if ( $line =~ /^=head1\s*(.+)$/i ) { $ispod = 1; if ($key) {#$key read from the previous =head1 $data{$key} = $data_ar;#store the array of lines as an array ref $data_ar = undef; # and prepare a new array } $key = $1; #now fetch the new value for $key } push @{$data_ar}, $line if ($ispod) ;#store the line in the array if we are in a pod section } close $mod; $data{$key} = $data_ar;#fetch the lines from the last =head1 read =for comment for $key ( keys %data ) { print "*$key*\n"; print join( "\n", @{ $data{$key} } ), "\n"; } =cut return %data; -Original Message- From: Ron Savage [mailto:r...@savage.net.au] Sent: 28 March 2017 23:36 To: pod-people@perl.org Subject: Re: raw_data with Pod::Simple::PullParser Hi François Can't help specifically but I do suggest you use a tree rather than a hash. It just makes much more sense to me to store the pod that way. -- Ron Savage - savage.net.au -- Ron Savage - savage.net.au
Re: raw_data with Pod::Simple::PullParser
Hi François Can't help specifically but I do suggest you use a tree rather than a hash. It just makes much more sense to me to store the pod that way. -- Ron Savage - savage.net.au
Re: Pod::Simple output as POD
Hi David On 12/05/16 10:39, David E. Wheeler wrote: On May 11, 2016, at 5:29 PM, Karl Williamson <pub...@khwilliamson.com> wrote: Like John, I don’t much care. I agree that Pod::Simple::Pod lacks necessary information. ExtractPod seems fine to me. Uh, though there is this: perldoc [-h] [-D] [-t] [-u] [-m] [-l] [-F] [-i] [-V] [-T] [-r] [-d destination_file] [-o formatname] [-M FormatterClassName] [-w formatteroption:value] [-n nroff-replacement] [-X] [-L language_code] PageName|ModuleName|ProgramName|URL So the formatter arg to -M would be: perldoc -M ExtractPod Which also seems a little weird. Maybe Pod::Simple::PodFormat? So make it -J JustPod, or is that parameter list sacrosanct? Perhaps leave -M, and add -J, which defaults to a value of JustPod. -- Ron Savage - savage.net.au
Re: Pod::Simple output as POD
Hi On 12/05/16 10:39, David E. Wheeler wrote: On May 11, 2016, at 5:29 PM, Karl Williamson <pub...@khwilliamson.com> wrote: Which also seems a little weird. Maybe Pod::Simple::PodFormat? Pod::Simple::ExtractPod is good, but possible is Pod::Simple::JustPod. -- Ron Savage - savage.net.au
Re: Pod::Simple - August PR Challenge Assignment
Hi Sean On 19/08/15 00:58, Sean Zellmer wrote: Hey all, I was assigned Pod::Simple as my August module for the PR Challenge http://cpan-prc.org/ and was wondering if anything jumps to mind as a project for my PR. Any ideas are welcome. :) Info I've collected in my TiddlyWiki for Perl: o Useful modules: - Pod::Simple - Provides Pod::Simple::LinkSection and Pod::Simple::BlackBox - Pod::Text uses Pod::Simple - Pod::Usage - Pod::Perldoc::ToPod - Text::Unidecode - Pod::Escapes - Pod::HTML2Pod - Pod::PXML uses Pod::Tree o Problems: - Recognition of POD commands with binary data. See these 2: - https://github.com/theory/pod-simple/blob/master/lib/Pod/Simple/BlackBox.pm#L243 - https://github.com/theory/pod-simple/blob/master/lib/Pod/Simple/BlackBox.pm#L158 - ASCII 'v' Unicode 'v' CP1252. See - http://www.mail-archive.com/pod-people@perl.org/msg01710.html o Links: - https://metacpan.org/pod/perlpodspec - http://www.mail-archive.com/pod-people@perl.org/index.html#01700 - http://perldoc.perl.org/perlpod.html - https://github.com/theory/pod-simple/blob/master/lib/Pod/Simple/BlackBox.pm#L243 - https://github.com/genehack/pod-simple/blob/add-pod-simple-pod/lib/Pod/Simple.pm - https://492648.bugs.gentoo.org/attachment.cgi?id=364130 - https://github.com/genehack/pod-simple-pod o Obsolete modules: - Pod::Parser - Pod::Checker depends on Pod::Parser - Pod::POM -- Ron Savage - savage.net.au
Re: Pod::Spell new maintainer
Hi Olivier Welcome aboard The Good Ship Pod. On 12/05/15 22:02, Olivier Mengué wrote: Hi POD people, I'm new on the mailing list, so here is just a mail to introduce myself. After Caleb left CPAN, I just asked Allison Randal to give me co-maint on Pod::Spell and that is now effective. To introduce myself, I have already a few distributions on CPAN and I'm a member of the Perl Toolchain Gang. I have already patched about 200 distributions on CPAN (rough count of my GitHub forks). I also have some work in progress on Test::Pod::No404s. Olivier. -- Ron Savage - savage.net.au