NAME

Pod::Weaver::PluginBundle::Author::GETTY - GETTY's default Pod::Weaver config

VERSION

version 0.301

SYNOPSIS

In your weaver.ini:

[@Author::GETTY]

Or in your dist.ini:

[PodWeaver]
config_plugin = @Author::GETTY

DESCRIPTION

This is a Pod::Weaver plugin bundle that provides GETTY's standard documentation structure. It processes POD markup commands to automatically generate organized documentation sections.

This bundle is based on Pod::Weaver::PluginBundle::RJBS with additional commands for documenting object-oriented and functional code.

OVERVIEW

This bundle is roughly equivalent to:

  • @CorePrep - performs essential transformations

  • -SingleEncoding - ensures consistent character encoding

  • Standard sections: NAME, VERSION, SYNOPSIS, DESCRIPTION, OVERVIEW, STABILITY

  • -Transformer with Pod::Elemental::Transformer::List - transforms =for :list regions

  • -Transformer with Pod::Elemental::Transformer::Author::GETTY - transforms custom commands to =head2

  • Standard boilerplate: SUPPORT, CONTRIBUTING, AUTHORS, LICENSE

COMMANDS

This bundle provides custom documentation commands that are shortcuts for =head2. Unlike traditional Pod::Weaver collectors, these commands stay exactly where you put them in your source file - they are not collected into separate sections. This keeps documentation close to the code it describes.

=attr

Documents object attributes. Place directly after has declarations.

has name => ( is => 'ro' );

=attr name

The user's name. Required.

=method

Documents object methods. Place directly after the sub definition.

=method process

  my $result = $obj->process($data);

Process the input data and return a result.

=func

Documents exported functions. Place near the function definition.

=func parse_config

  my $config = parse_config($filename);

Parse a configuration file and return a hashref.

=resource

Documents available resources, features, or API endpoints.

=resource servers

Cloud servers (create, delete, power on/off)

=opt

Documents command-line options for CLI tools.

=opt --verbose

Enable verbose output.

=env

Documents environment variables.

=env API_KEY

API authentication key. Required for API access.

=event

Documents events that can be emitted or subscribed to.

=event user.created

Emitted when a new user is created.

=hook

Documents hooks or callbacks.

=hook before_save

Called before saving an object to the database.

=example

Documents usage examples.

=example Basic Usage

  my $client = MyApp::Client->new;
  $client->connect;

=seealso

Documents related modules or links.

=seealso L<Some::Other::Module>

Related functionality for X.

STANDARD SECTIONS

This bundle automatically generates the following standard sections:

  • NAME - from package name and # ABSTRACT: comment

  • VERSION - from $VERSION variable

  • SYNOPSIS - from =head1 SYNOPSIS in source

  • DESCRIPTION - from =head1 DESCRIPTION in source

  • OVERVIEW - from =head1 OVERVIEW in source (optional)

  • STABILITY - from =head1 STABILITY in source (optional)

  • SUPPORT - GitHub issues (if available) and IRC contact info

  • CONTRIBUTING - contribution guidelines

  • AUTHORS - from distribution metadata

  • LICENSE AND COPYRIGHT - from distribution metadata

SEE ALSO

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-dist-zilla-pluginbundle-author-getty/issues.

IRC

You can reach Getty on irc.perl.org for questions and support.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudss.us/

COPYRIGHT AND LICENSE

This software is copyright (c) 2025 by Torsten Raudssus <torsten@raudssus.de> https://raudss.us/.

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