NAME Commons::Link - Object for creating link for Wikimedia Commons. SYNOPSIS use Commons::Link; my $obj = Commons::Link->new(%params); my $link = $obj->link($file); my $mw_file_link = $obj->mw_file_link($file); my $mw_link = $obj->mw_link($object); my $mw_user_link = $obj->mw_user_link($user); my $thumb_link = $obj->thumb_link($file, $width_in_pixels); METHODS "new" my $obj = Commons::Link->new(%params); Constructor. Returns instance of object. * "utf-8" UTF-8 mode. In UTF-8 mode input string will be encoded to bytes and compute md5 hash. Default value is 1. "link" my $link = $obj->link($file); Get URL from Wikimedia Commons computed from file name. File name could be with 'Image:' and 'File:' prefix or directly file. Spaces are translated to '_'. Returns string with URL. "mw_file_link" my $mw_file_link = $obj->mw_file_link($file); Get URL from Wikimedia Commons MediaWiki view page defined by file name. File name could be with 'Image:' and 'File:' prefix or directly file. Returns string with URL. "mw_link" my $mw_link = $obj->mw_link($object); Get URL from Wikimedia Commons MediaWiki view page defined by object name. e.g. File:__FILENAME__, User:__USERNAME__, Category:__CATEGORY__ Returns string with URL. "mw_user_link" my $mw_user_link = $obj->mw_user_link($user); Get URL from Wikimedia Commons MediaWiki view page defined by user name. File name could be with 'User:' prefix or directly file. Returns string with URL. "thumb_link" my $thumb_link = $obj->thumb_link($file, $width_in_pixels); Get URL from Wikimedia Commons computed from file name and image width in pixels. File name could be with 'Image:' and 'File:' prefix or directly file. Spaces are translated to '_'. Returns string with URL. ERRORS new(): From Class::Utils::set_params(): Unknown parameter '%s'. EXAMPLE1 use strict; use warnings; use Commons::Link; # Object. my $obj = Commons::Link->new; # Input name. my $commons_file = 'Michal from Czechia.jpg'; # URL to file. my $commons_url = $obj->link($commons_file); # Print out. print 'Input file: '.$commons_file."\n"; print 'Output link: '.$commons_url."\n"; # Output: # Input file: Michal from Czechia.jpg # Output link: http://upload.wikimedia.org/wikipedia/commons/a/a4/Michal_from_Czechia.jpg EXAMPLE2 use strict; use warnings; use Commons::Link; # Object. my $obj = Commons::Link->new; # Input name. my $commons_file = 'File:Michal from Czechia.jpg'; # URL to file. my $commons_url = $obj->link($commons_file); # Print out. print 'Input file: '.$commons_file."\n"; print 'Output link: '.$commons_url."\n"; # Output: # Input file: File:Michal from Czechia.jpg # Output link: http://upload.wikimedia.org/wikipedia/commons/a/a4/Michal_from_Czechia.jpg EXAMPLE3 use strict; use warnings; use Commons::Link; # Object. my $obj = Commons::Link->new; # Input name. my $commons_file = 'File:Michal from Czechia.jpg'; # URL to thumbnail file. my $commons_url = $obj->thumb_link($commons_file, 200); # Print out. print 'Input file: '.$commons_file."\n"; print 'Output thumbnail link: '.$commons_url."\n"; # Output: # Input file: File:Michal from Czechia.jpg # Output thumbnail link: http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Michal_from_Czechia.jpg/200px-Michal_from_Czechia.jpg DEPENDENCIES Class::Utils, Digest::MD5, Readonly, Unicode::UTF8, URI. REPOSITORY AUTHOR Michal Josef Špaček LICENSE AND COPYRIGHT © Michal Josef Špaček 2021 BSD 2-Clause License VERSION 0.06