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 )