PHPackages                             nrel/nrel-iconomatic - 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. nrel/nrel-iconomatic

ActiveComponent[Utility &amp; Helpers](/categories/utility)

nrel/nrel-iconomatic
====================

NREL javascript icon generator for links.

v1.0.0(7y ago)077GPL-2.0+JavaScript

Since Nov 26Pushed 4y ago3 watchersCompare

[ Source](https://github.com/NREL/nrel-iconomatic)[ Packagist](https://packagist.org/packages/nrel/nrel-iconomatic)[ RSS](/packages/nrel-nrel-iconomatic/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (1)Versions (2)Used By (0)

Iconomatic
==========

[](#iconomatic)

Detect links to native files and append the proper icon image.

This is an update to the old script to include new AJAX detection, manual overrides, custom file types, and encapsulation using jQuery plugin design pattern.

Quick Setup
-----------

[](#quick-setup)

Include the scripts

```

```

Initialize the plugin

```
$(document).ready( function() {
  $('body').iconomatic();
});
```

Options
-------

[](#options)

Default plugin options:

```
var defaults = {
     ajax:      false        // if true: listen for DOM changes using the MutationObserver object
    ,dataMode:  false        // if true: check data attributes for manually tagged links (useful for redirected links)
    ,dataAttr:  'iconomatic' // the data attribute to check for (eg data-iconomatic="pdf")
    ,iconClass: 'fileIcon'   // the CSS class to apply to the icons
    ,filesObj:  fileTypes    // an object that lists the file types to label with icons (see structure below)
};
```

Notes
-----

[](#notes)

By default, both `ajax` and `dataMode` are disabled.

The `ajax` option may not work in all browsers. MutationObserver is a DOM4 spec. For support see:

The `dataMode / dataAttr` options are useful for hyperlinks that have non-normative href attributes for their filetype, or are controlled by javascript. For example, these links would not be labeled without `dataMode:true`:

```
Some PDF
Some PDF
```

The default file types are:

```
avi
doc
docx
gif
jpg
m3u
mov
mp3
mp4
mpg
mpeg
pdf
ppt
pptx
txt
wmv
xls
xlsx
xlsm
zip
```

Dependencies
------------

[](#dependencies)

jQuery (Tested with 1.7 and 1.11) Font Awesome

DEV Dependencies
----------------

[](#dev-dependencies)

Grunt grunt-contrib-uglify

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 95.8% 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

Unknown

Total

1

Last Release

2772d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/399d67b5f044fadc29d052caa6cf1e0d43250dac95c1d0167dcecadb90698ba7?d=identicon)[nomad](/maintainers/nomad)

![](https://www.gravatar.com/avatar/d7163181339aa654584af6008fe4ac133f040d5c43e170d3f9be03ea7efb6c4c?d=identicon)[ShaunLaws](/maintainers/ShaunLaws)

![](https://www.gravatar.com/avatar/d7a2dfb21d5a91909acf10e1d2d21a8ff9146488325f4e38d294d79e1801489a?d=identicon)[cmodern](/maintainers/cmodern)

---

Top Contributors

[![oakley808](https://avatars.githubusercontent.com/u/2180632?v=4)](https://github.com/oakley808 "oakley808 (23 commits)")[![ShaunLawsNREL](https://avatars.githubusercontent.com/u/4623770?v=4)](https://github.com/ShaunLawsNREL "ShaunLawsNREL (1 commits)")

### Embed Badge

![Health badge](/badges/nrel-nrel-iconomatic/health.svg)

```
[![Health](https://phpackages.com/badges/nrel-nrel-iconomatic/health.svg)](https://phpackages.com/packages/nrel-nrel-iconomatic)
```

###  Alternatives

[fullcalendar/fullcalendar

Full-sized drag &amp; drop event calendar

20.5k374.8k4](/packages/fullcalendar-fullcalendar)[eternicode/bootstrap-datepicker

A datepicker for Bootstrap

12.7k548.1k6](/packages/eternicode-bootstrap-datepicker)[eonasdan/bootstrap-datetimepicker

Date/time picker widget based on twitter bootstrap

7.2k496.2k9](/packages/eonasdan-bootstrap-datetimepicker)[trentrichardson/jquery-timepicker-addon

Adds a timepicker to jQueryUI Datepicker.

2.6k70.5k](/packages/trentrichardson-jquery-timepicker-addon)[jonthornton/jquery-timepicker

A javascript timepicker plugin for jQuery inspired by Google Calendar.

1.9k41.5k1](/packages/jonthornton-jquery-timepicker)[grimmlink/bootstrap-filestyle

jQuery customization of input html file for Bootstrap Twitter http://markusslima.github.io/bootstrap-filestyle/

71410.6k](/packages/grimmlink-bootstrap-filestyle)

PHPackages © 2026

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