Add optional fa_icon_pack property to social_links to allow more Font Awesome icons packs beyond brands
Summary
Extends functionality introduced in #839. Proposal for my issue raised here: #843
Interface changes
Adds an optional property to the config keys under minima:social_links. Will not break existing configurations.
Motivation
Allow users to use icons from Font Awesome beyond the brands icon pack in their social links.
Hello again, @pfirpfel
I am not entirely in favor of using Liquid's default filter in a for loop owing to potential performance issues with using the theme in a site with numerous posts and pages because of this conditional flow.
(imagine calling :respond_to? for every social-icon entry with fa_icon_pack property set to a non-falsey value for every post / page in the site.. will it be too much of a concern? Maybe, maybe not.)
The one viable solution I see here is to force everyone to set the entire necessary Font Awesome icon classlist:
minima:
social_links:
- title: Jekyll repository at GitHub
icon: "fab fa-github"
url: "https://github.com/jekyll/jekyll"
- title: Email Jekyll
icon: "far fa-envelope"
url: "mailto:[email protected]"
Note how one can now opt to use fab or far instead of the expanded forms fa-brands and fa-regular respectively if they are familiar with that syntax.
N.B. You need not rebase your branch if you choose to make changes. We use squash merges here.
Any thoughts on my suggestion above, @pfirpfel?