mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-10-26 00:36:31 +02:00
@@ -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.*
|
||||
9
themes/grav/css/fontawesome-6.7.2.min.css
vendored
9
themes/grav/css/fontawesome-6.7.2.min.css
vendored
File diff suppressed because one or more lines are too long
9
themes/grav/css/fontawesome7.min.css
vendored
Normal file
9
themes/grav/css/fontawesome7.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -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;*/
|
||||
/*}*/
|
||||
4
themes/grav/js/fork-awesome-shim.js
vendored
4
themes/grav/js/fork-awesome-shim.js
vendored
@@ -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() {
|
||||
|
||||
2
themes/grav/js/icon-mappings.json
vendored
2
themes/grav/js/icon-mappings.json
vendored
@@ -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",
|
||||
|
||||
@@ -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') %}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user