Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Pod::Elemental::TransfUserrContributed PPod::Elemental::Transformer::Nester(3)

NAME
       Pod::Elemental::Transformer::Nester - group the document	into sections

VERSION
       version 0.103005

OVERVIEW
       The Nester transformer is meant to find potential container elements
       and make	them into actual containers.  It works by being	told what
       elements	may be made into containers and	what subsequent	elements they
       should allow to be stuffed into them.

       For example, given the following	nester:

	 use Pod::Elemental::Selectors qw(s_command s_flat);

	 my $nester = Pod::Elemental::Transformer::Nester->new({
	   top_selector	     =>	s_command('head1'),
	   content_selectors =>	[
	     s_command([ qw(head2 head3	head4) ]),
	     s_flat,
	   ],
	 });

       ..then when we apply the	transformation:

	 $nester->transform_node($document);

       ...the nester will find all "=head1" elements in	the top-level of the
       document.  It will ensure that they are represented by objects that
       perform the Pod::Elemental::Node	role, and then it will move all
       subsequent elements matching the	"content_selectors" into the
       container.

       So, if we start with this input:

	 =head1	Header
	 =head2	Subheader
	 Pod5::Ordinary	<some content>
	 =head1	New Header

       The nester will convert its structure to	look like this:

	 =head1	Header
	   =head2 Subheader
	   Pod5::Ordinary <some	content>
	 =head1	New Header

       Once an element is reached that does not	pass the content selectors,
       the nesting ceases until	the next potential container.

ATTRIBUTES
   top_selector
       This attribute must be a	coderef	(presumably made from
       Pod::Elemental::Selectors) that will test elements in the transformed
       node and	return true if the element is a	potential new container.

   content_selectors
       This attribute must be an arrayref of coderefs (again presumably	made
       from Pod::Elemental::Selectors) that will test whether paragraphs
       subsequent to the top-level container may be moved under	the container.

AUTHOR
       Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2020 by Ricardo SIGNES.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  2020-0Pod::Elemental::Transformer::Nester(3)

NAME | VERSION | OVERVIEW | ATTRIBUTES | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Pod::Elemental::Transformer::Nester&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help