I plan to use the POD6 metadata functionality a lot in a new module. It would be far better to separate out the meta data into lines.

In https://docs.raku.org/language/pod I find

"In the future, the configuration section may be extended over subsequent lines by starting those lines with an |=| in the first (virtual) column followed by a whitespace character."

with a footnote that it is not implemented.

Is there some indication when it will be implemented?

I am willing to look at the the Rakudo code and create a PR to implement this functionality. Is there any reason not to do this, eg., planned changes such as changing to RakuAST.

Similar to the above, there are implied POD6 behaviours that do not work, in particular embedded POD6.

Two examples:

- Pod6 tables. A cell of a POD6 table may not contain a POD6 table. Thus a table of tables is not possible.

Note that there is a test in the Pod::To::HTML test suite that tests for this behaviour. It is TODO'd because it does not work, but it is expected it should work.

The current behaviour is to treat the embedded table as an unknown block type.

- Definition lists.

It is not possible to include embedded POD6 in the contents part of a definition.

More detail on these.

The following program:

=begin pod

=for head1 :attr('key') :battr<key2>
This is a working header

=for head1
= attr('key) :battr<key2>
This is what is being tested

=defn Bad boy
When you B<try>to include formating.

Outside a definition list B<formating>is treated differently.

=end pod
say $=pod;

Produces the following output:

[Pod::Block::Named{:name("pod")}
  Pod::Heading{:config("\$\{:attr(\"key\"), :battr(\"key2\")}"), :level("1")}
    Pod::Block::Para
      This is a working header
  Pod::Heading{:level("1")}
    Pod::Block::Para
      = attr('key) :battr<key2> This is what is being tested
  Pod::Defn{:term("Bad boy")}
    Pod::Block::Para
      When you B<try> to include formating.
  Pod::Block::Para
    Outside a definition list
    Pod::FormattingCode{:type("B")}
      formating
     is treated differently.
]

From the above, it can be seen that
(1) the config part of the second header does not contain extra key/value pairs.
This is consistent with the footnote in the documentation.
(2) the contents part (which is shown by say as being indented from the 
Pod:Block line) of a Pod::Defn
is treated differently from the contents part of a Pod::Block::Para. This is 
not documented and is unexpected.

I have not shown the POD6 table behaviour, but its similar to the Pod::Defn 
behaviour.

Reply via email to