ASPEER-MakeMaker-Markdown-Publish
view release on metacpan or search on metacpan
lib/ASPEER/MakeMaker/Markdown/Publish.pm view on Meta::CPAN
#
# This file is part of ASPEER::MakeMaker::Markdown::Publish.
#
# This software is copyright (c) 2026 by Andrew Speer <andrew.speer@isolutions.com.au>.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
# Full license text is available at:
#
# <http://dev.perl.org/licenses/>
#
package ASPEER::MakeMaker::Markdown::Publish;
# Compiler pragma and package variables
#
use strict qw(vars);
use vars qw($VERSION $VERSION_GIT_SHA $AUTHORITY @ISA);
use warnings;
# Inherit the shared MakeMaker hook implementation. Actual site assembly and
# publication remains in the backend-neutral publishing module.
#
use ASPEER::MakeMaker ();
use ASPEER::MakeMaker::Markdown::Pod ();
use ASPEER::MakeMaker::Markdown::Publish::MM ();
@ISA=qw(ASPEER::MakeMaker);
# Version information
#
$AUTHORITY='cpan:ASPEER';
$VERSION='1.004';
$VERSION_GIT_SHA=do {local(@ARGV, $/, $_); @ARGV=($_=__FILE__.'.sha'); <> if -f $_};
chomp($VERSION_GIT_SHA) if defined($VERSION_GIT_SHA);
# Done
#
1;
#======================================================================================================================
sub import {
# Install documentation maintenance before wrapping the same MakeMaker
# sections with publication targets.
#
my ($class, @section)=@_;
ASPEER::MakeMaker::Markdown::Pod->import(@section);
return ASPEER::MakeMaker::import($class, @section);
}
__END__
=begin markdown
# NAME
ASPEER::MakeMaker::Markdown::Publish - MakeMaker targets for Markdown publication
# SYNOPSIS
```perl
use ExtUtils::MakeMaker;
use ASPEER::MakeMaker::Markdown::Publish;
WriteMakefile(
NAME => 'Example',
VERSION_FROM => 'lib/Example.pm',
META_MERGE => {
'meta-spec' => {version => 2},
x_documentation => {
publish => {
module => 'Markdown::Publish::MkDocs',
sources => ['doc'],
config => 'doc/mkdocs/mkdocs.yml',
},
},
},
);
```
# DESCRIPTION
This is a thin MakeMaker adapter. It reads `META_MERGE.x_documentation.publish`
from the live `WriteMakefile` arguments and passes the settings to
`Markdown::Publish` when a target is invoked. It does not assemble
documents, run a publishing engine, or update Git itself.
Importing this module also imports `ASPEER::MakeMaker::Markdown::Pod`, so the
( run in 0.659 second using v1.01-cache-2.11-cpan-64eb572602a )