PHPackages                             jacerider/neo\_icon - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jacerider/neo\_icon

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

jacerider/neo\_icon
===================

An IconMoon-based icon manager.

1.0.84(1mo ago)02.4k2proprietaryPHP

Since Aug 27Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/jacerider/neo_icon)[ Packagist](https://packagist.org/packages/jacerider/neo_icon)[ Docs](https://github.com/jacerider/neo_icon)[ RSS](/packages/jacerider-neo-icon/feed)WikiDiscussions develop Synced 1w ago

READMEChangelogDependencies (12)Versions (86)Used By (2)

CONTENTS OF THIS FILE
---------------------

[](#contents-of-this-file)

- Introduction
- Requirements
- Installation
- Drush Commands
- Usage within PHP
- Usage within SCSS
- Icon Definitions

INTRODUCTION
------------

[](#introduction)

Allow Icomoon icon packages to be utilized within Drupal.

REQUIREMENTS
------------

[](#requirements)

This module requires no modules outside of Drupal core.

INSTALLATION
------------

[](#installation)

Install as you would normally install a contributed Drupal module. Visit  for further information.

DRUSH COMMANDS
--------------

[](#drush-commands)

`neo:icon:list [search]` (alias `neoi-list`) — search the available icon names for the `icon()` Twig function (and the `IconTrait::icon()` helper) so you don't have to guess. An optional search term filters by substring; `--limit` caps the number of results (default 50). Supports `--format=json` for machine parsing.

```
# List icons (capped at --limit).
drush neo:icon:list

# Find icon names containing "arrow".
drush neo:icon:list arrow

# Widen the result cap.
drush neo:icon:list chevron --limit=100
```

USAGE WITHIN SCSS
-----------------

[](#usage-within-scss)

A PHP trait has been provided that can be a dropin replacement for the Drupal core StringTranslationTrait.

```
use Drupal\neo_icon\IconTrait;

// Dynamic icon using icon repository.
$this->icon('Angel');
// Specific icon by name using weighted library match.
$this->icon('Angel', 'drupal');
// Specific icon by name from specific library (if published). If library does
// not exist or is not published, a weighted library match will be used.
$this->icon('Angel', 'drupal', 'solid');
// Supplying a prefix will filter the dynamic icon repository lookup to only
// those definitions that support that prefix. It allows, for example, an icon
// to be scoped to only be available in the admin.
$this->icon('Angel', NULL, NULL, ['admin']);
// If you want to get an get a dynamic icon regardless of the prefix, you can
// pass 'any' as the prefix.
$this->icon('Angel', NULL, NULL, ['all']);
```

USAGE WITHIN TAILWIND
---------------------

[](#usage-within-tailwind)

Global icon sets can utilitized within Neo Build.

```

```

ICON DEFINITIONS
----------------

[](#icon-definitions)

Dynamic icons can be defined via a `MODULE_NAME.neo.icon.yml` file.

```
# A definition that will match any string starting with "drupal".
drupal.start:
  start: icon
  icon: drupal
# A definition that will match any string ending with "drupal".
drupal.end:
  end: icon
  icon: drupal
# A definition that will match any string containing the word "drupal".
drupal.word:
  word: icon
  icon: drupal
# A definition that will match the exact string "drupal".
drupal.exact:
  exact: icon
  icon: drupal
# A weight can be added to the definition to control their lookup order.
drupal.weight:
  exact: icon
  icon: drupal
  weight: 10
# A definition with a prefix. Prefix can also be an array of strings.
drupal.prefix:
  start: icon
  icon: drupal
  prefix: admin
```

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance90

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Recently: every ~29 days

Total

85

Last Release

32d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/097ea6514c7dff8bd82162fe88411080a14444a73f86c15ab22eefe28a33059d?d=identicon)[jacerider](/maintainers/jacerider)

---

Top Contributors

[![jacerider](https://avatars.githubusercontent.com/u/638651?v=4)](https://github.com/jacerider "jacerider (169 commits)")

### Embed Badge

![Health badge](/badges/jacerider-neo-icon/health.svg)

```
[![Health](https://phpackages.com/badges/jacerider-neo-icon/health.svg)](https://phpackages.com/packages/jacerider-neo-icon)
```

###  Alternatives

[farmos/farmos

A web-based farm record keeping application.

1.3k7.3k1](/packages/farmos-farmos)[emulsify-ds/emulsify-drupal

The official Drupal theme for Emulsify, with Storybook and a Vite-based build workflow for generated child themes

96561.6k2](/packages/emulsify-ds-emulsify-drupal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
