Awesemo for Craft CMS

Free · Craft CMS 5

Nobody should be typing class names

Font Awesome in a CMS usually means a version pinned in a template somewhere, class names copied out of a browser tab, and a second copy of the library arriving with the next plugin — at which point half the icons on the site go blank. Awesemo makes the version a setting, the icon a picker, and the markup one call.

Awesemo

One call, every spelling

The class spelling follows whichever version the site is on — fa on v4, fas on v5, fa-solid plus the family on v6 and 7. You never write it, which is what turns a version change from a find-and-replace into a setting.

twig
{{ awesemo('user') }}                    {# fa-solid fa-user — the site default style #}
{{ awesemo('fa fa-thumbs-o-up') }}       {# a retired v4 name, resolved through the shims #}
{{ awesemo('brands:github') }}
{{ awesemo('trash', { label: 'Delete this entry' }) }}   {# role=img + aria-label #}
{{ awesemo('star', { mode: 'svg' }) }}   {# this one inline, whatever the site default is #}

{{ entry.myIconField }}                  {# an Icon renders itself #}
{{ entry.body|awesemoIcons }}            {# upgrade icons already written in rich text #}

Features

The four things a version manager has to do, plus the four a shortcode plugin cannot.

One version, one place

CDN, a Font Awesome kit, a self-hosted package, or nothing at all when the site already loads its own. Pin an exact release or follow a line like 6.

  • The control panel always knows which version is actually live
  • Lock it per environment in config/awesemo.php

A picker everywhere an author writes

A control-panel browser, an Icon field, an Icons field, a CKEditor button and a Redactor button — all searching one catalogue, so an author sees the same thing wherever they are.

  • Search by name, label, search term or category
  • Your own uploaded SVGs sit in the same picker

Three ways out of one call

Web font, inline SVG with no stylesheet at all, or a <use> reference into a sprite built from the icons this site actually draws. A site-wide setting, and any single call can override it.

  • SVG and sprite fall back to the web font rather than rendering nothing
  • |awesemoIcons upgrades what authors have already written

Old names keep working

fa fa-thumbs-o-up renders as fa-regular fa-thumbs-up, through Font Awesome's own shim table. Nearly 400 retired v4 and v5 names resolve on a stock free install instead of drawing a blank square.

The second copy gets removed

Two copies of Font Awesome on one page is the most common way icons break in a CMS: the last stylesheet loaded owns the class names. Awesemo strips the stylesheets and kit scripts something else put on the page — and never its own.

Says what is wrong, out loud

A missing icon renders as nothing, which looks like a spacing bug. A usage scan reads templates and element content, and a health screen covers unknown names, stale catalogues, unreachable sources, missing style subsets and duplicate copies.

  • awesemo/health/check exits non-zero on an error — put it in the deploy
  • The Usage screen names every template and entry a dead icon is written in

Frequently Asked Questions

The questions worth answering before you install it.

Free, and it stays free

No editions, no licence key, no trial. Install it, build the catalogue, and put awesemo/health/check in your deploy.