{"id":26548704,"url":"https://github.com/cable8mm/view-transformer","last_synced_at":"2026-05-09T17:48:31.770Z","repository":{"id":220267863,"uuid":"269027453","full_name":"cable8mm/view-transformer","owner":"cable8mm","description":"View Transformer make profile image or name if client's information is empty.","archived":false,"fork":false,"pushed_at":"2025-03-11T11:51:54.000Z","size":179,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T12:16:54.321Z","etag":null,"topics":["api","avatar","cats","dogs","image","php"],"latest_commit_sha":null,"homepage":"https://www.palgle.com/view-transformer/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cable8mm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-06-03T08:05:47.000Z","updated_at":"2025-03-11T11:51:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"62562037-2a3f-4214-933e-f1a05fd08856","html_url":"https://github.com/cable8mm/view-transformer","commit_stats":null,"previous_names":["esc-company/view-transformer","companimal/view-transformer","cable8mm/view-transformer"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fview-transformer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fview-transformer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fview-transformer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fview-transformer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cable8mm","download_url":"https://codeload.github.com/cable8mm/view-transformer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244918586,"owners_count":20531683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","avatar","cats","dogs","image","php"],"created_at":"2025-03-22T06:32:44.086Z","updated_at":"2026-05-09T17:48:26.742Z","avatar_url":"https://github.com/cable8mm.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# View Transformer\n\n[![code-style](https://github.com/cable8mm/view-transformer/actions/workflows/code-style.yml/badge.svg)](https://github.com/cable8mm/view-transformer/actions/workflows/code-style.yml)\n[![run-tests](https://github.com/cable8mm/view-transformer/actions/workflows/run-tests.yml/badge.svg)](https://github.com/cable8mm/view-transformer/actions/workflows/run-tests.yml)\n[![Packagist Version](https://img.shields.io/packagist/v/cable8mm/view-transformer)](https://packagist.org/packages/cable8mm/view-transformer)\n[![Packagist Downloads](https://img.shields.io/packagist/dt/cable8mm/view-transformer)](https://packagist.org/packages/cable8mm/view-transformer/stats)\n[![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/cable8mm/view-transformer/php)](https://packagist.org/packages/cable8mm/view-transformer)\n[![Packagist Stars](https://img.shields.io/packagist/stars/cable8mm/view-transformer)](https://github.com/cable8mm/view-transformer/stargazers)\n[![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC_BY--NC--ND_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n[![Packagist License](https://img.shields.io/packagist/l/cable8mm/view-transformer)](https://github.com/cable8mm/view-transformer/blob/main/LICENSE.md)\n\nThis API allows you to freely use names and images of dogs and cats without any limits. These images are hosted on [GitHub Pages](https://github.com/cable8mm/cabinet-pets) with the domain cabinet-pets.palgle.com. Additionally, WordPress contents can be converted to HTML, including YouTube embed tags.\n\nThis repository is licensed under the MIT license, and the artworks are licensed under the [CC BY-NC-ND 4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1). For more information, visit: \u003chttps://github.com/cable8mm/cabinet-pets\u003e.\n\nWe have provided the API Documentation on the web. For more information, please visit \u003chttps://palgle.com/view-transformer/\u003e ❤️\n\n## Features\n\n- [x] 4,080 names for a dog or a cat without any limits\n- [x] 81 images for a dog under [CC BY-NC-ND 4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1)\n- [x] 40 images for a cat under [CC BY-NC-ND 4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1)\n\n## Preview\n\n### Dog artworks\n\n![Dog 1](https://cabinet-pets.palgle.com/avatars/dog/medium/1.png)\n![Dog 2](https://cabinet-pets.palgle.com/avatars/dog/medium/2.png)\n![Dog 3](https://cabinet-pets.palgle.com/avatars/dog/medium/3.png)\n![Dog 4](https://cabinet-pets.palgle.com/avatars/dog/medium/4.png)\n![Dog 5](https://cabinet-pets.palgle.com/avatars/dog/medium/5.png)\n![Dog 6](https://cabinet-pets.palgle.com/avatars/dog/medium/6.png)\n![Dog 7](https://cabinet-pets.palgle.com/avatars/dog/medium/7.png)\n![Dog 8](https://cabinet-pets.palgle.com/avatars/dog/medium/8.png)\n![Dog 9](https://cabinet-pets.palgle.com/avatars/dog/medium/9.png)\n![Dog 10](https://cabinet-pets.palgle.com/avatars/dog/medium/10.png)\n![Dog 11](https://cabinet-pets.palgle.com/avatars/dog/medium/11.png)\n![Dog 12](https://cabinet-pets.palgle.com/avatars/dog/medium/12.png)\n![Dog 13](https://cabinet-pets.palgle.com/avatars/dog/medium/13.png)\n![Dog 14](https://cabinet-pets.palgle.com/avatars/dog/medium/14.png)\n![Dog 15](https://cabinet-pets.palgle.com/avatars/dog/medium/15.png)\n![Dog 16](https://cabinet-pets.palgle.com/avatars/dog/medium/16.png)\n![Dog 17](https://cabinet-pets.palgle.com/avatars/dog/medium/17.png)\n![Dog 18](https://cabinet-pets.palgle.com/avatars/dog/medium/18.png)\n![Dog 19](https://cabinet-pets.palgle.com/avatars/dog/medium/19.png)\n![Dog 20](https://cabinet-pets.palgle.com/avatars/dog/medium/20.png)\n![Dog 21](https://cabinet-pets.palgle.com/avatars/dog/medium/21.png)\n![Dog 22](https://cabinet-pets.palgle.com/avatars/dog/medium/22.png)\n![Dog 23](https://cabinet-pets.palgle.com/avatars/dog/medium/23.png)\n![Dog 24](https://cabinet-pets.palgle.com/avatars/dog/medium/24.png)\n![Dog 25](https://cabinet-pets.palgle.com/avatars/dog/medium/25.png)\n![Dog 26](https://cabinet-pets.palgle.com/avatars/dog/medium/26.png)\n![Dog 27](https://cabinet-pets.palgle.com/avatars/dog/medium/27.png)\n![Dog 28](https://cabinet-pets.palgle.com/avatars/dog/medium/28.png)\n![Dog 29](https://cabinet-pets.palgle.com/avatars/dog/medium/29.png)\n![Dog 30](https://cabinet-pets.palgle.com/avatars/dog/medium/30.png)\n![Dog 31](https://cabinet-pets.palgle.com/avatars/dog/medium/31.png)\n![Dog 32](https://cabinet-pets.palgle.com/avatars/dog/medium/32.png)\n![Dog 33](https://cabinet-pets.palgle.com/avatars/dog/medium/33.png)\n![Dog 34](https://cabinet-pets.palgle.com/avatars/dog/medium/34.png)\n![Dog 35](https://cabinet-pets.palgle.com/avatars/dog/medium/35.png)\n![Dog 36](https://cabinet-pets.palgle.com/avatars/dog/medium/36.png)\n![Dog 37](https://cabinet-pets.palgle.com/avatars/dog/medium/37.png)\n![Dog 38](https://cabinet-pets.palgle.com/avatars/dog/medium/38.png)\n![Dog 39](https://cabinet-pets.palgle.com/avatars/dog/medium/39.png)\n![Dog 40](https://cabinet-pets.palgle.com/avatars/dog/medium/40.png)\n![Dog 41](https://cabinet-pets.palgle.com/avatars/dog/medium/41.png)\n![Dog 42](https://cabinet-pets.palgle.com/avatars/dog/medium/42.png)\n![Dog 43](https://cabinet-pets.palgle.com/avatars/dog/medium/43.png)\n![Dog 44](https://cabinet-pets.palgle.com/avatars/dog/medium/44.png)\n![Dog 45](https://cabinet-pets.palgle.com/avatars/dog/medium/45.png)\n![Dog 46](https://cabinet-pets.palgle.com/avatars/dog/medium/46.png)\n![Dog 47](https://cabinet-pets.palgle.com/avatars/dog/medium/47.png)\n![Dog 48](https://cabinet-pets.palgle.com/avatars/dog/medium/48.png)\n![Dog 49](https://cabinet-pets.palgle.com/avatars/dog/medium/49.png)\n![Dog 50](https://cabinet-pets.palgle.com/avatars/dog/medium/50.png)\n![Dog 51](https://cabinet-pets.palgle.com/avatars/dog/medium/51.png)\n![Dog 52](https://cabinet-pets.palgle.com/avatars/dog/medium/52.png)\n![Dog 53](https://cabinet-pets.palgle.com/avatars/dog/medium/53.png)\n![Dog 54](https://cabinet-pets.palgle.com/avatars/dog/medium/54.png)\n![Dog 55](https://cabinet-pets.palgle.com/avatars/dog/medium/55.png)\n![Dog 56](https://cabinet-pets.palgle.com/avatars/dog/medium/56.png)\n![Dog 57](https://cabinet-pets.palgle.com/avatars/dog/medium/57.png)\n![Dog 58](https://cabinet-pets.palgle.com/avatars/dog/medium/58.png)\n![Dog 59](https://cabinet-pets.palgle.com/avatars/dog/medium/59.png)\n![Dog 60](https://cabinet-pets.palgle.com/avatars/dog/medium/60.png)\n![Dog 61](https://cabinet-pets.palgle.com/avatars/dog/medium/61.png)\n![Dog 62](https://cabinet-pets.palgle.com/avatars/dog/medium/62.png)\n![Dog 63](https://cabinet-pets.palgle.com/avatars/dog/medium/63.png)\n![Dog 64](https://cabinet-pets.palgle.com/avatars/dog/medium/64.png)\n![Dog 65](https://cabinet-pets.palgle.com/avatars/dog/medium/65.png)\n![Dog 66](https://cabinet-pets.palgle.com/avatars/dog/medium/66.png)\n![Dog 67](https://cabinet-pets.palgle.com/avatars/dog/medium/67.png)\n![Dog 68](https://cabinet-pets.palgle.com/avatars/dog/medium/68.png)\n![Dog 69](https://cabinet-pets.palgle.com/avatars/dog/medium/69.png)\n![Dog 70](https://cabinet-pets.palgle.com/avatars/dog/medium/70.png)\n![Dog 71](https://cabinet-pets.palgle.com/avatars/dog/medium/71.png)\n![Dog 72](https://cabinet-pets.palgle.com/avatars/dog/medium/72.png)\n![Dog 73](https://cabinet-pets.palgle.com/avatars/dog/medium/73.png)\n![Dog 74](https://cabinet-pets.palgle.com/avatars/dog/medium/74.png)\n![Dog 75](https://cabinet-pets.palgle.com/avatars/dog/medium/75.png)\n![Dog 76](https://cabinet-pets.palgle.com/avatars/dog/medium/76.png)\n![Dog 77](https://cabinet-pets.palgle.com/avatars/dog/medium/77.png)\n![Dog 78](https://cabinet-pets.palgle.com/avatars/dog/medium/78.png)\n![Dog 79](https://cabinet-pets.palgle.com/avatars/dog/medium/79.png)\n![Dog 80](https://cabinet-pets.palgle.com/avatars/dog/medium/80.png)\n\n### Cat artworks\n\n![Cat 1](https://cabinet-pets.palgle.com/avatars/cat/medium/1.png)\n![Cat 2](https://cabinet-pets.palgle.com/avatars/cat/medium/2.png)\n![Cat 3](https://cabinet-pets.palgle.com/avatars/cat/medium/3.png)\n![Cat 4](https://cabinet-pets.palgle.com/avatars/cat/medium/4.png)\n![Cat 5](https://cabinet-pets.palgle.com/avatars/cat/medium/5.png)\n![Cat 6](https://cabinet-pets.palgle.com/avatars/cat/medium/6.png)\n![Cat 7](https://cabinet-pets.palgle.com/avatars/cat/medium/7.png)\n![Cat 8](https://cabinet-pets.palgle.com/avatars/cat/medium/8.png)\n![Cat 9](https://cabinet-pets.palgle.com/avatars/cat/medium/9.png)\n![Cat 10](https://cabinet-pets.palgle.com/avatars/cat/medium/10.png)\n![Cat 11](https://cabinet-pets.palgle.com/avatars/cat/medium/11.png)\n![Cat 12](https://cabinet-pets.palgle.com/avatars/cat/medium/12.png)\n![Cat 13](https://cabinet-pets.palgle.com/avatars/cat/medium/13.png)\n![Cat 14](https://cabinet-pets.palgle.com/avatars/cat/medium/14.png)\n![Cat 15](https://cabinet-pets.palgle.com/avatars/cat/medium/15.png)\n![Cat 16](https://cabinet-pets.palgle.com/avatars/cat/medium/16.png)\n![Cat 17](https://cabinet-pets.palgle.com/avatars/cat/medium/17.png)\n![Cat 18](https://cabinet-pets.palgle.com/avatars/cat/medium/18.png)\n![Cat 19](https://cabinet-pets.palgle.com/avatars/cat/medium/19.png)\n![Cat 20](https://cabinet-pets.palgle.com/avatars/cat/medium/20.png)\n![Cat 21](https://cabinet-pets.palgle.com/avatars/cat/medium/21.png)\n![Cat 22](https://cabinet-pets.palgle.com/avatars/cat/medium/22.png)\n![Cat 23](https://cabinet-pets.palgle.com/avatars/cat/medium/23.png)\n![Cat 24](https://cabinet-pets.palgle.com/avatars/cat/medium/24.png)\n![Cat 25](https://cabinet-pets.palgle.com/avatars/cat/medium/25.png)\n![Cat 26](https://cabinet-pets.palgle.com/avatars/cat/medium/26.png)\n![Cat 27](https://cabinet-pets.palgle.com/avatars/cat/medium/27.png)\n![Cat 28](https://cabinet-pets.palgle.com/avatars/cat/medium/28.png)\n![Cat 29](https://cabinet-pets.palgle.com/avatars/cat/medium/29.png)\n![Cat 30](https://cabinet-pets.palgle.com/avatars/cat/medium/30.png)\n![Cat 31](https://cabinet-pets.palgle.com/avatars/cat/medium/31.png)\n![Cat 32](https://cabinet-pets.palgle.com/avatars/cat/medium/32.png)\n![Cat 33](https://cabinet-pets.palgle.com/avatars/cat/medium/33.png)\n![Cat 34](https://cabinet-pets.palgle.com/avatars/cat/medium/34.png)\n![Cat 35](https://cabinet-pets.palgle.com/avatars/cat/medium/35.png)\n![Cat 36](https://cabinet-pets.palgle.com/avatars/cat/medium/36.png)\n![Cat 37](https://cabinet-pets.palgle.com/avatars/cat/medium/37.png)\n![Cat 38](https://cabinet-pets.palgle.com/avatars/cat/medium/38.png)\n![Cat 39](https://cabinet-pets.palgle.com/avatars/cat/medium/39.png)\n![Cat 40](https://cabinet-pets.palgle.com/avatars/cat/medium/40.png)\n![Cat 41](https://cabinet-pets.palgle.com/avatars/cat/medium/41.png)\n\n## Installation\n\n```sh\ncomposer require cable8mm/view-transformer\n```\n\n## Usage\n\n### APIs\n\nThe number 393939 would be better utilized as a user ID.\n\n```php\nuse Cable8mm\\ViewTransformer\\PrettyProfile;\n\nPrettyProfile::getInstance()-\u003enickname(393939)\n// get a nickname.\n\nprint PrettyProfile::getInstance()-\u003ecat(393939);\nprint PrettyProfile::getInstance()-\u003ecat(393939, 'large');\n// The second argument can be 'large', 'medium', or 'small'. Null indicates the original size.\n\nprint PrettyProfile::getInstance()-\u003edog(393939);\nprint PrettyProfile::getInstance()-\u003edog(393939, 'large');\n\nprint PrettyProfile::getInstance()-\u003ecats();\n// All cat images\nprint PrettyProfile::getInstance()-\u003ecats('medium');\n// All cat images in medium size\n\nprint PrettyProfile::getInstance()-\u003edogs();\nprint PrettyProfile::getInstance()-\u003edogs('medium');\n```\n\n### Various cases\n\nIt has been designed to retrieve an image by user ID, even if the ID is a large number.\n\n```php\nuse Cable8mm\\ViewTransformer\\PrettyProfile;\n\nprint PrettyProfile::getInstance()-\u003enickname(1)\n//=\u003e 평범한 네벨룽;\n```\n\n```php\nuse Cable8mm\\ViewTransformer\\PrettyProfile;\n\nprint PrettyProfile::getInstance()-\u003ecat(1);\n//=\u003e https://cabinet-pets.palgle.com/avatars/cat/1.png;\n```\n\nYou can use it as follows in Laravel Blade:\n\n```blade\n{{ PrettyProfileHelper::profileImage(4123, animal:'dog') }}\n{{-- ==\u003e https://cabinet-pets.palgle.com/avatars/dog/43.png --}}\n```\n\nPreview can be generated using the following code:\n\n```php\nuse Cable8mm\\ViewTransformer\\PrettyProfile;\n\n$dogs = PrettyProfile::getInstance()-\u003edogs('medium');\n\narray_map(\n    fn($item, $key) =\u003e print '![Dog '.$key.']('.$item.')'.PHP_EOL,\n    $dogs,\n    array_keys($dogs)\n);\n//=\u003e ![Dog 1](https://cabinet-pets.palgle.com/avatars/dog/1.png)...\n\n$cats = PrettyProfile::getInstance()-\u003ecats('medium');\n\narray_map(\n    fn($item, $key) =\u003e print '![Cat '.$key.']('.$item.')'.PHP_EOL,\n    $cats,\n    array_keys($cats)\n);\n//=\u003e ![Cat 1](https://cabinet-pets.palgle.com/avatars/cat/1.png)...\n```\n\n## Formatting\n\n```bash\ncomposer lint\n# Modify all files to comply with the PSR-12.\n\ncomposer inspect\n# Inspect all files to ensure compliance with PSR-12.\n```\n\n## Test\n\n```sh\ncomposer test\n```\n\n## License\n\nThe View Transformer project is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n[Artworks](https://github.com/cable8mm/cabinet-pets) © 2020 by [Samgu Lee](https://github.com/cable8mm) is licensed under CC BY-NC-ND 4.0. To view a copy of this license, visit \u003chttp://creativecommons.org/licenses/by-nc-nd/4.0/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcable8mm%2Fview-transformer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcable8mm%2Fview-transformer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcable8mm%2Fview-transformer/lists"}