PHPackages                             kartovitskii/laracolor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. kartovitskii/laracolor

ActiveLibrary

kartovitskii/laracolor
======================

A Laravel package for generating consistent colors from strings

v1.1.0(2w ago)11↓100%MITPHPPHP ^8.0

Since Mar 6Pushed 2w agoCompare

[ Source](https://github.com/kartovitskii/Laracolor)[ Packagist](https://packagist.org/packages/kartovitskii/laracolor)[ RSS](/packages/kartovitskii-laracolor/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (4)Used By (0)

🎨 Laracolor
===========

[](#-laracolor)

[![Latest Version on Packagist](https://camo.githubusercontent.com/5e3202e5f0accbd605cbcc487aebafcd194e21d99965ce1d1b49ff42b0d02d57/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6172746f766974736b69692f6c617261636f6c6f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartovitskii/laracolor)[![Total Downloads](https://camo.githubusercontent.com/bf7dbdc62378dde9577b519638aac4201260cb8dc08a91cd11988aef33d75b5c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6172746f766974736b69692f6c617261636f6c6f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartovitskii/laracolor)[![License](https://camo.githubusercontent.com/bcc24e987daf827a3ed1a3c3728d0a74377da889d4532d60f40b78361d680de7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6b6172746f766974736b69692f6c617261636f6c6f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartovitskii/laracolor)[![PHP Version](https://camo.githubusercontent.com/0cc760d27d7c7ce0e0ea8777640affcec28b2657aaebcf898931c71e0750df20/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6b6172746f766974736b69692f6c617261636f6c6f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kartovitskii/laracolor)

**Laracolor** - это элегантный пакет для Laravel, который генерирует консистентные цвета на основе любой строки. Идеально подходит для создания цветных аватарок, тегов, категорий и других элементов интерфейса.

✨ Особенности
-------------

[](#-особенности)

- 🎯 **Консистентная генерация** - одинаковый ввод всегда дает одинаковый цвет
- 🎨 **8 готовых палитр** - от пастельных до ярких
- ⚙️ **Гибкая настройка** - кастомные диапазоны saturation и lightness
- 🌈 **HSL и RGB поддержка** - работайте с цветами в любом формате
- 🎭 **Контрастные цвета** - автоматический подбор цвета текста
- 📊 **Генерация градиентов** - создавайте цветовые схемы
- 🚀 **Кэширование** - оптимизация производительности
- 🔧 **Configurable** - настройка через .env и конфиг

📦 Установка
-----------

[](#-установка)

Установите пакет через Composer:

```
composer require kartovitskii/laracolor
```

### Публикация конфигурации

[](#публикация-конфигурации)

```
php artisan vendor:publish --provider="Kartovitskii\Laracolor\ColorServiceProvider" --tag="laracolor-config"
```

🚀 Быстрый старт
---------------

[](#-быстрый-старт)

### Базовое использование

[](#базовое-использование)

```
use Kartovitskii\Laracolor\Facades\Laracolor;

// Генерация цвета для пользователя
$color = Laracolor::fromString('john.doe@example.com');
// Результат: #d4b8b8 (пастельно-розовый)

// Для аватарок пользователей
$userColor = Laracolor::fromString(auth()->user()->email);
```

### В Blade шаблонах

[](#в-blade-шаблонах)

```

    {{ substr($user->name, 0, 1) }}

    {{ substr($user->name, 0, 1) }}

```

🎨 Палитры
---------

[](#-палитры)

Laracolor поддерживает 8 различных палитр:

ПалитраОписаниеПример`pastel`Мягкие, приглушенные тона🎨 `#d4b8b8`, `#b8d4c8``vibrant`Насыщенные, яркие цвета🎨 `#ff6b6b`, `#4ecdc4``dark`Темные, глубокие оттенки🎨 `#2c3e50`, `#34495e``light`Светлые, воздушные тона🎨 `#f8f9fa`, `#e9ecef``muted`Спокойные, неброские цвета🎨 `#95a5a6`, `#7f8c8d``warm`Теплые оттенки (красные, оранжевые)🎨 `#e67e22`, `#d35400``cold`Холодные тона (синие, фиолетовые)🎨 `#3498db`, `#9b59b6``random`Полностью случайные цвета### Использование палитр

[](#использование-палитр)

```
// Пастельные тона (по умолчанию)
$pastel = Laracolor::fromString('user1');

// Яркие цвета
$vibrant = Laracolor::setPalette('vibrant')->fromString('user2');

// Теплые оттенки
$warm = Laracolor::setPalette('warm')->fromString('user3');
```

📚 Документация
--------------

[](#-документация)

#### `fromString(string $string): string`

[](#fromstringstring-string-string)

Генерирует HEX-цвет на основе строки.

```
$hex = Laracolor::fromString('hello world'); // #c4d4b8
```

#### `toRgb(string $string): array`

[](#torgbstring-string-array)

Возвращает RGB значения.

```
$rgb = Laracolor::toRgb('hello world');
// ['red' => 196, 'green' => 212, 'blue' => 184]
```

#### `toHsl(string $string): array`

[](#tohslstring-string-array)

Возвращает HSL значения.

```
$hsl = Laracolor::toHsl('hello world');
// ['hue' => 85.71, 'saturation' => 45.5, 'lightness' => 82.5]
```

### Дополнительные методы

[](#дополнительные-методы)

#### `getContrastColor(string $string): string`

[](#getcontrastcolorstring-string-string)

Возвращает черный или белый цвет для контрастного текста.

```
$bgColor = Laracolor::fromString('user');
$textColor = Laracolor::getContrastColor('user');
// Используйте $textColor для текста на фоне $bgColor
```

#### `getGradient(string $string, int $steps = 5): array`

[](#getgradientstring-string-int-steps--5-array)

Генерирует градиент из указанного количества цветов.

```
$gradient = Laracolor::getGradient('brand', 5);
// ['#8ba3c7', '#9bb3d7', '#abc3e7', '#bbd3f7', '#cbe3ff']
```

### Настройка палитр

[](#настройка-палитр)

#### Через методы

[](#через-методы)

```
$customColor = Laracolor::setSaturationRange(40, 60)
    ->setLightnessRange(50, 70)
    ->setHueOffset(120) // смещение оттенка
    ->fromString('custom');
```

#### Через конфигурацию

[](#через-конфигурацию)

```
// config/laracolor.php
'custom_ranges' => [
    'saturation' => [
        'min' => 40,
        'max' => 60,
    ],
    'lightness' => [
        'min' => 50,
        'max' => 70,
    ],
],
```

⚡ Кэширование
-------------

[](#-кэширование)

Включите кэширование для улучшения производительности:

```
LARACOLOR_CACHE_ENABLED=true
LARACOLOR_CACHE_TTL=3600
```

###  Health Score

38

—

LowBetter than 86% of packages

Maintenance97

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

15d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/428bcd667776fa1e4b194526938adb48ab23399585ea285486169fb744537c6b?d=identicon)[kartovitskii](/maintainers/kartovitskii)

### Embed Badge

![Health badge](/badges/kartovitskii-laracolor/health.svg)

```
[![Health](https://phpackages.com/badges/kartovitskii-laracolor/health.svg)](https://phpackages.com/packages/kartovitskii-laracolor)
```

###  Alternatives

[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169175.3k2](/packages/spatie-laravel-mix-preload)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
