App-Pods2Site

 view release on metacpan or  search on metacpan

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

	my $podFinder = App::Pods2Site::PodFinder->new($args);
	my ($sum, $partCounts) = $podFinder->getCounts(); 
	die("No pods found!\n") unless $sum;

	my $mainpagename = $args->getMainpage();
	my $mainpage;
	if ($mainpagename eq ':std')
	{
		$mainpage = $mainpagename;
	}
	else
	{
		foreach my $group (@{$podFinder->getGroups()})
		{
			foreach my $pod (@{$group->{pods}})
			{
				if ($pod->{name} eq $mainpagename)
				{
					$mainpage = $pod->{name};
					$mainpage =~ s{::}{/}g;
					$mainpage = "pod2html/$group->{name}/$mainpage.html";
					last;
				}
			}
		}
	}
	die("Failed to find the main page pod named '$mainpagename'\n") unless $mainpage;

	my $counts = '';
	foreach my $groupDef (@{$args->getGroupDefs()})
	{
		$counts .= ', ' if $counts;
		$counts .= "$groupDef->{name}=$partCounts->{$groupDef->{name}}";
	}
	print "Found $sum pods ($counts).\n" if $args->isVerboseLevel(0);

	print "Preparing pod work tree\n" if $args->isVerboseLevel(0);
	my $podCopier = App::Pods2Site::PodCopier->new($args, $podFinder);
	print "Prepared ", $podCopier->getCount(), " files\n" if $args->isVerboseLevel(0);

	my $siteDir = $args->getSiteDir();
	if (!-d $siteDir)
	{
		make_path($siteDir) || die("Failed to create sitedir '$siteDir': $!\n");
	}

	my $sitebuilder = $args->getSiteBuilder(); 

	$sitebuilder->prepareCss($args);

	print "Generating HTML from pods\n" if $args->isVerboseLevel(0);
	my $pod2html = App::Pods2Site::Pod2HTML->new($args, $podCopier->getPodRoot(), $podCopier->getWorkGroups());

	print "Generated ", $pod2html->getGenerated(), " documents (", $pod2html->getUptodate(), " up to date)\n" if $args->isVerboseLevel(0);

	$sitebuilder->makeSite($args, $podCopier->getWorkGroups(), $partCounts, $mainpage);

	$args->finish();
	
	my $style = $args->getStyle();
	my $updatedOrCreated = $args->getUpdating() ? 'updated' : 'created';
	print "Site $updatedOrCreated in '$siteDir' using style '$style'.\n" if $args->isVerboseLevel(0);

	chdir($cwd);
	
	return 0;
}

1;



( run in 2.386 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )