upgrade to fontawesome 7

Signed-off-by: Andy Miller <rhuk@mac.com>
This commit is contained in:
Andy Miller
2025-08-25 10:05:10 +01:00
parent 3269e392d4
commit 8e2a54f2c4
8 changed files with 177 additions and 388 deletions

View File

@@ -1,214 +0,0 @@
# ForkAwesome 1.1.5 to FontAwesome 6.7.2 Migration Results
## Executive Summary
Successfully created a comprehensive compatibility shim that enables seamless migration from ForkAwesome 1.1.5 to FontAwesome 6.7.2. The solution ensures zero broken icons in Grav admin and third-party plugins through CSS mappings and JavaScript runtime transformation.
## Project Overview
### Challenge
- Grav admin uses ForkAwesome 1.1.5 (a fork of FontAwesome 4.7)
- Need to migrate to FontAwesome 6.7.2 without breaking existing implementations
- Must support Fork-specific icons not available in FontAwesome 6
- Ensure compatibility with dynamically inserted icons
### Solution
Created a multi-layered compatibility shim consisting of:
1. CSS mapping layer for static icons
2. JavaScript transformer for dynamic icons
3. Comprehensive icon mapping database
4. Fallback system for Fork-specific icons
## Deliverables
### 1. Icon Mapping Database (`icon-mappings.json`)
- **Size**: Comprehensive mapping of 865+ icons
- **Categories**:
- Direct mappings (icons that exist in both versions)
- Outline icons (-o suffix) mapped to Regular style
- Directional icons with new naming conventions
- Brand icons requiring explicit font-family
- Fork-specific icons with semantic fallbacks
- Common aliases and alternative names
**Key Statistics:**
- 436 Fork-specific icons identified
- 100% coverage of Grav admin's 45 icons
- Semantic fallbacks for all Fork-specific icons
### 2. CSS Compatibility Layer (`fork-awesome-shim.css`)
- **Size**: ~25KB unminified
- **Features**:
- Unicode character mappings for all changed icons
- Automatic style application for outline variants
- Complete utility class support (fa-fw, fa-spin, fa-2x, etc.)
- Brand icon font-family corrections
- Fork-specific icon fallback definitions
**Technical Approach:**
```css
/* Example mapping */
.fa.fa-home:before { content: "\f015"; } /* house */
.fa.fa-trash-o:before { content: "\f2ed"; font-weight: 400; } /* trash-can regular */
```
### 3. JavaScript Runtime Transformer (`fork-awesome-shim.js`)
- **Size**: ~15KB unminified
- **Features**:
- Automatic transformation on page load
- MutationObserver for dynamic content
- API for manual transformations
- Efficient icon processing
**API Methods:**
```javascript
ForkAwesomeShim.init() // Initialize shim
ForkAwesomeShim.processAllIcons() // Process all icons on page
ForkAwesomeShim.transformIconClasses(el) // Transform specific element
ForkAwesomeShim.getMappedIcon(name) // Get mapping for icon
```
### 4. Documentation (`README.md`)
- Complete implementation guide
- Multiple integration methods
- Icon mapping examples
- Troubleshooting section
- Browser compatibility notes
### 5. Test Suite (`test.html`)
- Interactive test page
- All 45 Grav admin icons
- Utility class demonstrations
- Dynamic icon insertion tests
- Fork-specific icon validation
## Icon Analysis Results
### Grav Admin Icon Usage
Analyzed the complete Grav admin codebase and found 45 unique icons in use:
**Categories:**
1. **Navigation**: angle-right, bars, chevron-*, caret-down
2. **Actions**: plus, minus, trash, refresh, download, upload
3. **Status**: check, times, warning, exclamation-circle
4. **Files**: file-text-o, folder-o, file-o
5. **UI Elements**: spinner, toggle-on/off, external-link
6. **User**: user, users, sign-in, sign-out
**Key Finding**: All icons are FontAwesome 4.x compatible with no Fork-specific icons in use.
### Fork-Specific Icons
Identified 436 icons unique to ForkAwesome, primarily for open-source projects:
**Notable Examples:**
- `activitypub``share-nodes` (network concept)
- `mastodon``mastodon` (now in FA6!)
- `diaspora``asterisk` (visual similarity)
- `matrix-org``comment-dots` (chat concept)
- `nextcloud``cloud` (cloud service)
- `gitea``mug-hot` (tea reference)
### Icon Name Changes
Documented all significant naming changes between versions:
**Common Patterns:**
- Outline suffix: `-o` → Regular style (far)
- Semantic updates: `home``house`, `trash-o``trash-can`
- Directional: `arrow-circle-o-*``circle-*`
- Brands: `twitter``x-twitter`
## Implementation Strategy
### CSS-Only Approach
- Best for static sites
- Zero JavaScript overhead
- Instant icon rendering
- File size: ~25KB
### CSS + JavaScript Approach
- Required for dynamic content
- Handles runtime icon insertion
- Provides transformation API
- Combined size: ~40KB
### Integration Steps
1. Include FontAwesome 6 CSS/Kit
2. Add shim CSS after FontAwesome
3. Add shim JS for dynamic content (optional)
4. No code changes required
## Testing Results
### Browser Compatibility
- ✅ Chrome 90+
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Edge 90+
- ✅ IE 11 (with polyfills)
### Performance Metrics
- Initial transformation: <5ms for 100 icons
- Dynamic insertion: <1ms per icon
- Memory usage: Negligible
- No render blocking
### Coverage Testing
- All 45 Grav admin icons render correctly
- Utility classes work as expected
- Dynamic insertion handled properly
- Fork-specific fallbacks display
- No console errors or warnings
## Migration Benefits
1. **Zero Breaking Changes**: All existing icons continue to work
2. **Future Proof**: Access to 1,895+ FontAwesome 6 icons
3. **Better Performance**: FA6's optimized SVG/font rendering
4. **Maintained Library**: Active development and updates
5. **Extended Icon Set**: Many new icons not in ForkAwesome
## Potential Considerations
1. **File Size**: Shim adds ~40KB (can be optimized/minified)
2. **Fork Icons**: Some semantic meaning lost in fallbacks
3. **Testing**: Recommend testing in staging environment
4. **Caching**: Clear browser cache after implementation
## Recommended Deployment
### For Grav Admin
1. Include shim files in admin theme
2. Load after FontAwesome 6
3. Test icon picker functionality
4. Verify third-party plugin compatibility
### For Production
1. Minify CSS and JS files
2. Combine with existing assets
3. Use CDN for FontAwesome 6
4. Monitor for console errors
## Conclusion
The compatibility shim successfully bridges ForkAwesome 1.1.5 and FontAwesome 6.7.2, ensuring a smooth migration path with no broken icons. The solution is production-ready and has been thoroughly tested with all icons used in Grav admin.
### Files Delivered
```
fork-awesome-to-fa6-shim/
├── icon-mappings.json # Complete mapping database
├── fork-awesome-shim.css # CSS compatibility layer
├── fork-awesome-shim.js # JavaScript transformer
├── README.md # Implementation guide
├── test.html # Interactive test suite
└── MIGRATION-RESULTS.md # This document
```
### Next Steps
1. Test in Grav admin staging environment
2. Minify files for production
3. Update documentation for users
4. Consider contributing back to Grav community
---
*Migration shim created for Grav CMS community to enable modern icon support while maintaining backward compatibility.*

File diff suppressed because one or more lines are too long

9
themes/grav/css/fontawesome7.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,15 +1,15 @@
/*!
* ForkAwesome to FontAwesome 6 Compatibility Shim
* ForkAwesome to FontAwesome 7 Compatibility Shim
* Version: 1.0.0
*
* This CSS shim provides compatibility for ForkAwesome 1.1.5 classes
* when migrating to FontAwesome 6.7.2
* when migrating to FontAwesome 7
*/
/* Base Font Family Override */
.fa {
font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Pro', 'Font Awesome 6 Brands' !important;
font-weight: 900; /* Default to solid style */
font-family: 'Font Awesome 7 Free' , 'Font Awesome 7 Brands' !important;
font-weight: 900 !important; /* Default to solid style */
}
/* Utility Classes */
@@ -148,48 +148,48 @@
.fa.fa-remove:before { content: "\f00d"; } /* xmark */
.fa.fa-trash-o:before { content: "\f2ed"; } /* trash-can */
.fa.fa-file-text-o:before { content: "\f15c"; } /* file-lines */
.fa.fa-clock-o:before { content: "\f017"; font-weight: 400; } /* clock regular */
.fa.fa-check-circle-o:before { content: "\f058"; font-weight: 400; } /* circle-check regular */
.fa.fa-circle-o:before { content: "\f111"; font-weight: 400; } /* circle regular */
.fa.fa-dot-circle-o:before { content: "\f192"; font-weight: 400; } /* circle-dot regular */
.fa.fa-minus-square-o:before { content: "\f146"; font-weight: 400; } /* square-minus regular */
.fa.fa-plus-square-o:before { content: "\f0fe"; font-weight: 400; } /* square-plus regular */
.fa.fa-square-o:before { content: "\f0c8"; font-weight: 400; } /* square regular */
.fa.fa-envelope-o:before { content: "\f0e0"; font-weight: 400; } /* envelope regular */
.fa.fa-file-o:before { content: "\f15b"; font-weight: 400; } /* file regular */
.fa.fa-file-text-o:before { content: "\f15c"; font-weight: 400; } /* file-lines regular */
.fa.fa-file-audio-o:before { content: "\f1c7"; font-weight: 400; } /* file-audio regular */
.fa.fa-file-photo-o:before { content: "\f1c5"; font-weight: 400; } /* file-image regular */
.fa.fa-files-o:before { content: "\f0c5"; font-weight: 400; } /* copy regular */
.fa.fa-folder-o:before { content: "\f07b"; font-weight: 400; } /* folder regular */
.fa.fa-folder-open-o:before { content: "\f07c"; font-weight: 400; } /* folder-open regular */
.fa.fa-heart-o:before { content: "\f004"; font-weight: 400; } /* heart regular */
.fa.fa-star-o:before { content: "\f005"; font-weight: 400; } /* star regular */
.fa.fa-star-half-o:before { content: "\f089"; font-weight: 400; } /* star-half regular */
.fa.fa-user-o:before { content: "\f007"; font-weight: 400; } /* user regular */
.fa.fa-bell-o:before { content: "\f0f3"; font-weight: 400; } /* bell regular */
.fa.fa-bookmark-o:before { content: "\f02e"; font-weight: 400; } /* bookmark regular */
.fa.fa-building-o:before { content: "\f1ad"; font-weight: 400; } /* building regular */
.fa.fa-calendar-o:before { content: "\f133"; font-weight: 400; } /* calendar regular */
.fa.fa-comment-o:before { content: "\f075"; font-weight: 400; } /* comment regular */
.fa.fa-comments-o:before { content: "\f086"; font-weight: 400; } /* comments regular */
.fa.fa-flag-o:before { content: "\f024"; font-weight: 400; } /* flag regular */
.fa.fa-lemon-o:before { content: "\f094"; font-weight: 400; } /* lemon regular */
.fa.fa-thumbs-up-o:before { content: "\f164"; font-weight: 400; } /* thumbs-up regular */
.fa.fa-thumbs-down-o:before { content: "\f165"; font-weight: 400; } /* thumbs-down regular */
.fa.fa-picture-o:before { content: "\f03e"; font-weight: 400; } /* image regular */
.fa.fa-map-o:before { content: "\f279"; font-weight: 400; } /* map regular */
.fa.fa-lightbulb-o:before { content: "\f0eb"; font-weight: 400; } /* lightbulb regular */
.fa.fa-sign-out:before { content: "\f08b"; font-family: 'Font Awesome 6 Free'; font-weight: 900; } /* arrow-right-from-bracket */
.fa.fa-list-ol:before { content: "\f0cb"; font-family: 'Font Awesome 6 Free'; font-weight: 900; } /* list-ol */
.fa.fa-toggle-on:before { content: "\f205"; font-family: 'Font Awesome 6 Free'; font-weight: 900; } /* toggle-on */
.fa.fa-toggle-off:before { content: "\f204"; font-family: 'Font Awesome 6 Free'; font-weight: 900; } /* toggle-off */
.fa.fa-bell-slash-o:before { content: "\f1f6"; font-weight: 400; } /* bell-slash regular */
.fa.fa-paper-plane-o:before { content: "\f1d8"; font-weight: 400; } /* paper-plane regular */
.fa.fa-keyboard-o:before { content: "\f11c"; font-weight: 400; } /* keyboard regular */
.fa.fa-pencil-square-o:before { content: "\f044"; font-weight: 400; } /* pen-to-square regular */
.fa.fa-smile-o:before { content: "\f118"; font-weight: 400; } /* face-smile regular */
.fa.fa-hdd-o:before { content: "\f0a0"; font-weight: 400; } /* hard-drive regular */
.fa.fa-clock-o:before { content: "\f017"; } /* clock regular */
.fa.fa-check-circle-o:before { content: "\f058"; } /* circle-check regular */
.fa.fa-circle-o:before { content: "\f111"; } /* circle regular */
.fa.fa-dot-circle-o:before { content: "\f192"; } /* circle-dot regular */
.fa.fa-minus-square-o:before { content: "\f146"; } /* square-minus regular */
.fa.fa-plus-square-o:before { content: "\f0fe"; } /* square-plus regular */
.fa.fa-square-o:before { content: "\f0c8"; } /* square regular */
.fa.fa-envelope-o:before { content: "\f0e0"; } /* envelope regular */
.fa.fa-file-o:before { content: "\f15b"; } /* file regular */
.fa.fa-file-text-o:before { content: "\f15c"; } /* file-lines regular */
.fa.fa-file-audio-o:before { content: "\f1c7"; } /* file-audio regular */
.fa.fa-file-photo-o:before { content: "\f1c5"; } /* file-image regular */
.fa.fa-files-o:before { content: "\f0c5"; } /* copy regular */
.fa.fa-folder-o:before { content: "\f07b"; } /* folder regular */
.fa.fa-folder-open-o:before { content: "\f07c"; } /* folder-open regular */
.fa.fa-heart-o:before { content: "\f004"; } /* heart regular */
.fa.fa-star-o:before { content: "\f005"; } /* star regular */
.fa.fa-star-half-o:before { content: "\f089"; } /* star-half regular */
.fa.fa-user-o:before { content: "\f007"; } /* user regular */
.fa.fa-bell-o:before { content: "\f0f3"; } /* bell regular */
.fa.fa-bookmark-o:before { content: "\f02e"; } /* bookmark regular */
.fa.fa-building-o:before { content: "\f1ad"; } /* building regular */
.fa.fa-calendar-o:before { content: "\f133"; } /* calendar regular */
.fa.fa-comment-o:before { content: "\f075"; } /* comment regular */
.fa.fa-comments-o:before { content: "\f086"; } /* comments regular */
.fa.fa-flag-o:before { content: "\f024"; } /* flag regular */
.fa.fa-lemon-o:before { content: "\f094"; } /* lemon regular */
.fa.fa-thumbs-up-o:before { content: "\f164"; } /* thumbs-up regular */
.fa.fa-thumbs-down-o:before { content: "\f165"; } /* thumbs-down regular */
.fa.fa-picture-o:before { content: "\f03e"; } /* image regular */
.fa.fa-map-o:before { content: "\f279"; } /* map regular */
.fa.fa-lightbulb-o:before { content: "\f0eb"; } /* lightbulb regular */
.fa.fa-sign-out:before { content: "\f08b"; } /* arrow-right-from-bracket */
.fa.fa-list-ol:before { content: "\f0cb"; } /* list-ol */
.fa.fa-toggle-on:before { content: "\f205"; } /* toggle-on */
.fa.fa-toggle-off:before { content: "\f204"; } /* toggle-off */
.fa.fa-bell-slash-o:before { content: "\f1f6"; } /* bell-slash regular */
.fa.fa-paper-plane-o:before { content: "\f1d8"; } /* paper-plane regular */
.fa.fa-keyboard-o:before { content: "\f11c"; } /* keyboard regular */
.fa.fa-pencil-square-o:before { content: "\f044"; } /* pen-to-square regular */
.fa.fa-smile-o:before { content: "\f118"; } /* face-smile regular */
.fa.fa-hdd-o:before { content: "\f0a0"; } /* hard-drive regular */
/* Icon Remapping - Name changes */
.fa.fa-home:before { content: "\f015"; } /* house */
@@ -202,7 +202,7 @@
.fa.fa-exclamation-circle:before { content: "\f06a"; } /* circle-exclamation */
.fa.fa-check-circle:before { content: "\f058"; } /* circle-check */
.fa.fa-times-circle:before { content: "\f057"; } /* circle-xmark */
.fa.fa-times-circle-o:before { content: "\f057"; font-weight: 400; } /* circle-xmark regular */
.fa.fa-times-circle-o:before { content: "\f057"; } /* circle-xmark regular */
.fa.fa-chevron-circle-left:before { content: "\f137"; } /* circle-chevron-left */
.fa.fa-chevron-circle-right:before { content: "\f138"; } /* circle-chevron-right */
.fa.fa-chevron-circle-up:before { content: "\f139"; } /* circle-chevron-up */
@@ -211,28 +211,28 @@
.fa.fa-arrow-circle-right:before { content: "\f0a9"; } /* circle-arrow-right */
.fa.fa-arrow-circle-up:before { content: "\f0aa"; } /* circle-arrow-up */
.fa.fa-arrow-circle-down:before { content: "\f0ab"; } /* circle-arrow-down */
.fa.fa-arrow-circle-o-left:before { content: "\f359"; font-weight: 400; } /* circle-left regular */
.fa.fa-arrow-circle-o-right:before { content: "\f35a"; font-weight: 400; } /* circle-right regular */
.fa.fa-arrow-circle-o-up:before { content: "\f358"; font-weight: 400; } /* circle-up regular */
.fa.fa-arrow-circle-o-down:before { content: "\f356"; font-weight: 400; } /* circle-down regular */
.fa.fa-arrow-circle-o-left:before { content: "\f359"; } /* circle-left regular */
.fa.fa-arrow-circle-o-right:before { content: "\f35a"; } /* circle-right regular */
.fa.fa-arrow-circle-o-up:before { content: "\f358"; } /* circle-up regular */
.fa.fa-arrow-circle-o-down:before { content: "\f356"; } /* circle-down regular */
.fa.fa-mail-forward:before { content: "\f064"; } /* share */
.fa.fa-mail-reply:before { content: "\f3e5"; } /* reply */
.fa.fa-mail-reply-all:before { content: "\f122"; } /* reply-all */
.fa.fa-chain:before { content: "\f0c1"; } /* link */
.fa.fa-chain-broken:before { content: "\f127"; } /* link-slash */
.fa.fa-shield:before { content: "\f3ed"; } /* shield */
.fa.fa-calendar-o:before { content: "\f133"; font-weight: 400; } /* calendar regular */
.fa.fa-calendar-o:before { content: "\f133"; } /* calendar regular */
.fa.fa-ticket:before { content: "\f3ff"; } /* ticket-simple */
.fa.fa-minus-square-o:before { content: "\f146"; font-weight: 400; } /* square-minus regular */
.fa.fa-plus-square-o:before { content: "\f0fe"; font-weight: 400; } /* square-plus regular */
.fa.fa-minus-square-o:before { content: "\f146"; } /* square-minus regular */
.fa.fa-plus-square-o:before { content: "\f0fe"; } /* square-plus regular */
.fa.fa-level-up:before { content: "\f3bf"; } /* turn-up */
.fa.fa-level-down:before { content: "\f3be"; } /* turn-down */
.fa.fa-pencil-square-o:before { content: "\f044"; font-weight: 400; } /* pen-to-square regular */
.fa.fa-pencil-square-o:before { content: "\f044"; } /* pen-to-square regular */
.fa.fa-external-link:before { content: "\f35d"; } /* up-right-from-square */
.fa.fa-compass:before { content: "\f14e"; } /* compass */
.fa.fa-caret-square-o-down:before { content: "\f150"; font-weight: 400; } /* square-caret-down regular */
.fa.fa-caret-square-o-up:before { content: "\f151"; font-weight: 400; } /* square-caret-up regular */
.fa.fa-caret-square-o-right:before { content: "\f152"; font-weight: 400; } /* square-caret-right regular */
.fa.fa-caret-square-o-down:before { content: "\f150"; } /* square-caret-down regular */
.fa.fa-caret-square-o-up:before { content: "\f151"; } /* square-caret-up regular */
.fa.fa-caret-square-o-right:before { content: "\f152"; } /* square-caret-right regular */
.fa.fa-eur:before, .fa.fa-euro:before { content: "\f153"; } /* euro-sign */
.fa.fa-gbp:before { content: "\f154"; } /* sterling-sign */
.fa.fa-usd:before, .fa.fa-dollar:before { content: "\f155"; } /* dollar-sign */
@@ -258,21 +258,21 @@
.fa.fa-trello:before { content: "\f181"; } /* trello */
.fa.fa-gratipay:before { content: "\f184"; } /* gratipay */
.fa.fa-gittip:before { content: "\f184"; } /* gratipay */
.fa.fa-sun-o:before { content: "\f185"; font-weight: 400; } /* sun regular */
.fa.fa-moon-o:before { content: "\f186"; font-weight: 400; } /* moon regular */
.fa.fa-sun-o:before { content: "\f185"; } /* sun regular */
.fa.fa-moon-o:before { content: "\f186"; } /* moon regular */
.fa.fa-vk:before { content: "\f189"; } /* vk */
.fa.fa-weibo:before { content: "\f18a"; } /* weibo */
.fa.fa-renren:before { content: "\f18b"; } /* renren */
.fa.fa-pagelines:before { content: "\f18c"; } /* pagelines */
.fa.fa-stack-exchange:before { content: "\f18d"; } /* stack-exchange */
.fa.fa-arrow-circle-o-right:before { content: "\f35a"; font-weight: 400; } /* circle-right regular */
.fa.fa-arrow-circle-o-left:before { content: "\f359"; font-weight: 400; } /* circle-left regular */
.fa.fa-caret-square-o-left:before { content: "\f191"; font-weight: 400; } /* square-caret-left regular */
.fa.fa-toggle-left:before { content: "\f191"; font-weight: 400; } /* square-caret-left regular */
.fa.fa-dot-circle-o:before { content: "\f192"; font-weight: 400; } /* circle-dot regular */
.fa.fa-arrow-circle-o-right:before { content: "\f35a"; } /* circle-right regular */
.fa.fa-arrow-circle-o-left:before { content: "\f359"; } /* circle-left regular */
.fa.fa-caret-square-o-left:before { content: "\f191"; } /* square-caret-left regular */
.fa.fa-toggle-left:before { content: "\f191"; } /* square-caret-left regular */
.fa.fa-dot-circle-o:before { content: "\f192"; } /* circle-dot regular */
.fa.fa-vimeo-square:before { content: "\f194"; } /* vimeo */
.fa.fa-try:before, .fa.fa-turkish-lira:before { content: "\e2bb"; } /* turkish-lira-sign */
.fa.fa-plus-square-o:before { content: "\f0fe"; font-weight: 400; } /* square-plus regular */
.fa.fa-plus-square-o:before { content: "\f0fe"; } /* square-plus regular */
.fa.fa-slack:before { content: "\f198"; } /* slack */
.fa.fa-wordpress:before { content: "\f19a"; } /* wordpress */
.fa.fa-openid:before { content: "\f19b"; } /* openid */
@@ -311,17 +311,17 @@
.fa.fa-qq:before { content: "\f1d6"; } /* qq */
.fa.fa-weixin:before, .fa.fa-wechat:before { content: "\f1d7"; } /* weixin */
.fa.fa-paper-plane:before, .fa.fa-send:before { content: "\f1d8"; } /* paper-plane */
.fa.fa-paper-plane-o:before, .fa.fa-send-o:before { content: "\f1d8"; font-weight: 400; } /* paper-plane regular */
.fa.fa-circle-thin:before { content: "\f111"; font-weight: 400; } /* circle regular */
.fa.fa-paper-plane-o:before, .fa.fa-send-o:before { content: "\f1d8"; } /* paper-plane regular */
.fa.fa-circle-thin:before { content: "\f111"; } /* circle regular */
.fa.fa-header:before { content: "\f1dc"; } /* heading */
.fa.fa-futbol-o:before, .fa.fa-soccer-ball-o:before { content: "\f1e3"; font-weight: 400; } /* futbol regular */
.fa.fa-futbol-o:before, .fa.fa-soccer-ball-o:before { content: "\f1e3"; } /* futbol regular */
.fa.fa-tty:before { content: "\f1e4"; } /* tty */
.fa.fa-binoculars:before { content: "\f1e5"; } /* binoculars */
.fa.fa-plug:before { content: "\f1e6"; } /* plug */
.fa.fa-slideshare:before { content: "\f1e7"; } /* slideshare */
.fa.fa-twitch:before { content: "\f1e8"; } /* twitch */
.fa.fa-yelp:before { content: "\f1e9"; } /* yelp */
.fa.fa-newspaper-o:before { content: "\f1ea"; font-weight: 400; } /* newspaper regular */
.fa.fa-newspaper-o:before { content: "\f1ea"; } /* newspaper regular */
.fa.fa-wifi:before { content: "\f1eb"; } /* wifi */
.fa.fa-paypal:before { content: "\f1ed"; } /* paypal */
.fa.fa-google-wallet:before { content: "\f1ee"; } /* google-wallet */
@@ -332,8 +332,8 @@
.fa.fa-cc-paypal:before { content: "\f1f4"; } /* cc-paypal */
.fa.fa-cc-stripe:before { content: "\f1f5"; } /* cc-stripe */
.fa.fa-bell-slash:before { content: "\f1f6"; } /* bell-slash */
.fa.fa-bell-slash-o:before { content: "\f1f6"; font-weight: 400; } /* bell-slash regular */
.fa.fa-cc:before { content: "\f20a"; font-weight: 400; } /* closed-captioning regular */
.fa.fa-bell-slash-o:before { content: "\f1f6"; } /* bell-slash regular */
.fa.fa-cc:before { content: "\f20a"; } /* closed-captioning regular */
.fa.fa-ils:before, .fa.fa-shekel:before, .fa.fa-sheqel:before { content: "\f20b"; } /* shekel-sign */
.fa.fa-meanpath:before { content: "\f20c"; } /* font-awesome */
.fa.fa-buysellads:before { content: "\f20d"; } /* buysellads */
@@ -363,23 +363,23 @@
.fa.fa-battery-1:before, .fa.fa-battery-quarter:before { content: "\f243"; } /* battery-quarter */
.fa.fa-battery-0:before, .fa.fa-battery-empty:before { content: "\f244"; } /* battery-empty */
.fa.fa-sticky-note:before { content: "\f249"; } /* note-sticky */
.fa.fa-sticky-note-o:before { content: "\f249"; font-weight: 400; } /* note-sticky regular */
.fa.fa-sticky-note-o:before { content: "\f249"; } /* note-sticky regular */
.fa.fa-cc-jcb:before { content: "\f24b"; } /* cc-jcb */
.fa.fa-cc-diners-club:before { content: "\f24c"; } /* cc-diners-club */
.fa.fa-clone:before { content: "\f24d"; } /* clone */
.fa.fa-hourglass-o:before { content: "\f254"; font-weight: 400; } /* hourglass regular */
.fa.fa-hourglass-o:before { content: "\f254"; } /* hourglass regular */
.fa.fa-hourglass-1:before, .fa.fa-hourglass-start:before { content: "\f251"; } /* hourglass-start */
.fa.fa-hourglass-2:before, .fa.fa-hourglass-half:before { content: "\f252"; } /* hourglass-half */
.fa.fa-hourglass-3:before, .fa.fa-hourglass-end:before { content: "\f253"; } /* hourglass-end */
.fa.fa-hand-rock-o:before { content: "\f255"; font-weight: 400; } /* hand-back-fist regular */
.fa.fa-hand-grab-o:before, .fa.fa-hand-stop-o:before { content: "\f256"; font-weight: 400; } /* hand regular */
.fa.fa-hand-paper-o:before { content: "\f256"; font-weight: 400; } /* hand regular */
.fa.fa-hand-scissors-o:before { content: "\f257"; font-weight: 400; } /* hand-scissors regular */
.fa.fa-hand-lizard-o:before { content: "\f258"; font-weight: 400; } /* hand-lizard regular */
.fa.fa-hand-spock-o:before { content: "\f259"; font-weight: 400; } /* hand-spock regular */
.fa.fa-hand-pointer-o:before { content: "\f25a"; font-weight: 400; } /* hand-pointer regular */
.fa.fa-hand-peace-o:before { content: "\f25b"; font-weight: 400; } /* hand-peace regular */
.fa.fa-registered:before { content: "\f25d"; font-weight: 400; } /* registered regular */
.fa.fa-hand-rock-o:before { content: "\f255"; } /* hand-back-fist regular */
.fa.fa-hand-grab-o:before, .fa.fa-hand-stop-o:before { content: "\f256"; } /* hand regular */
.fa.fa-hand-paper-o:before { content: "\f256"; } /* hand regular */
.fa.fa-hand-scissors-o:before { content: "\f257"; } /* hand-scissors regular */
.fa.fa-hand-lizard-o:before { content: "\f258"; } /* hand-lizard regular */
.fa.fa-hand-spock-o:before { content: "\f259"; } /* hand-spock regular */
.fa.fa-hand-pointer-o:before { content: "\f25a"; } /* hand-pointer regular */
.fa.fa-hand-peace-o:before { content: "\f25b"; } /* hand-peace regular */
.fa.fa-registered:before { content: "\f25d"; } /* registered regular */
.fa.fa-creative-commons:before { content: "\f25e"; } /* creative-commons */
.fa.fa-gg:before { content: "\f260"; } /* gg */
.fa.fa-gg-circle:before { content: "\f261"; } /* gg-circle */
@@ -396,13 +396,13 @@
.fa.fa-contao:before { content: "\f26d"; } /* contao */
.fa.fa-500px:before { content: "\f26e"; } /* 500px */
.fa.fa-amazon:before { content: "\f270"; } /* amazon */
.fa.fa-calendar-plus-o:before { content: "\f271"; font-weight: 400; } /* calendar-plus regular */
.fa.fa-calendar-minus-o:before { content: "\f272"; font-weight: 400; } /* calendar-minus regular */
.fa.fa-calendar-times-o:before { content: "\f273"; font-weight: 400; } /* calendar-xmark regular */
.fa.fa-calendar-check-o:before { content: "\f274"; font-weight: 400; } /* calendar-check regular */
.fa.fa-map-o:before { content: "\f279"; font-weight: 400; } /* map regular */
.fa.fa-calendar-plus-o:before { content: "\f271"; } /* calendar-plus regular */
.fa.fa-calendar-minus-o:before { content: "\f272"; } /* calendar-minus regular */
.fa.fa-calendar-times-o:before { content: "\f273"; } /* calendar-xmark regular */
.fa.fa-calendar-check-o:before { content: "\f274"; } /* calendar-check regular */
.fa.fa-map-o:before { content: "\f279"; } /* map regular */
.fa.fa-commenting:before { content: "\f4ad"; } /* comment-dots */
.fa.fa-commenting-o:before { content: "\f4ad"; font-weight: 400; } /* comment-dots regular */
.fa.fa-commenting-o:before { content: "\f4ad"; } /* comment-dots regular */
.fa.fa-houzz:before { content: "\f27c"; } /* houzz */
.fa.fa-vimeo:before { content: "\f27d"; } /* vimeo-v */
.fa.fa-black-tie:before { content: "\f27e"; } /* black-tie */
@@ -416,9 +416,9 @@
.fa.fa-product-hunt:before { content: "\f288"; } /* product-hunt */
.fa.fa-mixcloud:before { content: "\f289"; } /* mixcloud */
.fa.fa-scribd:before { content: "\f28a"; } /* scribd */
.fa.fa-pause-circle-o:before { content: "\f28c"; font-weight: 400; } /* circle-pause regular */
.fa.fa-pause-circle-o:before { content: "\f28c"; } /* circle-pause regular */
.fa.fa-stop-circle:before { content: "\f28d"; } /* circle-stop */
.fa.fa-stop-circle-o:before { content: "\f28d"; font-weight: 400; } /* circle-stop regular */
.fa.fa-stop-circle-o:before { content: "\f28d"; } /* circle-stop regular */
.fa.fa-bluetooth:before { content: "\f293"; } /* bluetooth */
.fa.fa-bluetooth-b:before { content: "\f294"; } /* bluetooth-b */
.fa.fa-gitlab:before { content: "\f296"; } /* gitlab */
@@ -426,7 +426,7 @@
.fa.fa-wpforms:before { content: "\f298"; } /* wpforms */
.fa.fa-envira:before { content: "\f299"; } /* envira */
.fa.fa-wheelchair-alt:before { content: "\f368"; } /* accessible-icon */
.fa.fa-question-circle-o:before { content: "\f059"; font-weight: 400; } /* circle-question regular */
.fa.fa-question-circle-o:before { content: "\f059"; } /* circle-question regular */
.fa.fa-blind:before { content: "\f29d"; } /* person-walking-with-cane */
.fa.fa-audio-description:before { content: "\f29e"; } /* audio-description */
.fa.fa-phone-volume:before, .fa.fa-volume-control-phone:before { content: "\f2a0"; } /* phone-volume */
@@ -448,11 +448,11 @@
.fa.fa-themeisle:before { content: "\f2b2"; } /* themeisle */
.fa.fa-google-plus-official:before, .fa.fa-google-plus-circle:before { content: "\f2b3"; } /* google-plus */
.fa.fa-fa:before, .fa.fa-font-awesome:before { content: "\f2b4"; } /* font-awesome */
.fa.fa-user-o:before { content: "\f007"; font-weight: 400; } /* user regular */
.fa.fa-user-o:before { content: "\f007"; } /* user regular */
.fa.fa-id-badge:before { content: "\f2c1"; } /* id-badge */
.fa.fa-id-badge-o:before { content: "\f2c1"; font-weight: 400; } /* id-badge regular */
.fa.fa-id-badge-o:before { content: "\f2c1"; } /* id-badge regular */
.fa.fa-id-card:before { content: "\f2c2"; } /* id-card */
.fa.fa-id-card-o:before { content: "\f2c2"; font-weight: 400; } /* id-card regular */
.fa.fa-id-card-o:before { content: "\f2c2"; } /* id-card regular */
.fa.fa-quora:before { content: "\f2c4"; } /* quora */
.fa.fa-free-code-camp:before { content: "\f2c5"; } /* free-code-camp */
.fa.fa-telegram:before { content: "\f2c6"; } /* telegram */
@@ -462,61 +462,73 @@
.fa.fa-ravelry:before { content: "\f2d9"; } /* ravelry */
.fa.fa-eercast:before { content: "\f2da"; } /* sellcast */
.fa.fa-linode:before { content: "\f2b8"; } /* linode */
.fa.fa-address-book-o:before { content: "\f2b9"; font-weight: 400; } /* address-book regular */
.fa.fa-address-card-o:before { content: "\f2bb"; font-weight: 400; } /* address-card regular */
.fa.fa-user-circle-o:before { content: "\f2bd"; font-weight: 400; } /* circle-user regular */
.fa.fa-address-book-o:before { content: "\f2b9"; } /* address-book regular */
.fa.fa-address-card-o:before { content: "\f2bb"; } /* address-card regular */
.fa.fa-user-circle-o:before { content: "\f2bd"; } /* circle-user regular */
.fa.fa-user-circle:before { content: "\f2bd"; } /* circle-user */
.fa.fa-bandcamp:before { content: "\f2d5"; } /* bandcamp */
.fa.fa-grav:before { content: "\f2d6"; } /* grav */
/*.fa.fa-grav:before { content: "\f2d6"; } !* grav *!*/
.fa.fa-etsy:before { content: "\f2d7"; } /* etsy */
.fa.fa-meetup:before { content: "\f2e0"; } /* meetup */
/* Brands requiring explicit font-family */
.fa.fa-twitter:before { content: "\e61b"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* x-twitter */
.fa.fa-facebook-square:before { content: "\f082"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-facebook */
.fa.fa-facebook:before { content: "\f09a"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* facebook */
.fa.fa-github:before { content: "\f09b"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* github */
.fa.fa-github-square:before { content: "\f092"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-github */
.fa.fa-google-plus:before { content: "\f0d5"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* google-plus */
.fa.fa-google-plus-square:before { content: "\f0d4"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-google-plus */
.fa.fa-linkedin:before { content: "\f08c"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* linkedin */
.fa.fa-linkedin-square:before { content: "\f08c"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-linkedin */
.fa.fa-pinterest:before { content: "\f0d2"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* pinterest */
.fa.fa-pinterest-square:before { content: "\f0d3"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-pinterest */
.fa.fa-reddit-square:before { content: "\f1a2"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-reddit */
.fa.fa-tumblr:before { content: "\f173"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* tumblr */
.fa.fa-tumblr-square:before { content: "\f174"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-tumblr */
.fa.fa-twitter-square:before { content: "\e61a"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-x-twitter */
.fa.fa-vimeo-square:before { content: "\f194"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-vimeo */
.fa.fa-youtube:before { content: "\f167"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* youtube */
.fa.fa-youtube-square:before { content: "\f431"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-youtube */
.fa.fa-xing:before { content: "\f168"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* xing */
.fa.fa-xing-square:before { content: "\f169"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* square-xing */
.fa.fa-twitter:before { content: "\e61b"; } /* x-twitter */
.fa.fa-facebook-square:before { content: "\f082"; } /* square-facebook */
.fa.fa-facebook:before { content: "\f09a"; } /* facebook */
.fa.fa-github:before { content: "\f09b"; } /* github */
.fa.fa-github-square:before { content: "\f092"; } /* square-github */
.fa.fa-google-plus:before { content: "\f0d5"; } /* google-plus */
.fa.fa-google-plus-square:before { content: "\f0d4"; } /* square-google-plus */
.fa.fa-linkedin:before { content: "\f08c"; } /* linkedin */
.fa.fa-linkedin-square:before { content: "\f08c"; } /* square-linkedin */
.fa.fa-pinterest:before { content: "\f0d2"; } /* pinterest */
.fa.fa-pinterest-square:before { content: "\f0d3"; } /* square-pinterest */
.fa.fa-reddit-square:before { content: "\f1a2"; } /* square-reddit */
.fa.fa-tumblr:before { content: "\f173"; } /* tumblr */
.fa.fa-tumblr-square:before { content: "\f174"; } /* square-tumblr */
.fa.fa-twitter-square:before { content: "\e61a"; } /* square-x-twitter */
.fa.fa-vimeo-square:before { content: "\f194"; } /* square-vimeo */
.fa.fa-youtube:before { content: "\f167"; } /* youtube */
.fa.fa-youtube-square:before { content: "\f431"; } /* square-youtube */
.fa.fa-xing:before { content: "\f168"; } /* xing */
.fa.fa-xing-square:before { content: "\f169"; } /* square-xing */
.fa.fa-unsplash:before { content: "\e07c"; } /* unsplash */
.fa.fa-artstation:before { content: "\f77a"; } /* artstation */
.fa.fa-cc-by:before { content: "\f4e7"; } /* creative-commons-by */
.fa.fa-cc-nc:before { content: "\f4e8"; } /* creative-commons-nc */
.fa.fa-cc-nc-eu:before { content: "\f4e9"; } /* creative-commons-nc-eu */
.fa.fa-cc-nc-jp:before { content: "\f4ea"; } /* creative-commons-nc-jp */
.fa.fa-cc-nd:before { content: "\f4eb"; } /* creative-commons-nd */
.fa.fa-cc-pd:before { content: "\f4ec"; } /* creative-commons-pd */
.fa.fa-cc-remix:before { content: "\f4ee"; } /* creative-commons-remix */
.fa.fa-cc-sa:before { content: "\f4ef"; } /* creative-commons-sa */
.fa.fa-cc-share:before { content: "\f4f1"; } /* creative-commons-share */
.fa.fa-cc-zero:before { content: "\f4f3"; } /* creative-commons-zero */
.fa.fa-digitalocean:before { content: "\f391"; } /* digital-ocean */
.fa.fa-discord:before { content: "\f392"; } /* discord */
.fa.fa-ethereum:before { content: "\f42e"; } /* ethereum */
.fa.fa-f-droid:before { content: "\f17b"; } /* android */
.fa.fa-facebook-messenger:before { content: "\f39f"; } /* facebook-messenger */
.fa.fa-laravel:before { content: "\f3bd"; } /* laravel */
.fa.fa-mastodon:before { content: "\f4f6"; } /* mastodon */
.fa.fa-nodejs:before { content: "\f3d3"; } /* node-js */
.fa.fa-orcid:before { content: "\f8d2"; } /* orcid */
.fa.fa-patreon:before { content: "\f3d9"; } /* patreon */
.fa.fa-php:before { content: "\f457"; } /* php */
.fa.fa-python:before { content: "\f3e2"; } /* python */
.fa.fa-react:before { content: "\f41b"; } /* react */
.fa.fa-researchgate:before { content: "\f4f8"; } /* researchgate */
.fa.fa-signal:before { content: "\f694"; } /* signal-messenger */
/* Fork Awesome specific icon fallbacks */
.fa.fa-activitypub:before { content: "\f1e0"; } /* share-nodes */
.fa.fa-archive-org:before { content: "\f19c"; } /* building-columns */
.fa.fa-artstation:before { content: "\f77a"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* artstation */
.fa.fa-biometric:before { content: "\f577"; } /* fingerprint */
.fa.fa-c:before { content: "\43"; } /* letter C fallback */
.fa.fa-cc-by:before { content: "\f4e7"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-by */
.fa.fa-cc-nc:before { content: "\f4e8"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-nc */
.fa.fa-cc-nc-eu:before { content: "\f4e9"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-nc-eu */
.fa.fa-cc-nc-jp:before { content: "\f4ea"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-nc-jp */
.fa.fa-cc-nd:before { content: "\f4eb"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-nd */
.fa.fa-cc-pd:before { content: "\f4ec"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-pd */
.fa.fa-cc-remix:before { content: "\f4ee"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-remix */
.fa.fa-cc-sa:before { content: "\f4ef"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-sa */
.fa.fa-cc-share:before { content: "\f4f1"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-share */
.fa.fa-cc-zero:before { content: "\f4f3"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* creative-commons-zero */
.fa.fa-dat:before { content: "\f1c0"; } /* database */
.fa.fa-diaspora:before { content: "\f069"; } /* asterisk */
.fa.fa-digitalocean:before { content: "\f391"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* digital-ocean */
.fa.fa-discord:before { content: "\f392"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* discord */
.fa.fa-emby:before { content: "\f144"; } /* play-circle */
.fa.fa-ethereum:before { content: "\f42e"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* ethereum */
.fa.fa-f-droid:before { content: "\f17b"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* android */
.fa.fa-facebook-messenger:before { content: "\f39f"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* facebook-messenger */
.fa.fa-foster:before { content: "\e58b"; } /* hands-holding-child */
.fa.fa-friendica:before { content: "\f0c0"; } /* users */
.fa.fa-galaxy:before { content: "\f135"; } /* rocket */
@@ -531,35 +543,25 @@
.fa.fa-joplin:before { content: "\f02d"; } /* book */
.fa.fa-jsdelivr:before { content: "\f48b"; } /* truck-fast */
.fa.fa-keybase:before { content: "\f084"; } /* key */
.fa.fa-laravel:before { content: "\f3bd"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* laravel */
.fa.fa-liberapay:before { content: "\f4b9"; } /* hand-holding-heart */
.fa.fa-libreoffice:before { content: "\f1c2"; } /* file-word */
.fa.fa-line-graph:before { content: "\f201"; } /* chart-line */
.fa.fa-mastodon:before { content: "\f4f6"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* mastodon */
.fa.fa-matrix-org:before { content: "\f4ad"; } /* comment-dots */
.fa.fa-nextcloud:before { content: "\f0c2"; } /* cloud */
.fa.fa-nodejs:before { content: "\f3d3"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* node-js */
.fa.fa-orcid:before { content: "\f8d2"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* orcid */
.fa.fa-patreon:before { content: "\f3d9"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* patreon */
.fa.fa-peertube:before { content: "\f03d"; } /* video */
.fa.fa-php:before { content: "\f457"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* php */
.fa.fa-pi-hole:before { content: "\f3ed"; } /* shield-halved */
.fa.fa-pixelfed:before { content: "\f083"; } /* camera-retro */
.fa.fa-plume:before { content: "\f56b"; } /* feather */
.fa.fa-postgresql:before { content: "\f1c0"; } /* database */
.fa.fa-python:before { content: "\f3e2"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* python */
.fa.fa-react:before { content: "\f41b"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* react */
.fa.fa-researchgate:before { content: "\f4f8"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* researchgate */
.fa.fa-riot:before { content: "\f086"; } /* comments */
.fa.fa-scuttlebutt:before { content: "\f578"; } /* fish */
.fa.fa-signal:before { content: "\f694"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* signal-messenger */
.fa.fa-sketchfab:before { content: "\f1b2"; } /* cube */
.fa.fa-snowdrift:before { content: "\f2dc"; } /* snowflake */
.fa.fa-social-home:before { content: "\e57f"; } /* house-user */
.fa.fa-syncthing:before { content: "\f2f1"; } /* arrows-rotate */
.fa.fa-tex:before { content: "\f121"; } /* code */
.fa.fa-tor:before { content: "\f4f5"; } /* user-secret */
.fa.fa-unsplash:before { content: "\e07c"; font-family: 'Font Awesome 6 Brands' !important; font-weight: 400; } /* unsplash */
.fa.fa-vagrant:before { content: "\56"; } /* letter V fallback */
.fa.fa-vscode:before { content: "\f121"; } /* code */
.fa.fa-xmpp:before { content: "\f075"; } /* comment */
@@ -574,7 +576,7 @@
.fa.fa-toggle-on:before { content: "\f205"; } /* toggle-on */
.fa.fa-bicycle:before { content: "\f206"; } /* bicycle */
.fa.fa-bus:before { content: "\f207"; } /* bus */
.fa.fa-closed-captioning:before { content: "\f20a"; font-weight: 400; } /* closed-captioning regular */
.fa.fa-closed-captioning:before { content: "\f20a"; } /* closed-captioning regular */
.fa.fa-shekel:before, .fa.fa-sheqel:before, .fa.fa-ils:before { content: "\f20b"; } /* shekel-sign */
.fa.fa-cart-plus:before { content: "\f217"; } /* cart-plus */
.fa.fa-cart-arrow-down:before { content: "\f218"; } /* cart-arrow-down */
@@ -622,6 +624,7 @@
.fa.fa-thermometer-three-quarters:before { content: "\f2c8"; } /* temperature-three-quarters */
.fa.fa-bath:before, .fa.fa-bathtub:before { content: "\f2cd"; } /* bath */
.fa.fa-times-rectangle:before, .fa.fa-window-close:before, .fa.fa-times-rectangle-o:before, .fa.fa-window-close-o:before { content: "\f410"; } /* rectangle-xmark */
.fa.fa-power-off:before { content: "\f011"; } /* power-off */
/* Ensure FA4 style classes work */
.fa.pull-left {
@@ -635,14 +638,14 @@
}
/* Compatibility for -o outline variants using CSS pseudo-elements */
[class*=" fa-"][class*="-o"]:not(.fa-spotify):not(.fa-edge-o):not(.fa-sign-o),
[class^="fa-"][class*="-o"]:not(.fa-spotify):not(.fa-edge-o):not(.fa-sign-o) {
font-weight: 400 !important;
}
/*[class*=" fa-"][class*="-o"]:not(.fa-spotify):not(.fa-edge-o):not(.fa-sign-o),*/
/*[class^="fa-"][class*="-o"]:not(.fa-spotify):not(.fa-edge-o):not(.fa-sign-o) {*/
/* font-weight: 400 !important;*/
/*}*/
/* Handle special cases for icons ending in -o that aren't outline variants */
.fa-spotify:before,
.fa-edge-o:before,
.fa-sign-o:before {
font-weight: 900 !important;
}
/*.fa-spotify:before,*/
/*.fa-edge-o:before,*/
/*.fa-sign-o:before {*/
/* font-weight: 900 !important;*/
/*}*/

View File

@@ -1,9 +1,9 @@
/*!
* ForkAwesome to FontAwesome 6 JavaScript Shim
* ForkAwesome to FontAwesome 7 JavaScript Shim
* Version: 1.0.0
*
* This JavaScript shim provides runtime compatibility for ForkAwesome 1.1.5
* when migrating to FontAwesome 6.7.2
* when migrating to FontAwesome 7
*/
(function() {

View File

@@ -1,6 +1,6 @@
{
"version": "1.0.0",
"description": "ForkAwesome 1.1.5 to FontAwesome 6.7.2 icon mappings",
"description": "ForkAwesome 1.1.5 to FontAwesome 7 icon mappings",
"mappings": {
"direct": {
"comment": "Icons that map directly without changes",

View File

@@ -2,7 +2,7 @@
{% do assets.addCss(theme_url~'/css-compiled/template.css', {priority: 20}) %}
{% do assets.addCss('asset://admin-preset.css', {priority: 5}) %}
{% do assets.addCss(theme_url~'/css-compiled/simple-fonts.css') %}
{% do assets.addCss(theme_url~'/css/fontawesome-6.7.2.min.css') %}
{% do assets.addCss(theme_url~'/css/fontawesome7.min.css') %}
{% do assets.addCss(theme_url~'/css/fork-awesome-shim.css') %}
{% do assets.addCss(theme_url~'/css/chartist.min.css') %}
{% do assets.addCss(theme_url~'/css/selectize.min.css') %}

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<title>Icon Test</title>
<link rel="stylesheet" href="css/fontawesome-6.7.2.min.css">
<link rel="stylesheet" href="css/fontawesome7.min.css">
<link rel="stylesheet" href="css/fork-awesome-shim.css">
<style>
body { font-family: Arial, sans-serif; padding: 20px; }
@@ -12,7 +12,7 @@
</style>
</head>
<body>
<h1>FontAwesome 6 Icon Test</h1>
<h1>FontAwesome 7 Icon Test</h1>
<div class="test-row">
<h3>Testing fa-sign-out with ForkAwesome shim:</h3>
@@ -25,9 +25,9 @@
</div>
<div class="test-row">
<h3>Testing native FontAwesome 6 classes:</h3>
<i class="fa-solid fa-arrow-right-from-bracket test-icon"></i> - Native FA6 logout icon (solid)<br>
<i class="fa-solid fa-list-ol test-icon"></i> - Native FA6 list icon (solid)<br>
<h3>Testing native FontAwesome 7 classes:</h3>
<i class="fa-solid fa-arrow-right-from-bracket test-icon"></i> - Native FA7 logout icon (solid)<br>
<i class="fa-solid fa-list-ol test-icon"></i> - Native FA7 list icon (solid)<br>
<i class="fa-solid fa-right-from-bracket test-icon"></i> - Alternative logout icon
</div>