Font Awesome Manager

Font Awesome Manager 1.2.7

No permission to download
I didn't actually test this, but theoretically this should work to keep maintain your "piggybacking" stuff and FAM compatibility)

Buddy, let me know if you need a UI.X 2 test environment, so I'll set up a dummy clone for you and give you full access.
 
CSS:
    .userBanner.userBanner--docente {&:before {.m-faBase(); .m-faContent('\f51c'); color: #70c5ea; padding-right: 4px; font-size: 14px; font-weight:900;}}
    .userBanner.userBanner--appassionato {&:before {.m-faBase(); .m-faContent('\e1b0'); color: #777; padding-right: 4px; font-size: 12px; font-weight:900;}}    // \f406 user-alt    \e065 house-chimney-user
There is no icon on codepoint e1b0 in FA5 ?

Icon f51c / chalkboard-teacher does get detected:
Code:
* extra.less [2995]: info-circle,sticky-note,stream,comments,thumbs-up,bell,address-card,shield-alt,lock,signature,paypal,users-class,user-circle,user-check,users-slash,user-times,sign-out,ellipsis-v,share,home,user,inbox,question-circle,chart-bar,star,check-square,check,map-marker,cog,steak,turkey,fish,egg,carrot,lemon,cheese-swiss,wheat,birthday-cake,candy-cane,mortar-pestle,tint,badge,betamax,camera-home,tachometer-alt-slowest,weight,oil-temp,water,sprinkler,computer-classic,oven,temperature-frigid,thermometer,copy,rectangle-portrait,rectangle-landscape,file,clone,blanket,ballot-check,list-alt,ballot,knife-kitchen,ruler-triangle,fist-raised,chess-rook-alt,book-spells,sign-language,mitten,hand-sparkles,eye,quote-left,file-alt,envelope,mail-bulk,pen-fancy,bells,check-double,sliders-h,bookmark,address-book,window-restore,user-plus,plus-circle,chevron-circle-up,telegram-plane,key,times,hat-chef,pen-alt,shield-virus,fire,flag,gavel,user-clock,check-circle,map-marked-alt,smile-beam,bullhorn,comments-alt,books,handshake,cogs,file-invoice,life-ring,exclamation-triangle,hard-hat,clipboard-list,cabinet-filing,book-user,treasure-chest,reply,users,at,file-contract,user-secret,clipboard-list-check,theater-masks,tags,feather-alt,medal,user-shield,id-card-alt,football-helmet,user-slash,pizza-slice,cow,store,chart-network,dna,stethoscope,tools,industry-alt,cash-register,chalkboard-teacher
so that should work just fine.

The layer-group icon is from the main menu on top bar (desktop version), so it's set in the public navigation setup in ACP.
I am sorry, but I have no idea what you are talking about :(

There is no icon layer-group with codepoint f788 in FA 5.

So either the codepoint or the name is wrong for FA 5 (codepoint for layer-group in FA 5 is f5fd which is included, most likely because it was manually added to the icon list? I should probably include this info in the log as well ...)

The log also shows that you apparently did not read the FAQ carefully enough (Hint: Compatibility > Is this Add-on compatible with Style X? > ThemeHouse UI.X) ;)

Re-check your icon names / codepoints (and fix them), make sure you exclude the UI.X templates, rebuild and check again.
 
Last edited:
There is no icon on codepoint e1b0 in FA5 ?

Well, that was my mistake... 😅

I've taken the house-user unicode after your previous reply, but I didn't realize that v6 was selected in the search bar. But anyway, the Unicode I was using previously (e065) is the house-user icon in FA v5:

1657533525537.png


Icon f51c / chalkboard-teacher does get detected:
[...]
so that should work just fine.

In fact... so I don't understand why mine is broken:

XcqNjCf.png

There is no icon layer-group with codepoint f788 in FA 5.

So either the codepoint or the name is wrong for FA 5 (codepoint for layer-group in FA 5 is f5fd which is included, most likely because it was manually added to the icon list? I should probably include this info in the log as well ...)

Yep, I've added "layer-group" to the icons list in FAM options, so now it's visible again.

I am sorry, but I have no idea what you are talking about :(

I was referring to this in ACP > Setup > Public navigation, and if you open any of the items in there, you'll see this:

1657534275081.png

I have 3 more Public navigation items from the main menu of my community, set exactly the same with their own icons: the icons for these were initially missing, but then all 3 were detected by the Automatically add missing Icons option. While the icon of this specific item, the icon was kind of deleted from the menu since the little squared Unicode was replaced with a blank space. This is when I added layer-group to the icons list.


Anyway I went through the FAQ, added those templates to the exclude field, re-checked missing icons codes and rebuilt. Looks like nothing changed (a new Rebuild log is attached)...




I didn't actually test this, but theoretically this should work to keep maintain your "piggybacking" stuff and FAM compatibility
let me know if you need a UI.X 2 test environment, so I'll set up a dummy clone for you and give you full access

By the way, the offer is still valid :)
 

Attachments

In fact... so I don't understand why mine is broken:

XcqNjCf.png
As far as I can see from the log (which does look much better now), icon f51c is included in the main subset and should work just fine (if used in the main weight; depending on sour settings it might not work if used in a different weight).

Check the weight the icon is used in vs. FA weight set folr the style; if they are different either change the weight of the icon(s) or add the icon(s) to the correct list.

If the icon(s) still do not work afterwards please literally follow the instructions in FAQ I've tried everything, but icons are still missing or otherwise broken. How can I get help?

I have 3 more Public navigation items from the main menu of my community, set exactly the same with their own icons: the icons for these were initially missing,
This is expected behaviour if
  1. Option Only use CSS for selected weight is enabled
  2. Your font awesome weight is not Solid
as the icons are explicitly requested in solid, no matter which weight is used by the style.
This is explained in the FAQ: Some icons are missing, how can I fix this?

Unless you explicitly need / want icons to be in a different wieght I'd recommend to use tham in main weight instead to keep subsets small.

but then all 3 were detected by the Automatically add missing Icons option.
This is expected behaviour as well, after all this is what the function was made for ;)
 
I already do have support for UI.X ready for 1.3.0 (which should be ready for beta testing soonish, but besides that:
You could just leave fa.css untouched and instead change helper_ja_global

Code:
<xf:set var="$cssUrls" value="{{ ['public:normalize.css', 'public:fa.css', 'public:core.less', $app . ':app.less'] }}" />

to smth. similar like

Code:
<xf:set var="$cssUrls" value="{{ ['public:normalize.css', 'public:uix_icons.css', 'public:core.less', $app . ':app.less'] }}" />

uix_icons.css
Code:
<xf:if is="{{ property('uix_iconFontFamily')}} == 'fontawesome'">
{{ include('fa.css') }}
</xf:if>
/** your UI.X stuff here **/

(I didn't actually test this, but theoretically this should work to keep maintain your "piggybacking" stuff and FAM compatibility)

We did some testing, and that fix works well - thanks for that!
 
Unless you explicitly need / want icons to be in a different wieght I'd recommend to use tham in main weight instead to keep subsets small.
I'll look into it later on or tomorrow and let you know eventually 🤝

Looks like I could recover all missing icons, that was mostly due to the weight value. So this means that the subset is ignoring the numerical values, since most of mine was set to font-weight: 900 which is the solid equivalent as far as I know. Is that right?

The strange thing is that after turning to solid also those ones with a lower font-weight, it's still being shown with a regular weight (not solid). But that's what I set initially, so... who cares? 😄



Thanks, Kirby, for your hints and time
 
So this means that the subset is ignoring the numerical values, since most of mine was set to font-weight: 900 which is the solid equivalent as far as I know.
Yes. 900 is solid and the scanning code doesn't care for weights (in some cases it would be pretty much impossible to determine correct weight on the server side), just looks for fa icon names and codepoints and implicutly adds matches to the icons list, eg. the subset created for icons used in the weight selected for the style.

The strange thing is that after turning to solid also those ones with a lower font-weight, it's still being shown with a regular weight (not solid). But that's what I set initially, so... who cares?
I don't understand that part :)
 
Last edited:
I don't understand that part:)
😅


I mean that a couple of missing icons were set to 400, so I replaced the value with "solid" to recover it. But besides it is set to solid, the front-end still shows it with a weight of 400. 😄

oHEQNXu.png
 
Last edited:
I mean that a couple of missing icons were set to 400, so I replaced the value with "solid" to recover it. But besides it is set to solid, the front-end still shows it with a weight of 400.
The icon is a regular icon and the CSS shows it's weight is 400, so that seems correct.

Is regular the selected weight for your style?
If yes the icon must be in the Icons list (should be there implicitly, see my previous reply).
If not the icon must be on the Regular Icons list.
 
I activated the Visitor Panel en adde this add-on:

Now I have problem with the icons: original it should look like in this pcture:

Screenshot_1.png

But I get this result:

Screenshot 2022-07-27 at 17-26-15 PiepCompSupport.png

I also activated:

Screenshot 2022-07-27 at 17-28-20 Font Awesome PiepCompSupport - Configuratiescherm voor Behee...png

But that does not work.
What did I miss out?
 
I activated the Visitor Panel en adde this add-on:
This Add-on is using somewhat "proprietary" HTML instead of standard XenForo templater function <xf:fa>.
By doing so, the icons are always using solid weight.

If the selected weight for your style is not Solid as well (the default weight is Regular), those icons will be missing if style property Only use CSS for selected weight is enabled as FAM currently can't detect if icons are used in a weight that is different from the main weight.

In this case the icon names must be added to the list Solid Icons manually as explained in FAQ Some icons are missing, how can I fix this?

An alternattive to adding "foreign weight" icons to the appropriate lists manually is to temporarily enable option Automatically add missing icons.

If this option is enabled, missing icons should be detected on the client via JavaScript and added automatically after a few minutes (if there is sufficient traffic).
This is explained in the FAQ as well.

I also activated:

[...]

But that does not work.
What did I miss out?
As already explained by @Hoffi, your input for Additional Entities doesn't make sense.

This configuration option is to support Add-ons that store icon references in non-standard locations (eg. custom database fields).

By configuring those database locations ("Entities") FAM can automatically discover those icons as they are added / removed/ modified without having to manually add them to the appropriate lists (or relying on option Automatically add missing icons which should not be enabled for production use!)

One such example Add-on would be https://xenforo.com/community/resources/cv6-nodeicons.5565/

In order to detect icons configured by this Add-on the following stanca would have to be added to option Additional Entities
Code:
XF:Node:cv6_icon

Usually this information would have to be provided by Add-on authors.
 
Last edited:
During translation I noticed this small glitch in the phrase kirby_fam_pyftsubset_path_empty:
Code:
The path to <i>pyftsubset</a> executable may not be empty if pyftsubset is used as processor.
should be
Code:
The path to <i>pyftsubset</i> executable may not be empty if pyftsubset is used as processor.
 
I received these errors:
  • GuzzleHttp\Exception\ClientException: Client error: GET https://transfonter.org resulted in a 403 Forbidden response: <html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr> (truncated...)
  • src/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113




  • Stack trace​


    #0 src/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
    #1 src/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
    #2 src/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
    #3 src/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
    #4 src/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run(true)
    #5 src/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn()
    #6 src/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending()
    #7 src/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList()
    #8 src/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
    #9 src/vendor/guzzlehttp/guzzle/src/Client.php(182): GuzzleHttp\Promise\Promise->wait()
    #10 src/vendor/guzzlehttp/guzzle/src/Client.php(95): GuzzleHttp\Client->request('get', 'https://transfo...', Array)
    #11 src/addons/Kirby/FontAwesomeManager/Processor/Transfonter.php(75): GuzzleHttp\Client->__call('get', Array)
    #12 src/addons/Kirby/FontAwesomeManager/Processor/Transfonter.php(308): Kirby\FontAwesomeManager\Processor\Transfonter->getUserId()
    #13 src/addons/Kirby/FontAwesomeManager/Helper.php(223): Kirby\FontAwesomeManager\Processor\Transfonter->createSubsets(Array, '/home/explorerf...', Array)
    #14 src/addons/Kirby/FontAwesomeManager/Job/FontAwesome.php(809): Kirby\FontAwesomeManager\Helper->createSubsets(Array)
    #15 src/addons/Kirby/FontAwesomeManager/Job/FontAwesome.php(133): Kirby\FontAwesomeManager\Job\FontAwesome->rebuildFontFiles(Array, Array)
    #16 src/XF/Job/Manager.php(260): Kirby\FontAwesomeManager\Job\FontAwesome->run(8)
    #17 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
    #18 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 8)
    #19 job.php(43): XF\Job\Manager->runQueue(false, 8)
    #20 {main}

Request state​


array(4) {
["url"] => string(15) "/forums/job.php"
["referrer"] => string(97) "https://www.explorerforum.com/forums/admin.php?add-ons/install-from-archive-complete&batch_id=188"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
--------------------------------------
Server error log



  • LogException: Font Awesome Subset Rebuild
  • N/A:1

  • Generated by: Unknown account
  • October 7, 2022 at 3:14 PM


Stack trace​


Client error: GET https://transfonter.org resulted in a 403 Forbidden response:
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr> (truncated...)



Request state​


array(4) {
["url"] => string(15) "/forums/job.php"
["referrer"] => string(90) "https://www.explorerforum.com/forums/threads/tail-light-swap-3rd-to-4th-generation.373615/"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
 
Just a little clarification

Screen Shot 2022-10-08 at 10.08.59 PM.webp

Generally, when one asks for the path to an executable, one places the path there. I "assumed" that it already knew what program to look for there, but it required the path and the file name both.
 
Generally, when one asks for the path to an executable, one places the path there. I "assumed" that it already knew what program to look for there, but it required the path and the file name both.

=> The path of a fileystem object (which might be a file or a directory) consists of all parent directories and the item itself.

Just asking for the path of the directory containing the executable would introduce an artificial limitation, eg. it would only work if the executable is named exactly pyftsubset (which might not necessarily be the case).

This is also consistent with similar XFMG options:
1665348349562.webp

I therefore think the hint is pretty clear - one should enter the path of the pyftsubset executable, not the path of the directory containing the executable/binary.
 
Top Bottom