トップ/pukiwiki1.5/ref.inc.php

pukiwiki1.5/ref.inc.php の変更点


#author("2024-12-29T17:37:15+09:00","default:nemusg.pad","nemusg.pad")
#author("2024-12-30T00:25:26+09:00","default:nemusg.pad","nemusg.pad")
* ref.inc.php [#aa2d2fcd]

#contents

* 埋め込んだ画像を lazyload対応にする [#y76364c1]

- `ref.inc.php` を編集する
-- `loading="lazy"` を追加する

#code_x{{
- $params['_body'] = "<img src=\"$url\" alt=\"$title\" title=\"$title\" $info/>";
+ $params['_body'] = "<img src=\"$url\" alt=\"$title\" title=\"$title\" loading=\"lazy\" $info/>";
}}

* webp形式を埋め込めるようにする [#ed967fea]

- 実例 [[game/baba_is_you]]

** .htaccess に追記 [#v9d36da9]

これは不要かも?

#code_x{{
## Webp Image
AddType image/webp .webp
}}

** plugin/ref.inc.php の変更 [#f871dfab]

*** 変更前 [#c86d0531]

#code_x{{
define('PLUGIN_REF_IMAGE', '/\.(gif|png|jpe?g|swf)$/i');
}}

#code_x{{
	$got = @getimagesize($ref);
	if (! isset($got[2])) $got[2] = FALSE;
	switch ($got[2]) {
	case 1: $type = 'image/gif' ; break;
	case 2: $type = 'image/jpeg'; break;
	case 3: $type = 'image/png' ; break;
	case 4: $type = 'application/x-shockwave-flash'; break;
	default:
		return array('msg'=>'Seems not an image', 'body'=>$usage);
	}
}}

*** 変更後 [#sba0d53f]

#code_x{{
define('PLUGIN_REF_IMAGE', '/\.(gif|png|jpe?g|webp)$/i');
}}

#code_x{{
	$got = @getimagesize($ref);
	if (!isset($got[2])) $got[2] = FALSE;
	$type = mime_content_type($ref);  // MIMEタイプの確認
	switch ($type) {
	case 'image/gif' : $type = 'image/gif' ; break;
	case 'image/jpeg': $type = 'image/jpeg'; break;
	case 'image/png' : $type = 'image/png' ; break;
	case 'image/webp': $type = 'image/webp'; break;
	default:
		return array('msg'=>'Seems not an image', 'body'=>$usage);
	}
}}

参考になるかも? [[WEBP画像のフォールバック - レ点腫瘍学ノート:https://oncologynote.jp/?5b041d2a93]]