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
SciPy library main repository

SciPy SciPy (pronounced "Sigh Pie") is an open-source software for mathematics, science, and engineering. It includes modules for statistics, optimiza

SciPy 10.7k Jan 09, 2023
Experimental Brawl Stars v36.218 server emulator written in Python.

Brawl Stars v36 Experimental Brawl Stars v36.218 server emulator written in Python. Requirements: Python 3.7 or higher colorama Running the server In

8 Oct 31, 2021
Простенький ботик для троллинга с интерфейсом #Yakima_Visus

Bot-Trolling-Vk Простенький ботик для троллинга с интерфейсом #Yakima_Visus Установка pip install vk_api pip install requests если там еще чото будет

Yakima Visus 4 Oct 11, 2022
A collection of convenient parsers for Advent of Code problems.

Advent of Code Parsers A collection of convenient Python parsers for Advent of Code problems. Installation pip install aocp Quickstart You can import

Miguel Blanco Marcos 3 Dec 13, 2021
PIP Manager written in python Tkinter

PIP Manager About PIP Manager is designed to make Python Package handling easier by just a click of a button!! Available Features Installing packages

Will Payne 9 Dec 09, 2022
A person does not exist image bot

A person does not exist image bot

Fayas Noushad 3 Dec 12, 2021
That is a example of a Book app on Python, made with support of all JS libraries on React framework

React+Python Books App You can use this repository whenever you want Used for a video Create the database: python -m dbutils Start the web server: pyt

Koma Human 1 Apr 20, 2022
COVID-19 case tracker in Dash

covid_dashy_personal This is a personal project to build a simple COVID-19 tracker for Australia with Dash. Key functions of this dashy will be to Dis

Jansen Zhang 1 Nov 30, 2021
Shows a pixel art of any Pokémon in your terminal!

pokemon-icat This script is inspired by this project, but since the output heavily depends on the font of your terminal, i decided to make a script th

ph04 52 Dec 22, 2022
Python program to start your zoom meetings

zoomstarter Python programm to start your zoom meetings More about Initially this was a bash script for starting zoom meetings, but as i started devel

Viktor Cvetanovic 2 Nov 24, 2021
Data on COVID-19 (coronavirus) cases, deaths, hospitalizations, tests • All countries • Updated daily by Our World in Data

COVID-19 Dataset by Our World in Data Find our data on COVID-19 and its documentation in public/data. Documentation Data: complete COVID-19 dataset Da

Our World in Data 5.5k Jan 03, 2023
Create an application to visualize single/multiple Xandar Kardian people counting sensors detection result for a indoor area.

Program Design Purpose: We want to create an application to visualize single/multiple Xandar Kardian people counting sensors detection result for a indoor area.

2 Dec 28, 2022
This is the DBMS Project done in 5th sem of B.E CS.

Student-Result-Management-System This is the DBMS Project done in 5th sem of B.E CS. You need to install SQlite DB Browser in your pc or laptop to ope

Vivek kulkarni 1 Jan 14, 2022
Viewer for NFO files

NFO Viewer NFO Viewer is a simple viewer for NFO files, which are "ASCII" art in the CP437 codepage. The advantages of using NFO Viewer instead of a t

Osmo Salomaa 114 Dec 29, 2022
A simple single-color identicon generator

Identicons What are identicons? Setup: git clone https://github.com/vjdad4m/identicons.git cd identicons pip3 install -r requirements.txt chmod +x

Adam Vajda 1 Oct 31, 2021
A tool to flash .ofp files in bootloader mode without needing MSM Tool, an alternative to official realme tool

Oppo/Realme Flash .OFP File on Bootloader A tool to flash .ofp files in bootloader mode without needing MSM Tool, an alternative to official realme to

Italo Almeida 70 Jan 02, 2023
Film-dosimetry - Film dosimetry for DUVS

film-dosimetry Film dosimetry for DUVS Hi David and Joe, here we go this is a te

Christine L Kuryla 3 Jan 20, 2022
A Python version of Canvacord

A copy of canvacord made in python! Installation Run any of these commands in terminal: Mac / Linux pip install canvacord Windows python -m pip insta

10 Mar 28, 2022
PressurePlate is a multi-agent environment that requires agents to cooperate during the traversal of a gridworld.

PressurePlate is a multi-agent environment that requires agents to cooperate during the traversal of a gridworld. The grid is partitioned into several rooms, and each room contains a plate and a clos

Autonomous Agents Research Group (University of Edinburgh) 6 Dec 03, 2022
Example platform plugin that fixes fentry calls in Binja

Example Binja Platform Plugin This is an example Binja platform plugin which fixes up linux kernel module calls to __fentry__. __fentry__ is the linux

_yrp 2 Oct 07, 2021