From 4bda18a50aab714e72fce347cb4cff32316e55de Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Tue, 5 Jan 2010 15:23:22 +0100 Subject: Support align attribute for img with caption This is achieved by preparing CSS definitions that emulates the behavior of the align attribute, and passing it to the outermost IMG wrapper (A or TABLE) instead of passing the align value to IMG directly. --- IkiWiki/Plugin/img.pm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'IkiWiki') diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm index 32023fa97..6f1919ea0 100644 --- a/IkiWiki/Plugin/img.pm +++ b/IkiWiki/Plugin/img.pm @@ -155,16 +155,23 @@ sub preprocess (@) { '" height="'.$dheight.'"'. (exists $params{alt} ? ' alt="'.$params{alt}.'"' : ''). (exists $params{title} ? ' title="'.$params{title}.'"' : ''). - (exists $params{align} ? ' align="'.$params{align}.'"' : ''). (exists $params{class} ? ' class="'.$params{class}.'"' : ''). (exists $params{id} ? ' id="'.$params{id}.'"' : ''). ' />'; if (! defined $params{link} || lc($params{link}) eq 'yes') { - $imgtag=''.$imgtag.''; + if (exists $params{caption} || !exists $params{align}) { + $imgtag=''.$imgtag.''; + } else { + $imgtag=''.$imgtag.''; + } } elsif ($params{link} =~ /^\w+:\/\//) { - $imgtag=''.$imgtag.''; + if (exists $params{caption} || !exists $params{align}) { + $imgtag=''.$imgtag.''; + } else { + $imgtag=''.$imgtag.''; + } } else { my $b = bestlink($params{page}, $params{link}); @@ -173,12 +180,16 @@ sub preprocess (@) { add_depends($params{page}, $b, deptype("presence")); $imgtag=htmllink($params{page}, $params{destpage}, $params{link}, linktext => $imgtag, - noimageinline => 1); + noimageinline => 1, + (exists $params{caption} || !exists $params{align}) ? + () : (class => 'align-'.$params{align})); } } if (exists $params{caption}) { - return ''. + return '
'. ''. ''. '
'.$params{caption}.'
'.$imgtag.'
'; -- cgit v1.2.3