Add generating efficient images
This commit is contained in:
parent
962ed1842c
commit
c4867a83dd
48
router.php
48
router.php
|
@ -16,7 +16,7 @@ if (file_exists("site.json")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preg_match('/\.(?:jpg|png|css|ico|scss|js|ttf|woff|txt)/', $_SERVER["REQUEST_URI"])) {
|
if (preg_match('/\.(?:jpg|png|webp|css|ico|scss|js|ttf|woff|txt)/', $_SERVER["REQUEST_URI"])) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,6 +138,7 @@ die();
|
||||||
|
|
||||||
function img_src($src, $root = "" ) {
|
function img_src($src, $root = "" ) {
|
||||||
if (empty($root)) $root = $_SERVER['REQUEST_URI'];
|
if (empty($root)) $root = $_SERVER['REQUEST_URI'];
|
||||||
|
if ($root == "/") $root = "";
|
||||||
if ($src[0] != '/') {
|
if ($src[0] != '/') {
|
||||||
$write = "$root/$src";
|
$write = "$root/$src";
|
||||||
} else $write = $src;
|
} else $write = $src;
|
||||||
|
@ -168,6 +169,51 @@ function page_locked($page) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function gen_images($src) {
|
||||||
|
$path = pathinfo($src);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (in_array($path['extension'], ["jpg", "jpeg"])) {
|
||||||
|
$pwebp = "$path[dirname]/$path[filename].webp";
|
||||||
|
$pe = ltrim($src, '/');
|
||||||
|
$we = ltrim($pwebp, '/');
|
||||||
|
|
||||||
|
if (!file_exists($we)) {
|
||||||
|
exec("convert -quality 80 $pe $we");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_img($src, $q=80) {
|
||||||
|
$p = img_src($src);
|
||||||
|
gen_images($p);
|
||||||
|
$path = pathinfo($p);
|
||||||
|
$pwebp = "$path[dirname]/$path[filename].webp";
|
||||||
|
|
||||||
|
echo <<<END
|
||||||
|
<picture>
|
||||||
|
<source srcset="$pwebp" type="image/webp" width=100%/>
|
||||||
|
<source srcset="$p" type="image/jpeg" width=100% />
|
||||||
|
<img src="$p" width=100% />
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
END;
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_bkgd_img($src, $q=80) {
|
||||||
|
$p = img_src($src);
|
||||||
|
|
||||||
|
gen_images($p);
|
||||||
|
$path = pathinfo($p);
|
||||||
|
$pwebp = "$path[dirname]/$path[filename].webp";
|
||||||
|
|
||||||
|
$pe = ltrim($pwebp, '/');
|
||||||
|
$we = ltrim($p, '/');
|
||||||
|
|
||||||
|
return "background-image: image-set(url($pe) 1x, url($we) 1x)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue