Awesemo for Craft CMS

FAQ

Is Awesemo free?

Yes. Entirely, permanently, with no editions and no licence key. Every feature described in these docs is in the one version there is.

Does it need a Font Awesome subscription?

No. It works with the free package straight from the CDN — 1,885 icons on a stock Font Awesome 6 Free install. If you have a Pro subscription, point it at your kit and your Pro icons appear in the same picker.

Does it change my content?

No. Awesemo never rewrites what is stored. The editor buttons insert plain Font Awesome markup — <i class="fa-solid fa-user"> — and that is what is saved. |awesemoIcons transforms markup at render time and leaves the stored value alone.

What happens if I remove the plugin?

Icons written in rich text keep working, because they are ordinary Font Awesome markup and always were. What you lose is delivery (something else has to load Font Awesome), the picker, the fields, the SVG and sprite modes, and the legacy-name resolution.

That was the design decision: an icon is two strings, so the markup is the storage. There is no element type and no reference tag to strand.

Why not a reference tag or a custom element type?

Because both of them make the content depend on the plugin. [[icon:solid:user]] renders as literal text the day the plugin is uninstalled, and an element type turns every icon into a row in a table. An <i> with two classes is understood by every editor, every export, and every developer who opens the HTML.

Will it fight with my existing Font Awesome?

Only in the way you ask it to. By default it strips other copies of Font Awesome from the response — because two copies on one page is the most common way icons break, and the last stylesheet loaded owns the class names. It only ever removes other copies, and only while it is delivering one itself.

If you would rather keep loading it yourself, set the source to Loaded by the site itself. Awesemo then delivers nothing and strips nothing, and you keep the picker, the fields, the buttons and the usage scan.

Do I have to change my templates?

No. fa fa-user, far fa-user and fa-regular fa-user all resolve, whichever version the site is on, and the class spelling that comes out follows the version automatically. Changing Font Awesome major versions becomes a settings change plus a usage scan rather than a find-and-replace.

What happens to old v4 names?

They render. fa fa-thumbs-o-up becomes fa-regular fa-thumbs-up through Font Awesome's own shim table — nearly 400 retired names on a stock free install. You can turn that off, and you can also load Font Awesome's v4 shim stylesheet for markup that never passes through Awesemo at all.

Web font, SVG or sprite — which one?

Start on web font. It is what Font Awesome is designed around, and it is one cached stylesheet for the whole site.

Switch to inline SVG when you want no stylesheet and no font download at all, or when icons need to be styled individually. Switch to sprite when you want the SVG benefits without repeating path data for the same icon forty times on one page.

You can change your mind: it is one setting, and |awesemoIcons upgrades everything authors have already written.

Will it slow the site down?

No. A front-end render reads one ~57 KB index that is already in Craft's runtime cache, and looks up the names on the page. The 1.4 MB file of SVG path data is only opened when SVG mode meets an icon that is not yet in the subset — after which that icon is in the subset. A page rendering twelve icons costs twelve icons' worth of work.

Can editors upload our own logo?

Yes. Upload the SVG at Awesemo → Custom icons and use it exactly like a Font Awesome one: {{ awesemo('custom:acme-logo') }}. Uploads are sanitised — scripts, external references and event handlers removed — and rendered inline, so they take color and font-size like any other icon. You can turn the whole feature off.

Is the output accessible?

By default, yes, and in the direction that is almost always right: every icon is aria-hidden="true" unless you give it a label, at which point it becomes role="img" with that label. Most icons in a CMS sit beside text that already says what they mean, and a screen reader reading both is noise.

Does it work with CKEditor and Redactor?

Both, with a toolbar button each. They activate only when those plugins are installed, and they insert the same markup, so content moves between the two editors untouched.

Can I lock the version per environment?

Yes — put it in config/awesemo.php. A setting in the config file is locked in the control panel, which is what you want for version on a site where staging and production must not drift.

Which versions of Font Awesome are supported?

4, 5, 6 and 7, as sources. Legacy names from 4 and 5 resolve on 6 and 7, and the class spelling that comes out matches whichever version is live — fa on v4, fas on v5, fa-solid plus the family on 6 and 7.

Which versions of Craft?

Craft CMS 5.3 or later, PHP 8.2 or later. No runtime dependencies.

Why is it called Awesemo?

It is a robot made of cardboard boxes that does a tedious job for you and would rather you did not look too closely at how. Font Awesome, managed.