{"id":27362669,"url":"https://github.com/alexcmgit/pixelarticons","last_synced_at":"2025-04-13T03:32:40.253Z","repository":{"id":42497177,"uuid":"455850776","full_name":"alexcmgit/pixelarticons","owner":"alexcmgit","description":"Pixel Art Icons made simple for Flutter, powered by pixelarticons and fontify.","archived":false,"fork":false,"pushed_at":"2024-05-01T00:02:18.000Z","size":24,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T16:08:36.356Z","etag":null,"topics":["art","collection","dart","font","icons","pixel","s1","ui"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/pixelarticons","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexcmgit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-02-05T11:27:21.000Z","updated_at":"2025-03-03T17:48:14.000Z","dependencies_parsed_at":"2024-11-15T11:11:16.745Z","dependency_job_id":null,"html_url":"https://github.com/alexcmgit/pixelarticons","commit_stats":{"total_commits":67,"total_committers":4,"mean_commits":16.75,"dds":0.3731343283582089,"last_synced_commit":"c61f405a80a3d120a7b6a385d0c53d33a1ff23a9"},"previous_names":["alexcmgit/pixelarticons"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fpixelarticons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fpixelarticons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fpixelarticons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fpixelarticons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexcmgit","download_url":"https://codeload.github.com/alexcmgit/pixelarticons/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248659654,"owners_count":21141153,"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":["art","collection","dart","font","icons","pixel","s1","ui"],"created_at":"2025-04-13T03:32:09.594Z","updated_at":"2025-04-13T03:32:40.244Z","avatar_url":"https://github.com/alexcmgit.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pixel Art Icons package for Flutter\n\n\u003ca href=\"https://pub.dartlang.org/packages/pixelarticons\"\u003e\u003cimg src=\"https://img.shields.io/pub/v/pixelarticons.svg\" /\u003e\u003c/a\u003e\n\nThis package provides a set of pixel art icons as font for Flutter, it can be used in the same way we use `Icons` class.\n\n- See all available icons at https://pixelarticons.com/free/.\n- Get the Figma file at https://www.figma.com/community/file/952542622393317653.\n\nIcon set created by [@halfmage](https://github.com/halfmage), if you like this free icon set you will also like the [premium ones](https://halfmage.gumroad.com/).\n\n\u003cdetails\u003e\n  \u003csummary\u003eShow preview\u003c/summary\u003e\n\n![Pixelarticons - Frame](https://user-images.githubusercontent.com/51419598/220436077-1a1bd414-5f5c-42c6-a283-d6bc16be5259.png#gh-dark-mode-only)\n![Pixelarticons - Frame](https://user-images.githubusercontent.com/51419598/220445395-9118b275-6c62-4552-95fe-27730c656d0d.png#gh-light-mode-only)\n\n\u003c/details\u003e\n\n## Install the package\n\nYou can check the latest version on [pub.dev/pixelarticons](https://pub.dartlang.org/packages/pixelarticons).\n\n```yaml\ndependencies:\n  # ...\n  pixelarticons: \u003clatest-version\u003e\n  # ...\n```\n\nor run:\n\n```shell\nflutter pub add pixelarticons\n```\n\n## Import the package\n\nImport wherever you want:\n\n```dart\nimport 'package:pixelarticons/pixelarticons.dart';\n```\n\n## Use as `IconData`\n\n`pixelarticons` package uses the `IconData` class, so the usage is pretty much the same of the `Icons` class but renamed to `Pixel`.\n\nBe aware:\n\n- **Lower-case for all icons and no separators**, for example `card-plus` is written as `Pixel.cardplus`.\n- Icons that **starts with non-alpha characters**, like `4k`, `4k-box`, `4g` are prefixed with `k`.\n- Icons that are Dart keywords, like `switch` are prefix with `k` as well.\n\nSo use `k4k`, `k4kbox`, `kswitch` instead.\n\nIcon full list https://pixelarticons.com/free/.\n\n```dart\n/// 4k icon:\nIcon(Pixel.k4k)\n\n/// switch icon:\nIcon(Pixel.kswitch)\n\n/// align-left icon:\nIcon(Pixel.alignleft);\n```\n\n---\n\n## Purpose of this library\n\nThe process of including svgs as icons in Flutter is really boring:\n\n1. Convert svg to font, you can choose a [raw method](https://stackoverflow.com/questions/13278707/how-can-i-convert-svg-files-to-a-font) for instance.\n2. Import the icon font in the Flutter assets.\n3. Create a class mapping each font charcode to a named static field.\n4. Then you are (probably) ready to use your svgs as icons.\n\nThis library automates this process for [pixel art icons](https://pixelarticons.com/).\n\n## Contribute\n\nUse the issues tab to discuss new features and bug reports.\n\n## How it works\n\nFirst we check [if there's a new update available](https://github.com/alexrintt/pixelarticons/blob/main/autoupdate/lib/has_new_release.dart) from the [pixel art icons repository](https://github.com/halfmage/pixelarticons):\n\nhttps://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/autoupdate/lib/has_new_release.dart#L8-L10\n\nWe use a [custom key in the `pubspec.yaml`](https://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/pubspec.yaml#L5) file to compare the current published version of pixel art icons with the latest repository pixel art icons version.\n\nIf there is no update available, ignore it:\n\nhttps://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/.github/workflows/flow.yaml#L12-L31\n\nOtherwise, update the `pubspec.yaml` with the latest pixel art icons repository version and push the new commit:\n\nhttps://github.com/alexrintt/pixelarticons/blob/cfc1919b7f23203ba40fb3ab69b859226e8ed9e0/.github/workflows/flow.yaml#L40-L53\n\nNow that we are up-to-date with the latest repository version in theory (since we just updated the version info), lets actually download the pixel art icons svgs, generate the font and the Dart font class:\n\nhttps://github.com/alexrintt/pixelarticons/blob/cfc1919b7f23203ba40fb3ab69b859226e8ed9e0/.github/workflows/flow.yaml#L55-L65\n\nNote that the fontify library knows how to find the files because we defined the configuration in the `pubspec.yaml`:\n\nhttps://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/pubspec.yaml#L29-L43\n\nNow, the package is ready to be published, so we do it right after:\n\nhttps://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/.github/workflows/flow.yaml#L67-L84\n\nNote that the pub credentials are generated after you publish the package for the first time, so the first release of your automated tool must be manual, then you copy the credentials generated in your local machine to the GitHub secrets. I did this several years ago, so I don't know if there is a new method to auth on pub.dev.\n\n---\n\nThis flow is triggered by a cron that runs every 15 days or manually:\n\nhttps://github.com/alexrintt/pixelarticons/blob/96354a3b1e067484c743e016282c38ef6b03cf57/.github/workflows/flow.yaml#L1-L6\n\n## Run locally\n\nTo run locally, follow the same steps as the [`flow.yaml` action](https://github.com/alexrintt/pixelarticons/blob/main/.github/workflows/flow.yaml).\n\nThe working directory is the repository root.\n\nRequired environment:\n\n```\nDart SDK version: 2.14.4 (stable)\nPython 3.9.9\n```\n\n## Breaking Change Exception\n\nThis means that this tool can't find the latest release of the [pixelarticons](https://github.com/halfmage/pixelarticons) repository.\n\n**But this can have several causes**, so the best way to fix that is to first figure out where the icons are located in the original repository and then update the `~/download/download.py` script to fix/cover the breaking changes **if they exists** (this error can also be caused by a simple python exception).\n\nPlease fill a issue to see what is going wrong and do not worry: all current releases and versions will be available.\n\n\u003cbr\u003e\n\n\u003csamp\u003e\n\n\u003ch2 align=\"center\"\u003e\n  Open Source\n\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eCopyright © 2022-present, Alex Rintt.\u003c/sub\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003ePixel Art Icons Dart Wrapper \u003ca href=\"https://github.com/alexrintt/pixelarticons/blob/main/LICENSE\"\u003eis MIT licensed \u003c/a\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/51419598/152648448-82403d04-c90a-44e7-ae9c-797228864985.png\" width=\"35\" /\u003e\n\u003c/p\u003e\n  \n\u003c/samp\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexcmgit%2Fpixelarticons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexcmgit%2Fpixelarticons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexcmgit%2Fpixelarticons/lists"}