OSDN Git Service

BugTrack/2529 img plugin: image size with only width or height
authorumorigu <umorigu@gmail.com>
Tue, 7 Dec 2021 15:04:46 +0000 (00:04 +0900)
committerumorigu <umorigu@gmail.com>
Tue, 7 Dec 2021 15:04:46 +0000 (00:04 +0900)
* Width only size: "999w" or "999x"
* Height only size: "999h" or "x999"
* (Reference) Width and height size: "999x999"

plugin/img.inc.php
wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F482D4B.txt

index cd8d608..7f5b4c6 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 // PukiWiki - Yet another WikiWikiWeb clone.
 // img.inc.php
-// Copyright 2002-2018 PukiWiki Development Team
+// Copyright 2002-2021 PukiWiki Development Team
 // License: GPL v2 or (at your option) any later version
 //
 // Inline-image plugin (Output inline-image tag from a URI)
@@ -27,6 +27,18 @@ function plugin_img_get_style($args)
                        } else if (preg_match('#^(\d+)px$#', $arg, $m)) {
                                $style = 'max-width:' . $m[1] . 'px;max-height:' . $m[1] . 'px;';
                                break;
+                       } else if (preg_match('#^(\d+)x$#', $arg, $m)) {
+                               $style = 'max-width:' . $m[1] . 'px;height:auto;';
+                               break;
+                       } if (preg_match('#^x(\d+)$#', $arg, $m)) {
+                               $style = 'width:auto;max-height:' . $m[1] . 'px;';
+                               break;
+                       } else if (preg_match('#^(\d+)w$#', $arg, $m)) {
+                               $style = 'max-width:' . $m[1] . 'px;height:auto;';
+                               break;
+                       } if (preg_match('#^(\d+)h$#', $arg, $m)) {
+                               $style = 'width:auto;max-height:' . $m[1] . 'px;';
+                               break;
                        } else if (preg_match('#^(\d+)%$#', $arg, $m)) {
                                // Note: zoom is not standard. Recommend using MAXpx or WIDTHxHEIGHT
                                $style = 'zoom:' . $m[1] . '%;';
index 47604f0..ac64c25 100644 (file)
 &color(blue){left};|
 &color(blue){l};|
 &color(blue){clear};|
-&color(blue){c};,[
-&color(blue){clear};|
 &color(blue){c};
-]]
+{,
+[&color(blue){999x999};],
+[&color(blue){999x};],
+[&color(blue){x999};],
+[&color(blue){999w};],
+[&color(blue){999h};],
+[&color(blue){999%};]}
 '')''
 :概要|
 ~指定されたURLまたは添付ファイルの画像を表示します。
@@ -47,10 +51,13 @@ refプラグインと異なり、拡張子(末尾文字列)に関わらずURLを
 :引数|
 ~画像URLには表示する画像のURLを指定します。
 ~ページに添付したファイル名を指定することも可能です。
-~right,r,left,l,clear,c で画像の表示位置とテキストの回りこみを指定します。省略時は left が指定されたとみなします。
+~パラメータには画像の表示位置とテキストの回りこみを指定します。省略時は left が指定されたとみなします。
 --right,r - 画像を右寄せで表示します。
 --left,l - 画像を右寄せで表示します。
 --clear,c - テキストの回りこみを解除します。内部的には right,r,left,l 以外は全てclearが選択されたと見なされます。
+--999x999 - サイズを指定します(幅x高さ)。省略時は拡大率あるいは対象画像のサイズに従います。
+--999x or 999w - 画像幅を指定します。元画像のアスペクト比を保って高さは自動設定されます。
+--x999 or 999h - 画像高さを指定します。元画像のアスペクト比を保って幅は自動設定されます。
 :プラグイン内設定|~
 --PLUGIN_IMG_CLEAR clear指定時に出力するタグ
 --PLUGIN_IMG_USAGE 引数未指定時に表示されるヘルプ