Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017
view release on metacpan or search on metacpan
devscripts/update view on Meta::CPAN
#!/usr/bin/env perl
use 5.010;
use strict;
use warnings;
use FindBin '$Bin';
use App::CreateAcmeCPANModulesImportModules;
use Perinci::Sub::Util qw(gen_curried_sub);
use Perinci::CmdLine::Any;
my %add_modules = (
# not linked
#"04" => ["Mojo::DOM"],
);
my %typos = (
#'Perl::PrereqScanner::NotSoLite' => 'Perl::PrereqScanner::NotQuiteLite',
);
my %daily_urls = (
"01" => "https://mojolicious.io/blog/2017/12/01/day-1-getting-started",
"02" => "https://mojolicious.io/blog/2017/12/02/day-2-the-stash",
"03" => "https://mojolicious.io/blog/2017/12/03/day-3-using-named-routes",
"04" => "https://mojolicious.io/blog/2017/12/04/day-4-dont-fear-the-full-app",
"05" => "https://mojolicious.io/blog/2017/12/05/day-5-your-apps-built-in-commands",
"06" => "https://mojolicious.io/blog/2017/12/06/day-6-adding-your-own-commands",
"07" => "https://mojolicious.io/blog/2017/12/07/day-7-using-template-variants-for-a-beta-landing-page",
"08" => "https://mojolicious.io/blog/2017/12/08/day-8-mocking-a-rest-api",
"09" => "https://mojolicious.io/blog/2017/12/09/day-9-the-best-way-to-test",
"10" => "https://mojolicious.io/blog/2017/12/10/day-10-give-the-customer-what-they-want",
"11" => "https://mojolicious.io/blog/2017/12/11/day-11-useragent-content-generators",
"12" => "https://mojolicious.io/blog/2017/12/12/day-12-more-than-a-base-class",
"13" => "https://mojolicious.io/blog/2017/12/13/day-13-more-about-roles",
"14" => "https://mojolicious.io/blog/2017/12/14/day-14-you-promised-to-call",
"15" => "https://mojolicious.io/blog/2017/12/15/day-15-start-a-new-yancy-app",
"16" => "https://mojolicious.io/blog/2017/12/16/day-16-the-secret-life-of-sessions",
"17" => "https://mojolicious.io/blog/2017/12/17/day-17-the-wishlist-app",
"18" => "https://mojolicious.io/blog/2017/12/18/day-18-the-wishlist-model",
"19" => "https://mojolicious.io/blog/2017/12/19/day-19-make-your-app-installable",
"20" => "https://mojolicious.io/blog/2017/12/20/day-20-practical-testing",
"21" => "https://mojolicious.io/blog/2017/12/21/day-21-virtually-a-lumberjack",
"22" => "https://mojolicious.io/blog/2017/12/22/day-22-how-to-build-a-public-rest-api",
"23" => "https://mojolicious.io/blog/2017/12/23/day-23-one-liners-for-fun-and-profit",
"24" => "https://mojolicious.io/blog/2017/12/24/day-24-release-and-wrap-up",
);
gen_curried_sub(
'App::CreateAcmeCPANModulesImportModules::create_acme_cpanmodules_import_modules',
{
modules => [
{
name => '2017',
url => "https://mojolicious.io/page/advent/2017/",
extract_urls => [map {$daily_urls{$_}} "01".."24"],
summary => 'Modules mentioned in Mojolicious Advent Calendar 2017',
add_modules => [map {@$_} values %add_modules],
},
(map {
+{
name => "2017_12_$_",
url => $daily_urls{$_},
summary => "Modules mentioned in Mojolicious Advent Calendar 2017 (day $_)",
add_modules => [@{ $add_modules{$_} // [] }],
},
} "01".."24"),
],
typos => \%typos,
ignore_empty => 1,
namespace => 'Acme::CPANModules::Import::MojoliciousAdvent',
user_agent => 'Mozilla/5.0',
dist_dir => "$Bin/..",
},
'app',
);
Perinci::CmdLine::Any->new(
url => '/main/app',
log => 1,
)->run;
( run in 1.371 second using v1.01-cache-2.11-cpan-39bf76dae61 )