=for html <a href="https://travis-ci.com/ranwitter/perl5-UML-PlantUML-Encoder"><img src="https://travis-ci.com/ranwitter/perl5-UML-PlantUML-Encoder.svg?branch=master"></a>&nbsp;<a title="Artistic-2.0" href="https://opensource.org/licenses/Artistic-2.0"><img src="https://img.shields.io/badge/License-Perl-0298c3.svg"></a>

=head1 NAME

UML::PlantUML::Encoder - Provides PlantUML Language's Encoding in Perl

Encodes PlantUML Diagram Text using the PlantUML Encoding Standard described at L<http://plantuml.com/text-encoding>

=head1 VERSION

Version 0.03

=head1 SYNOPSIS

    use UML::PlantUML::Encoder qw(encode_p);

    my $encoded = encode_p(qq{
       Alice -> Bob: Authentication Request
       Bob --> Alice: Authentication Response
    });

    print "\nhttp://www.plantuml.com/plantuml/uml/$encoded";
    print "\nhttp://www.plantuml.com/plantuml/png/$encoded";
    print "\nhttp://www.plantuml.com/plantuml/svg/$encoded";
    print "\nhttp://www.plantuml.com/plantuml/txt/$encoded";

    # Output
    http://www.plantuml.com/plantuml/uml/~169NZKe00nvpCv5G5NJi5f_maAmN7qfACrBoIpEJ4aipyF8MWrCBIrE8IBgXQe185NQ1Ii1uiYeiBylEAKy6g0HPp7700
    http://www.plantuml.com/plantuml/png/~169NZKe00nvpCv5G5NJi5f_maAmN7qfACrBoIpEJ4aipyF8MWrCBIrE8IBgXQe185NQ1Ii1uiYeiBylEAKy6g0HPp7700
    http://www.plantuml.com/plantuml/svg/~169NZKe00nvpCv5G5NJi5f_maAmN7qfACrBoIpEJ4aipyF8MWrCBIrE8IBgXQe185NQ1Ii1uiYeiBylEAKy6g0HPp7700
    http://www.plantuml.com/plantuml/txt/~169NZKe00nvpCv5G5NJi5f_maAmN7qfACrBoIpEJ4aipyF8MWrCBIrE8IBgXQe185NQ1Ii1uiYeiBylEAKy6g0HPp7700

=head1 EXPORT

The only Subroutine that this module exports is C<encode_p>

=head1 SUBROUTINES/METHODS

=head2 utf8_encode

Encoded in UTF-8

=head2 _compress_with_deflate

Compressed using Deflate algorithm

=head2 encode6bit

Transform to String of characters that contains only digits, letters, underscore and minus character

=head2 append3bytes

Transform adjacent bytes

=head2 encode64

Reencoded in ASCII using a transformation close to base64

=head2 encode_p

Encodes diagram text descriptions 

=head1 AUTHOR

Rangana Sudesha Withanage, C<< <rwi at cpan.org> >>

=head1 BUGS

Please report any bugs or feature requests to C<bug-uml-plantuml-encoder at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/NoAuth/ReportBug.html?Queue=UML-PlantUML-Encoder>.  I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.


=head1 SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc UML::PlantUML::Encoder

You can also look for information at:

=over 4

=item * RT: CPAN's request tracker (report bugs here)

L<https://rt.cpan.org/NoAuth/Bugs.html?Dist=UML-PlantUML-Encoder>

=item * GitHub Repository

L<https://github.com/ranwitter/perl5-UML-PlantUML-Encoder>

=item * CPAN Ratings

L<https://cpanratings.perl.org/d/UML-PlantUML-Encoder>

=item * Search CPAN

L<https://metacpan.org/release/UML-PlantUML-Encoder>

=back

=head1 LICENSE AND COPYRIGHT

This software is copyright (c) 2019 by Rangana Sudesha Withanage.

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