From 61c07ba600862b003551f370a56673b91fb02742 Mon Sep 17 00:00:00 2001 From: mahavishnup Date: Sun, 14 May 2023 10:50:51 +0530 Subject: [PATCH 1/5] laravel 10.x support and new line bug fix's --- composer.json | 2 +- src/Middleware/CollapseWhitespace.php | 5 +++-- src/Middleware/InlineCss.php | 2 +- src/Middleware/InsertDNSPrefetch.php | 11 +++++++---- src/Middleware/RemoveComments.php | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index 7e17db7..c27dfe1 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ ], "require": { "php": "^8.0", - "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0|^10.0" + "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0" }, "require-dev": { "phpunit/phpunit": "^8.5 || ^9.0", diff --git a/src/Middleware/CollapseWhitespace.php b/src/Middleware/CollapseWhitespace.php index c7e3f4d..493c9d6 100644 --- a/src/Middleware/CollapseWhitespace.php +++ b/src/Middleware/CollapseWhitespace.php @@ -11,8 +11,9 @@ public function apply($buffer) "/\r/" => '', "/\n/" => '', "/\t/" => '', - "/ +/" => ' ', - "/> + '><', + '/ >/' => '>', + '/ +/' => ' ', + '/> + '><', ]; return $this->replace($replace, $this->removeComments($buffer)); diff --git a/src/Middleware/InlineCss.php b/src/Middleware/InlineCss.php index 5041b0a..418c9fd 100644 --- a/src/Middleware/InlineCss.php +++ b/src/Middleware/InlineCss.php @@ -42,7 +42,7 @@ private function injectStyle() $injectStyle = implode(' ', $this->inline); $replace = [ - '#(.*?)#' => "\n\n" + '#(.*?)#' => "" ]; $this->html = $this->replace($replace, $this->html); diff --git a/src/Middleware/InsertDNSPrefetch.php b/src/Middleware/InsertDNSPrefetch.php index 8e40053..64f9de7 100644 --- a/src/Middleware/InsertDNSPrefetch.php +++ b/src/Middleware/InsertDNSPrefetch.php @@ -14,18 +14,21 @@ public function apply($buffer) ); $dnsPrefetch = collect($matches[0])->map(function ($item) { - $domain = (new TrimUrls)->apply($item[0]); $domain = explode( '/', str_replace('//', '', $domain) ); - return ""; - })->unique()->implode("\n"); + if (str_contains(@$domain[0], 'www.schema.org')) { + $domain[0] = 'www.schema.org'; + } + + return ""; + })->unique()->implode(''); $replace = [ - '#(.*?)#' => "\n{$dnsPrefetch}" + '#(.*?)#' => "{$dnsPrefetch}", ]; return $this->replace($replace, $buffer); diff --git a/src/Middleware/RemoveComments.php b/src/Middleware/RemoveComments.php index f6e476c..9c5d609 100644 --- a/src/Middleware/RemoveComments.php +++ b/src/Middleware/RemoveComments.php @@ -4,7 +4,7 @@ class RemoveComments extends PageSpeed { - const REGEX_MATCH_JS_AND_CSS_COMMENTS = '/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?/s'; public function apply($buffer) From 042e7950a50e67ed762433c24b8a260296d0cc50 Mon Sep 17 00:00:00 2001 From: mahavishnup Date: Thu, 18 May 2023 11:27:55 +0530 Subject: [PATCH 2/5] skip custom damain and bug fix's --- config/laravel-page-speed.php | 13 +++++++++++++ src/Middleware/CollapseWhitespace.php | 4 ++++ src/Middleware/InsertDNSPrefetch.php | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/config/laravel-page-speed.php b/config/laravel-page-speed.php index 66a0739..a00e1e9 100644 --- a/config/laravel-page-speed.php +++ b/config/laravel-page-speed.php @@ -56,4 +56,17 @@ '*.m4v', '*.torrent' ], + + /* + |-------------------------------------------------------------------------- + | Skip Custom Domain + |-------------------------------------------------------------------------- + | + | Skip Custom Domain to exclude. + | + */ + + 'domain' => [ + // for eg: str_replace(['https://', 'http://'], ['', ''], env('FILAMENT_DOMAIN')) + ], ]; diff --git a/src/Middleware/CollapseWhitespace.php b/src/Middleware/CollapseWhitespace.php index 493c9d6..302a7c2 100644 --- a/src/Middleware/CollapseWhitespace.php +++ b/src/Middleware/CollapseWhitespace.php @@ -16,6 +16,10 @@ public function apply($buffer) '/> + '><', ]; + if (in_array(request()?->host(), config('laravel-page-speed.domain'), true)) { + unset($replace["/\n/"]); + } + return $this->replace($replace, $this->removeComments($buffer)); } diff --git a/src/Middleware/InsertDNSPrefetch.php b/src/Middleware/InsertDNSPrefetch.php index 64f9de7..4204fc4 100644 --- a/src/Middleware/InsertDNSPrefetch.php +++ b/src/Middleware/InsertDNSPrefetch.php @@ -14,6 +14,10 @@ public function apply($buffer) ); $dnsPrefetch = collect($matches[0])->map(function ($item) { + if (str_contains($item[0], 'debugbar')) { + return; + } + $domain = (new TrimUrls)->apply($item[0]); $domain = explode( '/', From 39b512765aa4add293d96567567cc9576005dfa9 Mon Sep 17 00:00:00 2001 From: mahavishnup Date: Thu, 18 May 2023 12:11:38 +0530 Subject: [PATCH 3/5] blank screen bug fix's --- src/Middleware/CollapseWhitespace.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Middleware/CollapseWhitespace.php b/src/Middleware/CollapseWhitespace.php index 302a7c2..3f15a8a 100644 --- a/src/Middleware/CollapseWhitespace.php +++ b/src/Middleware/CollapseWhitespace.php @@ -2,10 +2,16 @@ namespace RenatoMarinho\LaravelPageSpeed\Middleware; +use Exception; + class CollapseWhitespace extends PageSpeed { public function apply($buffer) { + if (str_contains($buffer, 'Error:')) { + return $buffer; + } + $replace = [ "/\n([\S])/" => '$1', "/\r/" => '', From e0a1f7b18830ce5a342112200d59497246530998 Mon Sep 17 00:00:00 2001 From: mahavishnup Date: Tue, 20 Jun 2023 19:54:35 +0530 Subject: [PATCH 4/5] subdomain skip --- src/Middleware/CollapseWhitespace.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Middleware/CollapseWhitespace.php b/src/Middleware/CollapseWhitespace.php index 3f15a8a..b5ab32d 100644 --- a/src/Middleware/CollapseWhitespace.php +++ b/src/Middleware/CollapseWhitespace.php @@ -11,6 +11,10 @@ public function apply($buffer) if (str_contains($buffer, 'Error:')) { return $buffer; } + + if (in_array(request()?->host(), config('laravel-page-speed.domain'), true)) { + return $this->replace([], $this->removeComments($buffer)); + } $replace = [ "/\n([\S])/" => '$1', @@ -22,10 +26,6 @@ public function apply($buffer) '/> + '><', ]; - if (in_array(request()?->host(), config('laravel-page-speed.domain'), true)) { - unset($replace["/\n/"]); - } - return $this->replace($replace, $this->removeComments($buffer)); } From ae6ed3048eae1e233ca2a615e6ea9c332907f308 Mon Sep 17 00:00:00 2001 From: mahavishnup Date: Wed, 21 Jun 2023 08:34:34 +0530 Subject: [PATCH 5/5] updates --- src/Middleware/CollapseWhitespace.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Middleware/CollapseWhitespace.php b/src/Middleware/CollapseWhitespace.php index b5ab32d..37103a7 100644 --- a/src/Middleware/CollapseWhitespace.php +++ b/src/Middleware/CollapseWhitespace.php @@ -11,7 +11,7 @@ public function apply($buffer) if (str_contains($buffer, 'Error:')) { return $buffer; } - + if (in_array(request()?->host(), config('laravel-page-speed.domain'), true)) { return $this->replace([], $this->removeComments($buffer)); }