Task::Markdown::Publish Task::Markdown::Publish installs the complete documentation conversion and publishing toolchain for Perl distributions. It contains everything installed by Task::Markdown::Pod, plus the reusable site publisher and the MakeMaker targets for building, previewing, and publishing documentation. Installation Install the released bundle and its Perl prerequisites from CPAN: cpanm Task::Markdown::Publish The bundle installs: - Task::Markdown::Pod, Markdown::Pod::Embed, Docbook::Convert, and ASPEER::MakeMaker::Markdown::Pod for conversion and maintenance; - Markdown::Publish for MkDocs, VitePress, Docusaurus, and Astro Starlight site operations; - ASPEER::MakeMaker::Markdown::Publish for publish_build, publish_serve, publish_gh, publish_gh-push, and publish_cloudflare MakeMaker targets. System prerequisites CPAN installs Perl modules only. On Fedora, install the conversion and basic build prerequisites with: sudo dnf install perl perl-App-cpanminus perl-devel make gcc expat-devel \ pandoc libxml2 libxslt git The default MkDocs backend additionally needs Python and MkDocs Material: sudo dnf install python3-pip python3 -m pip install --user mkdocs-material VitePress, Docusaurus, and Astro Starlight need Node.js and npm. Their project packages are installed into temporary build directories by Markdown::Publish: sudo dnf install nodejs npm Cloudflare publication needs Wrangler and an authenticated account. Install it only when that explicit deployment target is required: npm install --global wrangler wrangler login Pandoc is used for DocBook conversion and README generation; xmllint and xsltproc are supplied by Fedora's libxml2 and libxslt packages. Git is needed only for gh/gh-push publication branch operations. No Task module creates accounts, authenticates tools, pushes Git branches, or deploys sites. Use Enable the complete MakeMaker target set: use ExtUtils::MakeMaker; use ASPEER::MakeMaker::Markdown::Publish; WriteMakefile( NAME => 'My::Module', VERSION_FROM => 'lib/My/Module.pm', META_MERGE => { 'meta-spec' => {version => 2}, x_documentation => { publish => { module => 'mkdocs', sources => ['doc'], }, }, }, ); Then run the local workflows explicitly: perl Makefile.PL make doc make publish_build make publish_serve The standalone publisher provides the same site operations without MakeMaker: markdown-publish build markdown-publish serve Publication branch updates and Cloudflare deployment remain separate, explicit operations. See the Markdown::Publish documentation before using them. GitHub attestations Tagged releases build one distribution archive, publish it to GitHub Releases and CPAN, and attach GitHub provenance and a Sigstore bundle. After downloading Task-Markdown-Publish-VERSION.tar.gz from CPAN, verify its attestation with: gh attestation verify Task-Markdown-Publish-VERSION.tar.gz \ --repo aspeer/pm-Task-Markdown-Publish Author Andrew Speer andrew.speer@isolutions.com.au License and copyright This software is copyright (c) 2026 by Andrew Speer. It may be distributed under the same terms as Perl itself.