App-LinkSite

 view release on metacpan or  search on metacpan

bin/linksite  view on Meta::CPAN

use File::Basename;

use App::LinkSite;

my %opt;
GetOptions(\%opt, 'help', 'version', 'file=s');

if (keys %opt) {
  my $me = basename $0;
  if ($opt{version}) {
    say "$me $App::LinkSite::VERSION";
    say '' if $opt{help};
  }

  if ($opt{help}) {
    say "Usage: $me [--file <filename>]";
    say "\nCreate a link site from a simple input file. See 'man $me' for details";
  }

  exit;
}

App::LinkSite->new($opt{file} ? (file => $opt{file}) : ())->run;

=head1 linksite

Create a link site from a simple input file.

lib/App/LinkSite.pm  view on Meta::CPAN

The main driver class for App::LinkSite.

=cut

use Feature::Compat::Class;

class App::LinkSite {
  our $VERSION = '0.1.1';
  use strict;
  use warnings;
  use feature qw[say signatures];
  no if $] >= 5.038, 'warnings', qw[experimental::signatures experimental::class];

  use Template;
  use JSON;
  use Path::Tiny;
  use File::Find;
  use File::Basename;
  use FindBin '$Bin';
  use File::ShareDir 'dist_dir';

lib/App/LinkSite/Social.pm  view on Meta::CPAN

A class to model a social link on a link site (part of App::LinkSite).

=cut

use Feature::Compat::Class;

class App::LinkSite::Social {
  our $VERSION = '0.1.1';
  use strict;
  use warnings;
  use feature qw[say signatures];
  no if $] >= 5.038, 'warnings', qw[experimental::signatures experimental::class];

  field $service :reader :param;
  field $handle :reader :param;
  field $url :reader :param = undef;

  # TODO: This needs to be a class field.
  field $urls = {
    facebook   => {
      url  => "https://facebook.com/",



( run in 1.176 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )