{"id":37008990,"url":"https://github.com/pkg-ru/imager-client","last_synced_at":"2026-01-14T00:51:29.024Z","repository":{"id":284001004,"uuid":"953520713","full_name":"pkg-ru/imager-client","owner":"pkg-ru","description":"Компонент для генерации ссылок на сжатые миниатюры картинок в микро-сервисе Imager.","archived":false,"fork":false,"pushed_at":"2025-03-23T20:40:38.000Z","size":91,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-23T13:53:11.878Z","etag":null,"topics":["golang","golang-package","javascript","javascript-package","php","php-package","python3","python3-package","typescript","typescript-package"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkg-ru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-23T15:03:04.000Z","updated_at":"2025-03-23T21:30:19.000Z","dependencies_parsed_at":"2025-03-23T16:33:00.417Z","dependency_job_id":null,"html_url":"https://github.com/pkg-ru/imager-client","commit_stats":null,"previous_names":["pkg-ru/imager-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pkg-ru/imager-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkg-ru%2Fimager-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkg-ru%2Fimager-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkg-ru%2Fimager-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkg-ru%2Fimager-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkg-ru","download_url":"https://codeload.github.com/pkg-ru/imager-client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkg-ru%2Fimager-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28407304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T00:40:43.272Z","status":"ssl_error","status_checked_at":"2026-01-14T00:40:42.636Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","golang-package","javascript","javascript-package","php","php-package","python3","python3-package","typescript","typescript-package"],"created_at":"2026-01-14T00:51:28.914Z","updated_at":"2026-01-14T00:51:29.004Z","avatar_url":"https://github.com/pkg-ru.png","language":"Go","readme":"# [Imager](https://github.com/pkg-ru/imager) Client\n\nКомпонент для генерации ссылок на сжатые миниатюры картинок в микро-сервисе **Imager**.\n\n\u003e Для работы нужно настроить и запустить [микро-сервис Imager](https://github.com/pkg-ru/imager).\n\n## Документация: **RU** / [EN](./doc/README-EN.md)\n\n- [Golang](./doc/GO-RU.md)\n- [PHP](./doc/PHP-RU.md)\n- [JavaScript (TS)](./doc/TS-RU.md)\n- [Python3](./doc/PY-RU.md)\n\n---\n\n### Общие сведения\n\n\u003cdetails\u003e\u003csummary\u003eИнициализация компонента\n\n**Imager**(_thumb_)\u003c/summary\u003e\n\n\u003e ##### _thumb_ - название настроек на сервере (по умолчанию: `default`)\n\u003e\n\u003e Можно передать массив настроек, кроме реализации на языке Go.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eНастройки обработки картинок на сервере\n\n**thumb**(_thumb_)\u003c/summary\u003e\n\n\u003e ##### _thumb_ - название настроек на сервере (по умолчанию: `default`)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eШирина картинки\n\n**width**(_width_)\u003c/summary\u003e\n\n\u003e ##### _width_ - ширина.\n\u003e\n\u003e Если передать `0`, то ширина не изменяется, и сохраняет свои пропорции относительно высоты.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eВысота картинки\n\n**height**(_height_)\u003c/summary\u003e\n\n\u003e ##### _height_ - высота.\n\u003e\n\u003e Если передать `0`, то высота не изменяется, и сохраняет свои пропорции относительно ширины.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eУстановка ширины и высоты изображения\n\n**size**(_width_, _height_)\u003c/summary\u003e\n\n\u003e ##### _width_ - ширина.\n\u003e\n\u003e Если передать `0`, то ширина не изменяется, и сохраняет свои пропорции относительно высоты.\n\n\u003e ##### _height_ - высота.\n\u003e\n\u003e Если передать `0`, то высота не изменяется, и сохраняет свои пропорции относительно ширины.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eОбрезка изображения в размер\n\n**crop**(_crop_)\u003c/summary\u003e\n\n\u003e ##### _crop_ - обрезка изображения (по умолчанию `false`).\n\u003e\n\u003e Если `true` — при установке ширины и высоты этот параметр масштабирует и обрезает картинку в указанный размер.  \n\u003e Если `false` — при установке ширины и высоты параметр масштабирует картинку в указанный размер.  \n\u003e Поля, которые образуются в результате масштабирования, закрашиваются установленным цветом или остаются прозрачными (если это возможно).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eПовтор анимации\n\n**loop**(_loop_)\u003c/summary\u003e\n\n\u003e ##### _loop_ - повтор анимации (по умолчанию `true`).\n\u003e\n\u003e Если `true` — анимация зацикливается.  \n\u003e Если `false` — анимация проигрывается 1 раз.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eЗаливка фона цветом\n\n**color**(_r_, _g_, _b_)\u003c/summary\u003e\n\n\u003e ##### _r_ - Красный.\n\u003e\n\u003e ##### _g_ - Зеленый.\n\u003e\n\u003e ##### _b_ - Синий.\n\u003e\n\u003e Устанавливает цвет заливки фона в RGB формате.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eОбрезание краев картинки\n\n**trim**(_active_, _rate_, _colors_)\u003c/summary\u003e\n\n\u003e ##### _active_ - активность фильтра.\n\u003e\n\u003e ##### _rate_ - степень сравнения цветов (чем ниже, тем точнее цвет).\n\u003e\n\u003e ##### _colors_ - список цветов в RGB формате: `[[255, 255, 255], [0, 0, 0]]`.\n\u003e\n\u003e С помощью этого фильтра можно обрезать картинку по прозрачным пикселям, черным/белым или любым другим цветам, которые находятся по краям (верх/низ/лево/право) картинки.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eАктивность обрезания краев картинки\n\n**trimActive**(_active_)\u003c/summary\u003e\n\n\u003e ##### _active_ - активность фильтра обрезания краев.\n\u003e\n\u003e Если `true` — обрезаем.  \n\u003e Если `false` — не обрезаем.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eСтепень сопоставления цвета для обрезания краев\n\n**trimRate**(_rate_)\u003c/summary\u003e\n\n\u003e ##### _rate_ - степень сопоставления цвета.\n\u003e\n\u003e Чем ниже это значение, тем точнее сопоставляется цвет.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eЦвета, которые будут обрезаны по краям\n\n**trimColors**(_colors_)\u003c/summary\u003e\n\n\u003e ##### _colors_ - список цветов.\n\u003e\n\u003e Список в RGB формате: `[[255, 255, 255], [0, 0, 0]]`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eКачество превью картинки\n\n**quality**(_quality_)\u003c/summary\u003e\n\n\u003e ##### _quality_ - качество результата.\n\u003e\n\u003e Чем ниже значение, тем хуже качество и меньше размер файла (не для файлов результата: gif/png).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eНастройка (кроме Go)\n\n**setting**(_setting_)\u003c/summary\u003e\n\n\u003e ##### _setting_ - список/массив настроек (кроме Go).\n\u003e\n\u003e Пример:\n\u003e\n\u003e ```js\n\u003e {\n\u003e # ширина\n\u003e 'width': 100,\n\u003e # высота\n\u003e 'height': 100,\n\u003e # качество\n\u003e 'quality': 85,\n\u003e # обрезка в размер\n\u003e 'crop': false,\n\u003e # повтор анимации\n\u003e 'loop': true,\n\u003e # цвет заливки\n\u003e 'color': [255, 255, 255],\n\u003e # обрезка краев\n\u003e 'trimActive': true,\n\u003e # степень сопоставления при обрезании краев\n\u003e 'trimRate': 20,\n\u003e # список цветов для обрезания краев\n\u003e 'trimColor': [[255, 255, 255], [0, 0, 0]],\n\u003e }\n\u003e ```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eКопирование, чтобы не вносить изменения в общий экземпляр\n\n**copy**() / **clone**()\u003c/summary\u003e\n\n\u003e Можно использовать для группировки по типам/настройкам ассетов.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eПолучение ссылки без изменения формата картинки\n\n**get**(_file_, _setting_)\u003c/summary\u003e\n\n\u003e ##### _file_ - путь к исходному файлу (относительно web).\n\u003e\n\u003e ##### _setting_ - список/массив настроек (кроме Go).\n\u003e\n\u003e Генерирует ссылку на ассет картинки по установленным параметрам, без изменения расширения исходного файла.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eПолучение ссылки с конвертацией в другой формат\n\n**convert**(_file_, _format_, _setting_)\u003c/summary\u003e\n\n\u003e ##### _file_ - путь к исходному файлу (относительно web).\n\u003e\n\u003e ##### _format_ - формат файла результата.\n\u003e\n\u003e ##### _setting_ - список/массив настроек (кроме Go).\n\u003e\n\u003e Генерирует ссылку на ассет картинки по установленным параметрам и с установленным расширением файла результата.\n\n\u003c/details\u003e\n\n---\n\n## Клонирование репозитория\n\n```bash\ngit clone https://github.com/pkg-ru/imager-client.git \u0026\u0026 cd imager-client\n```\n\n## Установка контейнера разработки\n\n```bash\ndocker compose build \u0026\u0026 docker compose start\n```\n\n## Запуск тестов\n\n```bash\ndocker exec -it imager-client bash -c \"go run test/*.go\"\n```\n\n## Сборка\n\n```bash\ndocker exec -it imager-client bash -c \"go run test/*.go \u0026\u0026 npm run build \u0026\u0026 python3 -m build\"\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkg-ru%2Fimager-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkg-ru%2Fimager-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkg-ru%2Fimager-client/lists"}