htmlminn/htmlminn 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

htmlminn/htmlminn

最新稳定版本:v1.0.0

Composer 安装命令:

composer require htmlminn/htmlminn

包简介

HTMLMin Is A Simple HTML Minifier For Laravel

README 文档

README

Laravel HTMLMin, developed by Kenan Gündoğan, is a simple HTML minifier package for Laravel. This package uses Mr Clay's Minify library to minify entire HTTP responses. It can also minify Blade views at compile time.

Software License

Installation

Laravel HTMLMin requires PHP 7.3+ and is compatible with Laravel 7.x, 8.x, 9.x, 10.x, and 11.x. You can install the package using Composer:

composer require kenangundogan/htmlmin

Automatic Loading

The package is automatically loaded using Laravel's extra configuration. There is no need to manually register the Service Provider.

Configuration

Laravel HTMLMin configuration is optional. You can publish the configuration file using the following command:

php artisan vendor:publish

This will create a config/htmlmin.php file, which you can modify to suit your project's needs.

Configuration Options

  1. Automatic Blade Optimizations (blade)
    Enables automatic minification of Blade views during compilation.
    Default: false

  2. Force Blade Optimizations (force)
    Forces minification even on risky Blade views. Use with caution.
    Default: false

  3. Ignore Blade Files (ignore)
    Specify file paths to exclude from minification.
    Example:

    'ignore' => [
        'resources/views/emails',
        'resources/views/markdown',
    ],

Usage

HTMLMin Class

The HTMLMin class is bound to the IOC container as htmlmin and provides the following methods:

  • blade($value): Quickly minifies a Blade string.
  • css($value): Minifies CSS content.
  • js($value): Minifies JavaScript content.
  • html($value): Minifies HTML content, including inline CSS and JS.

Example Usage:

use HTMLMin\HTMLMin\Facades\HTMLMin;

echo HTMLMin::html('<div>   <p> Hello World! </p>   </div>');

Middleware Usage

You can use middleware to minify HTML responses live. Add the middleware to your routes:

use HTMLMin\HTMLMin\Http\Middleware\MinifyMiddleware;

Route::middleware([MinifyMiddleware::class])->group(function () {
    Route::get('/', function () {
        return view('welcome');
    });
});

Note: Middleware runs on every request and may have a performance cost. For better performance, consider using Blade minification.

Skipping Minification

If you want to exclude certain files or views from minification:

  • Using Config:
    Add file paths to the ignore setting in config/htmlmin.php.
  • Using HTML Comments:
    Add the following comment within the file:
    <!-- skip.minification -->

Clearing Cache

To apply changes, you may need to clear Laravel's view cache:

php artisan view:clear

License

Laravel HTMLMin is licensed under the MIT License.

统计信息

  • 总下载量: 368
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-06-21