We have a handful of icons in core that are currently images. We should replace these with an icon font instead.
Up-sides of using an icon font in core:
1) A complete set of matching core icons This leads to increased consistency in the look/feel of core icons. 1) Core won't need design resources or to spend much time adding new icons when they are needed. 1) Better User eXperience due to ease of adding an icon wherever one is needed. Providing matching icons in core will make a prettier and more usable product. 1) Contrib icons could easily match core look/feel provide a standard that contrib can adopt for adding icons where needed. 1) Better Developer eXperience for all backdrop site owners. provide a built-in utility for site builders to easily add an icon where needed. 8) Contrib/Custom projects won't need design resources Contrib and custom projects also don't need design resources (or to spend time) adding new icons 1) Beautiful vector icons on all browsers. All icons on all browsers will scale beautifully. 1) Change color and resize using CSS alone. Contrib and custom projects can color and size any icon appropriately using CSS alone. 1) No messy SVG fall-back code. If we can switch to using an icon font, we won't need 2x the CSS to account for browsers that can render SVGs and those that can't. 1) Accessible icons Unlike background-image icons, HTML based icons would be accessible.
Down-sides of using an icon font in core:
1) Markup changes would be necessary for accessible icons. 1) We'd be depending on an external library (FontAwesome). 1) It's tedious to add new icons to an icon font (example: a Backdrop logo). 1) Font file size could be larger than ideal to provide maximum utility. 1) Super fancy front-enders prefer SVGs to fonts.
Drupal 8 adopted libricons, but I personally prefer font awesome because it is more popular, has more icons, and gets updated more regularly.
Places we'll need to update: - [ ] #xx | RSS feed icon - [ ] #xx | Admin bar - [ ] #xx | Dashboard - [ ] #xx | Messages - [ ] #xx | Watchdog - [ ] #xx | Tabledrag multi-arrow icons - [ ] #xx | Help icon in filter tips - [ ] #xx | Contextual link cog icons - [ ] #xx | Table header sort indicators (these could be CSS) - [ ] #xx | Menus: collapsed / expanded / leaf / tree (these could be CSS) - [ ] #xx | Add icons to the admin bar? - [ ] #xx | grippie? (could, arguably, be removed) - [ ] #xx | Status report page? - [ ] #xx | Available updates page?
As we replace the use of image icons with icon fonts, let's be sure to remove the old icons behind us, too.
Related issues:
- [x] https://github.com/backdrop/backdrop-issues/issues/1841 Add icons to the Admin Bar
- [ ] https://github.com/backdrop/backdrop-issues/issues/1974 Use icons within drop buttons on small/mobile screens
- [x] https://github.com/backdrop/backdrop-issues/issues/1178
- [x] https://github.com/backdrop/backdrop-issues/issues/1795
- [x] https://github.com/backdrop/backdrop-issues/issues/2802
Recent comments
Hi @DianeBAS It doesn't look like there are any port requests for these modules and they do not appear in https://github.com/backdrop-contrib so it doesn't look like anybody has tried anything unless...
Station and Community Media
Thanks for those ideas. Here is what I'm doing now that works. This adds the video_filter to the config file. $format = filter_format_load('filtered_html'); $format->filters['video_filter'] = (...
How to programmatically insert an array into config file
The port of Organic Groups is within days (if not hours) of a beta release. Feel free to help test and report issues. https://github.com/backdrop-contrib/og
Porting Organic Groups module to Backdrop