stolz/laravel-html-tidy

Laravel的HTML Tidy中间件

0.1.4 2020-03-22 12:28 UTC

This package is auto-updated.

Last update: 2024-08-26 08:44:39 UTC


README

tl;dr

Laravel-html-tidy是一个Laravel中间件,它会解析Laravel的Response对象,以检测和修复标记问题,同时改善最终标记的布局和缩进风格。

工作原理

在编辑HTML时,很容易出错。你是否曾经忘记关闭一个<div>标签,导致你的布局一团糟,然后疯狂地试图找出问题所在?如果有一种简单的方法可以自动检测和修复这些错误,同时整理杂乱的编辑为整齐的布局,那不是很好吗?这正是W3C HTML Tidy工具的目的!HTML Tidy可以作为官方的PHP扩展使用,而这个包使得在Laravel中使用它变得非常简单。

一旦启用中间件,每次你的HTML代码有问题时,你将在屏幕上看到错误消息。Tidy将尽力为你解决问题。此外,如果你查看发送到浏览器的最终HTML代码,你将会感到惊喜。

注意:HTML Tidy运行速度快,但解析输出总是会增加一点开销,因此建议只在开发环境中使用中间件。

要求

  • PHP编译时带有HTML Tidy支持,并在php.ini中启用了Tidy扩展。
  • Laravel框架。

安装

通过composer安装

composer require stolz/laravel-html-tidy --dev

如果你使用的是不带包发现功能的旧版Laravel(或者如果你已经禁用了它),那么你必须手动编辑config/app.php文件,并将服务提供者添加到providers数组中

'providers' => [
	...
	'Stolz\HtmlTidy\ServiceProvider',
],

默认设置可以验证(x)HTML 4和HTML 5标记。如果你要自定义设置,请通过运行创建config/tidy.php文件

php artisan vendor:publish --provider='Stolz\HtmlTidy\ServiceProvider'

用法

如果你只想在特定的路由上运行中间件,请将类添加到你的app/Http/Kernel.php文件中的$routeMiddleware属性,使用你期望的简写键。

protected $routeMiddleware = [
	...
	'tidy' => 'Stolz\HtmlTidy\Middleware',
];

现在你可以在你的routes.php文件中使用它

Route::get('some/url', function () {...})->middleware('tidy');

相反,如果你想使中间件在应用的所有HTTP请求上运行,请将类添加到你的app/Http/Kernel.php文件中的$middleware属性。

protected $middleware = [
	...
	'Stolz\HtmlTidy\Middleware',
];

Laravel 4

如果你仍在使用Laravel 4,而不是加载Stolz\HtmlTidy\ServiceProvider,请使用Stolz\HtmlTidy\LegacyServiceProvider,然后在你的routes.php文件中使用如下内容

// Register filter
Route::filter('tidy', function($route, $request, $response) {
	return app('stolz.tidy')->handle($request, $response);
});

// Use as an 'after' filter
Route::get('/', ['after' => 'tidy', function() {
	return View::make('home');
}]);

许可证

MIT许可证 © Stolz

阅读提供的LICENSE文件以获取详细信息。