The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::Plugin::SocialMeta - Generate social media meta tags for your catalyst application.

VERSION

Version 0.03

SYNOPSIS

Quick summary of what the module does.

Perhaps a little code snippet.

        ... MyApp.pm ...

        package MyApp;
        use Moose;
        use namespace::autoclean;

        use Catalyst::Runtime 5.80;

        use Catalyst qw/
                SocialMeta
        /;

        extends 'Catalyst';

        our $VERSION = '0.01';

        __PACKAGE__->config(
                name => 'MyApp',
                'Plugin::SocialMeta' => {
                        meta_provider => 'all',
                        card_type => 'featured_image',
                        site => 'Lnation.org',
                        site_name => 'Lnation',
                        title => 'Social Meta Tag Generator',
                        description => 'Demo UI for HTML::SocialMeta',
                        image => 'https://lnation.org/static/images/social.png',
                        fb_app_id => 'lnationorgnofb',
                        url => 'https://lnation.org/socialmeta/demo'
                }
        );

        # Start the application
        __PACKAGE__->setup();

        .... Controller ...

        package MyApp::Controller::Foo;

        use Moose;
        use namespace::autoclean;
        BEGIN {
                extends 'Catalyst::Controller';
        }

        sub foo :Chained('/') :PathPart('foo') :Args(0) {
                my ($self, $c) = @_;
                ... # uses default social meta tags from config
        }

        sub base :Chained('/') :PathPart('') :CaptureArgs(0) {
                my ($self, $c) = @_;

                $c->socialmeta(
                        title => 'Changed Title',
                        description => 'Demo UI for Changed::Title',
                );
        }

        sub bar :Chained('base') :PathPart('bar') :Args(0) {
                my ($self, $c) = @_;
                ... # social meta tags from the config + the keys set in the base action
        }

` ... wrapper.tt ...

        <html>
                <head>
                        [% socialmeta %]
                </head>
                <body>
                        ...
                </body>
        </html>

SUBROUTINES/METHODS

socialmeta

Set the social meta tags for the current action, you can pass the following keys, see HTML::SocialMeta for more information.

meta_provider

The meta provider you would like to generate the social meta tags for, this defaults to 'all'. twitter and opengraph are the other valid options.

card_type

The type of social meta card see HTML::SocialMeta documention for options.

card

OPTIONAL - if you always want the same card type you can set it

site

The Twitter @username the card should be attributed to. Required for Twitter Card analytics.

site_name

This is Used by Facebook, you can just set it as your organisations name.

title

The title of your content as it should appear in the card

description

A description of the content in a maximum of 200 characters

image

A URL to a unique image representing the content of the page

image_alt

OPTIONAL - A text description of the image, for use by vision-impaired users

url

Required for OpenGraph. Allows you to specify an alternative url link you want the reader to be redirected

player

HTTPS URL to iframe player. This must be a HTTPS URL which does not generate active mixed content warnings in a web browser

player_width

Width of IFRAME specified in twitter:player in pixels

player_height

Height of IFRAME specified in twitter:player in pixels

operating_system

IOS or Android

app_country

UK/US ect

app_name

The applications name

app_id

String value, and should be the numeric representation of your app ID in the App Store (.i.e. 307234931)

app_url

Application store url - direct link to App store page

fb_app_id

This field is required to use social meta with facebook, you must register your website/app/company with facebook. They will then provide you with a unique app_id.

AUTHOR

LNATION, <email at lnation.org>

BUGS

Please report any bugs or feature requests to bug-catalyst-plugin-socialmeta at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-Plugin-SocialMeta. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

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

    perldoc Catalyst::Plugin::SocialMeta

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

This software is Copyright (c) 2022 by LNATION.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)