DOKK / manpages / debian 12 / libpandoc-wrapper-perl / Pandoc::Release.3pm.en
Pandoc::Release(3pm) User Contributed Perl Documentation Pandoc::Release(3pm)

Pandoc::Release - get pandoc releases from GitHub

From command line:

  # print latest release name
  perl -MPandoc::Release -E 'say latest->{name}'
  # download latest release unless already in ~/.pandoc/bin
  perl -MPandoc::Release -E 'latest->download'
  # download specific release and create symlink ~/.pandoc/bin/pandoc
  perl -MPandoc::Release -E 'get("2.7.3")->download->symlink'

In Perl code:

  use Pandoc::Release;
  my $release = get('2.1.3');   # get a specific release
  my $latest = latest;          # get a latest release
  # get multiple releases
  my @releases = list( since => '2.0', verbose => 1 );
  foreach my $release (@releases) {
      # print version number
      say $release->{tag_name};
      # download Debian package and executable
      $release->download( dir => './deb', bin => './bin' );
  }
  # download executable and use as temporary Pandoc object:
  my $pandoc = get('2.1.3)->download( bin => './bin' );

This utility module fetches information about pandoc releases via GitHub API. On Debian-bases systems, this module can update and switch locally installed pandoc versions if you add directory "~/.pandoc/bin" to your $PATH.

See pandoc-version for a command line script that makes use of this module.

All functions are exported by default.

Get a specific release by its version or die if the given version does not exist. Returns data as returned by GitHub releases API: <https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name>.

Get a list of all pandoc releases, optionally "since" some version or within a version "range" such as "!=1.16, <=1.17" or "==2.1.2". See "Version Ranges" in CPAN::Meta::Spec for possible values. Option "verbose" will print URLs before each request. Option "limit" limits the maximum number of releases to be returned.

Get the latest release, optionally "since" some version or within a version "range". Equivalent to method "list" with option "limit => 1".

Download the Debian release file for some architecture (e.g. "amd64") Pandoc executables is then extracted to directory "bin" named by pandoc version number (e.g. "pandoc-2.1.2"). Skips downloading if an executable of this name is already found there. Returns a Pandoc instance if "bin" is not false or Pandoc::Version otherwise. Additional options:

Where to download release files to. A temporary directory is used by default.
System architecture, detected with "dpkg --print-architecture" by default.
Where to extract pandoc binary to. By default set to "~/.pandoc/bin" on Unix (see Pandoc function "pandoc_data_dir"). Extraction of executables can be disabled by setting "bin" to a false value.
Create a symlink to the executable. This is just a shortcut for calling function "symlink" of Pandoc:

  $release->download( verbose => $v )->symlink( $l, verbose => $v )
  $release->download( verbose => $v, symlink => $l )   # equivalent
    

Print what's going on (disabled by default).
GitHub token <https://github.com/settings/tokens> to avoid rate limiting.

Pandoc::Version

<https://developer.github.com/v3/repos/releases/>

2023-01-06 perl v5.36.0