Pixelarticons - Pixel Art Icons made simple for Flutter, powered by pixelarticons and fontify

Overview

#dart, #flutter, #package, #icons

Pixel Art Icons

Dart package to use pixelarticons in Flutter


⚠️ Original author

I'm neither the creator or the author of these icons, the original author is @halfmage on the pixelarticons

So, please if you like these icons, thanks to @halfmage! and show support on the original repository!

This package is just an automated tool to generate the font from the svg icons created by @halfmage

How to use

1. Install the package

You can also check the on pub.dev

flutter pub add pixelarticons

2. Import in to the project

Import wherever you want

import 'package:pixelarticons/pixelarticons.dart';

3. Use as IconData

pixelarticons is the same of Icons class but renamed to Pixel

Be aware:

  • Lower-case for all icons and no separators, for example card-plus is written as Pixel.cardplus
  • Icons that starts with non-alpha characters, like 4k, 4k-box, 4g are prefixed with k
  • Icons that are Dart keywords, like switch are prefix with k as well

So use k4k, k4kbox, kswitch instead

/// 4k icon:
Icon(Pixel.k4k)

/// switch icon:
Icon(Pixel.kswitch)

/// align-left icon:
Icon(Pixel.alignleft);

Why

You can download directly from the source, but you'll need convert all the svgs to font and generate the Dart classes... and you'll repeat the process if you want to include a new released icon in the future

So this library was made to fix this gap. Lets allow the machine do the hard work for us and we focus on the human and important part of using the icons to improve the UX and UI of the app

Contribute

As you can see, I'm not native English speaker, so this library certainly has many gramatical errors, typo, and wrong words. So if you have a proficient English you can contribute by fixing all these documentation errors!

If you can improve the tool, please, feel free to open a issue to discuss, I'll appreciate it!

Also, if you miss any icon, please ping me on the repository issues or Discord laks#1712, I'll take care to verify and trigger the update, thanks!

Flow

This library works automatically:

  • /download contains a python script that downloads svg from all icons of pixelarticons
  • /lib contains an entry point that exports the generated icon classes (generated by fontify)

This flow is powered by GitHub actions, and the triggers are:

  • scheduled: once a month we'll check if new icons are available, if so we'll update the pub.dev library otherwise we'll just ignore the possible update
  • manually: if we go to actions tab, we can trigger the flow.yaml action clicking run over the action card (need repo write access)

How to generate the icons

Environment

Dart SDK version: 2.14.4 (stable)
Python 3.9.9

Working dir: ~/

1. Download icons using Python

py download/download.py

2. Generate classes with fontify

Add fontify as global dependency

dart pub global activate fontify

Run fontify

dart pub global run fontify

Done, you'll see a folder called ~/release and a font ~/fonts/pixelarticons.otf

What you want is the font inside the ~/fonts folder, the ~/release folder should be ignored. Now you can publish or do whatever you want!

Breaking Change Exception

This means that this tool can't find the latest release of the pixelarticons repository

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)

Please fill a issue to see what is going wrong and do not worry: all current releases and versions will be available


Open Source

Copyright © 2022-present, Laks Castro.

Pixel Art Icons Dart Wrapper is MIT licensed 💖

Owner
lask
always failing but always trying
lask
OCR-ID-Card VietNamese (new id-card)

OCR-ID-Card VietNamese (new id-card) run project: download 2 file weights and pu

12 Jun 15, 2022
Uma versão em Python/Ursina do aplicativo Real Drum (android).

Real Drum Descrição Esta é uma versão alternativa feita em Python com a engine Ursina do aplicatio Real Drum (presente no Google Play Store). Como exe

hayukimori 5 Aug 20, 2022
IST-Website - IST Tutoring Portal for python

IST Tutoring Portal This portal is a web based interface to handle student help

Jean 3 Jan 03, 2022
an elegant datasets factory

rawbuilder an elegant datasets factory Free software: MIT license Documentation: https://rawbuilder.readthedocs.io. Features Schema oriented datasets

Mina Farag 7 Nov 12, 2022
Repo created for the purpose of adding any kind of programs and projects

Programs and Project Repository A repository for adding programs and projects of any kind starting from beginners level to expert ones Contributing to

Unicorn Dev Community 3 Nov 02, 2022
validation for pre-commit.ci configuration

pre-commit-ci-config validation for pre-commit.ci configuration installation pip install pre-commit-ci-config api pre_commit_ci_config.SCHEMA a cfgv s

pre-commit.ci 17 Jul 11, 2022
A simple string parser based on CLR to check whether a string is acceptable or not for a given grammar.

A simple string parser based on CLR to check whether a string is acceptable or not for a given grammar.

Bharath M Kulkarni 1 Dec 15, 2021
Minimalist BERT implementation assignment for CS11-747

minbert Assignment by Zhengbao Jiang, Shuyan Zhou, and Ritam Dutt This is an exercise in developing a minimalist version of BERT, part of Carnegie Mel

Graham Neubig 51 Jan 03, 2023
Placeholders is a single-unit storage solution for your Frontend.

Placeholder Placeholders is a single-unit file storage solution for your Frontend. Why Placeholder? Generally, when a website/service requests for fil

Tanmoy Sen Gupta 1 Nov 09, 2021
pvaPy provides Python bindings for EPICS pvAccess

PvaPy - PvAccess for Python The PvaPy package is a Python API for EPICS7. It supports both PVA and CA providers, all standard EPICS7 types (structures

EPICS Base 25 Dec 05, 2022
A promo calculator for sports betting odds.

Sportbetter Calculation Toolkit Parlay Calculator This is a quick parlay calculator that considers some of the common promos offered. It is used to id

Luke Bhan 1 Sep 08, 2022
Todo-backend - Todo backend with python

Todo-backend - Todo backend with python

Julio C. Diaz 1 Jan 07, 2022
Modify the value and status of the records KoboToolbox

Modify the value and status of the records KoboToolbox (Modica el valor y status de los registros de KoboToolbox)

1 Oct 30, 2021
PwnDatas-DB-Project(PDDP)

PwnDatas-DB-Project PwnDatas-DB-Project(PDDP) 安裝依賴: pip3 install pymediawiki 使用: cd /opt git https://github.com/JustYoomoon/PwnDatas-DB-Project.git c

21 Jul 16, 2021
GA SEI Unit 4 project backend for Bloom.

Grow Your OpportunitiesTM Background Watch the Bloom Intro Video At Bloom, we believe every job seeker deserves an opportunity to find meaningful work

Jonathan Herman 3 Sep 20, 2021
Chat meetup

FLiP-Meetup-Chat Chat meetup create function bin/pulsar-admin functions create --auto-ack true --jar pulsardjlexample-1.0.jar --classname "dev.pulsarf

Timothy Spann 1 Dec 09, 2021
A system for assigning and grading notebooks

nbgrader Linux: Windows: Forum: Coverage: Cite: A system for assigning and grading Jupyter notebooks. Documentation can be found on Read the Docs. Hig

Project Jupyter 1.2k Dec 26, 2022
py2dis - A disassembly engine & library for Python

py2dis - A disassembly engine & library for Python. py2dis is a disassembly library for Python that does not use any modules/libraries other than colo

3 Feb 04, 2022
Pardus-flatpak-gui - A Flatpak GUI for Pardus

Pardus Flatpak GUI A GUI for Flatpak. You can run, install (from FlatHub and fro

Erdem Ersoy 2 Feb 17, 2022
An After Effects render queue for ShotGrid Toolkit.

AEQueue An After Effects render queue for ShotGrid Toolkit. Features Render multiple comps to locations defined by templates in your Toolkit config. C

Brand New School 5 Nov 20, 2022