A fork of the iconic font and CSS toolkit

  • By Fork Awesome
  • Last update: Dec 23, 2022
  • Comments: 17

Fork Awesome

A fork of the iconic font and CSS toolkit

npm-badge all-contrib jsdeliver-badge cdnjs-badge build-status-badge matrix-badge

Fork Awesome is a suite of 796 pictographic and brand icons for easy, scalable vector graphics on websites and beyond.

This project, as the name suggests, began as a fork of Font Awesome. Font Awesome was originally created by Dave Gandy and ran as a community project. However, as Font Awesome developed, pull requests from the community stopped being accepted (October 2016) and as of version 5.0 the build system became private (February 2018).

With gratitude to Dave Gandy and the Font Awesome team, Julien Deswaef forked Font Awesome 4.7 into Fork Awesome 1.0 in February 2018, to continue building the amazing resource in a fully free, libre and open-source fashion, with and for the wider community. After a period of extended inactivity (i.e. no release since February 2019), several Fork Awesome users got together to try and revive the project 🌱

We are now catching up with backlogged issues and pull requests, updating technology and documentation — even reevaluating the project aims, as icon fonts gradually become deprecated. Come say hi in the #forkawesome:matrix.org matrix room 🙂

How to use

There is a full page in our documentation website that explains how to use Fork Awesome in your web project. It ranges from just pointing to a CSS file on a CDN, hosting it on your own server or even adapting the LESS and SCSS files to your own liking.

License

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

We also take great pride in recognizing any contributions made to this project. Whether you've written a blogpost about it, fixed a typo in the documentation or submitted new icons or code patches, we will happily list you in our contributors list.

Versioning

Fork Awesome will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • Big changes, without breaking backward compatibility, bumps the minor (and resets the patch)
  • Bug fixes, small adaptations, adding a few icons and misc changes bumps the patch
  • The fork started from FontAwesome 4.7 (last commit by Dave is bdfa9823).
  • The project starts at version 1.0.0. All references to versions before the fork are named 0.4.7

For more information on SemVer, please visit http://semver.org.

Building Fork Awesome

Before you can build the project, you must first have the following installed:

  • Ruby
  • Ruby Development Headers
    • Ubuntu: sudo apt-get install ruby-dev (Only if you're NOT using rbenv or rvm)
    • Windows: DevKit
    • macOS: no extra step required
  • Bundler (Run gem install bundler to install).
  • Node Package Manager (aka. npm)
  • Tools required to build the font:
    • Ubuntu: sudo apt-get install fontforge woff-tools woff2

From the root of the repository, install the tools used to develop.

$ bundle install
$ npm ci

Build the font:

$ make -C src/icons

Build the web documentation:

$ npm run build

Or serve it on a local server on http://localhost:7998:

$ npm run dev

Build the font in a Docker container

Another possibility is to build the font using the Dockerfile provided.

First, build the Docker image:

$ docker build -t fa-builder .

Then, run the Docker container:

$ docker run --rm -it \
    -u $(id -u):$(id -g) \
    -v $(pwd):$(pwd) \
    -w $(pwd) \
    fa-builder

Within the container, build the font:

$ bundle install --path vendor/bundle
$ npm ci
$ make -C src/icons

Github

https://github.com/ForkAwesome/Fork-Awesome

Comments(17)

  • 1

    compatibility with fontawesome v5

    Hello!

    It would be great if fork-awesome aimed for compatibility with fontawesome v5.

    For example, font-awesome v5 has renamed a large number of icons. It does not matter that the icons are exactly the same, just that fork-awesome provide icons with similar meanings under the same names so that it is easy to migrate from one to the other.

    Ideally, I would want to be able to use fork-awesome in place of font-awesome v5 with no changes to the code and get reasonable results.

    For example, fork-awesome could support the fas, fab and far prefixes alongside with the classic v4 prefixes.

    Let me add some context so that you understand where I am coming from.

    Fontawesome is a very popular Debian package (tens of thousands of installs). As Debian Developers, we are faced with the issue that fontawesome v5 has a non-free build system and is therefore not fit for inclusion in Debian. This is unfortunate because there are a bunch of great Debian apps that are migrating to Fontawesome v5. We are left with no fonts for these apps.

    If fork-awesome was compatible with fontawesome v5, we could use fork-awesome in these apps. We would probably also try to convince fontawesome users to switch to fork-awesome in the longer term.

    See the relevant Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902981

    Our discussion with upstream: https://github.com/FortAwesome/Font-Awesome/issues/13467

    fork-awesome could be the saviour we have been hoping for ;)

    What do you think?

  • 2

    Icon Request: fa-artstation

    Please consider adding the Artstation logo. Use cases would be for artist that want to link their Artstation portfolios. The official branding is available here. It's all Adobe Illustrator files though so I have converted the logo mark to an svg to make it easier. ArtStation-logomark-dark.zip

    Preview of the above zipped svg: artstation-logomark-dark

  • 3

    Icons from 1.1.6 not showing up

    In the v1.1.6 release, icons like fa-bootstrap, fa-hashnode, fa-c, fa-gimp, fa-inkscape and even fa-php (although this one is available on FA) aren't displayed when I'm viewing an HTML page.

    I'm using the stylesheet from https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.1.6/css/fork-awesome.min.css,

  • 4

    CDN?

    Since some people seem to want to want a CDN for distribution. Press the 👍 if that is your case.

    In the mean time, I've tried to set it up with jsDelivr... But I'm definitely sure I got the paths all wrong...

    If one of you want to tackle this issue or make suggestions on how to improve this.

  • 5

    Fix - dev-to icon missing from scss

    Adds a $fa-var-dev-to variable in _variables.scss and and selector in _icons.scss so the *-dev-to icon is available when compiling from sass.

    Addresses #168

  • 6

    Community chat?

    I'm interested in contributing, but I'm not super technically skilled and would be interested to ask a few questions... did anyone think of setting up a Matrix room or Gitter? Would be helpful for someone like me!

  • 7

    ORCiD logo

    Icon

    I'm checking with you if this is even possible.

    I'd like to have the ORCiD iD (https://orcid.org/) in the font, but I'm not sure if it is possible. Here is the repo with the logo

    https://figshare.com/articles/ORCID_iD_icon_graphics/5008697

    and here the "Trademark and iD Display Guidelines" page

    https://orcid.org/trademark-and-id-display-guidelines

    In particular they say:

    A black and white version of the iD icon is available solely for black and white printing use.

    Does this mean we cannot have a black and white version in the font?

    Name Suggestion

    fa-orcid

    Use Case

    Linking personal ORDiD in a personal/academic webpage.

  • 8

    Icon request: icon-fedora

    I noticed there is an icon for Debian, but other major distros are missing. Being a long time Fedora user I thought I chime in with this request.

    I’m no font editor by any means, but in case it helps, here is a link to an SVG version of their logo.

  • 9

    Add freedesktop.org logo

    Freedesktop is a community "focused on interoperability and shared technology for open-source graphical and desktop systems". They host a number of major FOSS projects on their GitLab, for example GStreamer, Wayland, Xorg, Mesa and many more.

    • https://www.freedesktop.org/
    • https://gitlab.freedesktop.org

    NOTE: if applicable, please merge this request after #258 (this MR contains both commits, because of the icons.yaml and the unicode value in it.

  • 10

    Investigate Composer.json error

    Received this error message from Packagist.org

    Reading composer.json of forkawesome/fork-awesome (dev)
    Found cached composer.json of forkawesome/fork-awesome (dev-dev)
    Reading composer.json of forkawesome/fork-awesome (master)
    Importing branch master (dev-master)
    Skipped branch master, Invalid package information: 
    Deprecation warning: require-dev.jekyll is invalid, it should have a vendor name, a forward slash, and a package name. The vendor and package name can be words separated by -, . or _. The complete name should match "^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$". Make sure you fix this as Composer 2.0 will error.
    Deprecation warning: require-dev.lessc is invalid, it should have a vendor name, a forward slash, and a package name. The vendor and package name can be words separated by -, . or _. The complete name should match "^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$". Make sure you fix this as Composer 2.0 will error.
    

    Need to investigate it.

  • 11

    Make build process free of warnings and errors

    The following comes from following the build instructions on Ubuntu 20.10.

    Building the fonts

    make -C src/icons succeeds, with "Using the last argument as keyword parameters is deprecated" warnings. These seem to arise from using outdated ruby gems. Terminal dump:

    $ make -C src/icons
    make: Entering directory '/home/doug/ext/Fork-Awesome/src/icons'
    Cleaning up SVG files...
    npx svgo --quiet --pretty --config=svgo_config.json --folder=svg
    Compiling Icons into a ForkAwesome fonts...
    bundle exec fontcustom compile
    /var/lib/gems/2.7.0/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated
    /var/lib/gems/2.7.0/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated
          create  forkawesome
    /var/lib/gems/2.7.0/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated
          create  forkawesome/forkawesome.ttf
                  forkawesome/forkawesome.svg
                  forkawesome/forkawesome.woff
                  forkawesome/forkawesome.eot
                  forkawesome/forkawesome.woff2
    /var/lib/gems/2.7.0/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated
          create  forkawesome/forkawesome.css
                  forkawesome/forkawesome-preview.html
    /var/lib/gems/2.7.0/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated
    Copying builds to root folder (package release)...
    cp ./forkawesome/forkawesome.eot ../../fonts/forkawesome-webfont.eot
    cp ./forkawesome/forkawesome.svg ../../fonts/forkawesome-webfont.svg
    cp ./forkawesome/forkawesome.ttf ../../fonts/forkawesome-webfont.ttf
    cp ./forkawesome/forkawesome.woff ../../fonts/forkawesome-webfont.woff
    cp ./forkawesome/forkawesome.woff2 ../../fonts/forkawesome-webfont.woff2
    done.
    make: Leaving directory '/home/doug/ext/Fork-Awesome/src/icons'
    

    Building the website

    npm run build, which aliases to bundle exec jekyll build within package.json, fails with:

    lessc --clean-css="--compatibility=ie8" --source-map assets/fork-awesome/css/fork-awesome.css assets/fork-awesome/css/fork-awesome.min.css
    undefinedError: Options have been provided but the plugin index.js does not support any options.
    

    More specifically, the website html files are built, but there is no styling. Additionally, there is tsunami of the warnings mentioned above. Terminal dump:

    ...
    ...
    ...
    /var/lib/gems/2.7.0/gems/jekyll-3.7.4/lib/jekyll/tags/include.rb:191: warning: Using the last argument as keyword parameters is deprecated
    /var/lib/gems/2.7.0/gems/jekyll-3.7.4/lib/jekyll/tags/include.rb:191: warning: Using the last argument as keyword parameters is deprecated
    Cleaning build dirs
    rm -rf ./less/
    rm -rf ./scss/
    Compiling Less files
    lessc assets/fork-awesome/less/fork-awesome.less assets/fork-awesome/css/fork-awesome.css
    lessc --clean-css="--compatibility=ie8" --source-map assets/fork-awesome/css/fork-awesome.css assets/fork-awesome/css/fork-awesome.min.css
    undefinedError: Options have been provided but the plugin index.js does not support any options.
    
    
    make: *** [Makefile:30: build] Error 1
                        done in 7.875 seconds.
     Auto-regeneration: disabled. Use --watch to enable.
    
  • 12

    Icon request: Hometown

    Acknowledgement

    • [X] I have searched through both open and closed issues and confirm that this icon has not been requested earlier.

    Icon

    Large version of Hometown icon

    (This is the largest version I could find, though normally it is black and white)

    Name suggestion

    fa-hometown

    Use-case

    To represent the Mastodon fork Hometown.

    Additional information for brand icons

    No response

  • 13

    Forkawesome survey! Please take part.

    There has been no activity in the git repository for over a year. Many other free icon sets now exist, and the use of SVG is increasing. This survey aims to assess the relevance of Forkawesome and how it should continue.

    This survey is open, share it! Responses are private and anonymized. I will publish the results of this survey along with a personal reflection sometime in January.

    https://cryptpad.fr/form/#/2/form/view/pwpiQueZ4G0V7XsSpg3zqEUMHi9R4XdH6-8DNikWFCQ/

  • 14

    Add Strava icon

    This PR adds the icon of Strava - social media platform for runners, cyclists and swimmers

    Fixes https://github.com/ForkAwesome/Fork-Awesome/issues/400

  • 15

    Bump qs from 6.5.2 to 6.5.3

    Bumps qs from 6.5.2 to 6.5.3.

    Changelog

    Sourced from qs's changelog.

    6.5.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Fix] utils.merge`: avoid a crash with a null target and a truthy non-array source
    • [Fix] correctly parse nested arrays
    • [Fix] stringify: fix a crash with strictNullHandling and a custom filter/serializeDate (#279)
    • [Fix] utils: merge: fix crash when source is a truthy primitive & no options are provided
    • [Fix] when parseArrays is false, properly handle keys ending in []
    • [Fix] fix for an impossible situation: when the formatter is called with a non-string value
    • [Fix] utils.merge: avoid a crash with a null target and an array source
    • [Refactor] utils: reduce observable [[Get]]s
    • [Refactor] use cached Array.isArray
    • [Refactor] stringify: Avoid arr = arr.concat(...), push to the existing instance (#269)
    • [Refactor] parse: only need to reassign the var once
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
    • [Docs] Clarify the need for "arrayLimit" option
    • [meta] fix README.md (#399)
    • [meta] add FUNDING.yml
    • [actions] backport actions from main
    • [Tests] always use String(x) over x.toString()
    • [Tests] remove nonexistent tape option
    • [Dev Deps] backport from main
    Commits
    • 298bfa5 v6.5.3
    • ed0f5dc [Fix] parse: ignore __proto__ keys (#428)
    • 691e739 [Robustness] stringify: avoid relying on a global undefined (#427)
    • 1072d57 [readme] remove travis badge; add github actions/codecov badges; update URLs
    • 12ac1c4 [meta] fix README.md (#399)
    • 0338716 [actions] backport actions from main
    • 5639c20 Clean up license text so it’s properly detected as BSD-3-Clause
    • 51b8a0b add FUNDING.yml
    • 45f6759 [Fix] fix for an impossible situation: when the formatter is called with a no...
    • f814a7f [Dev Deps] backport from main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • 16

    Icon request: movim

    Acknowledgement

    • [X] I have searched through both open and closed issues and confirm that this icon has not been requested earlier.

    Icon

    Official URL: https://movim.eu/img/vectorial.svg

    Icon Movim

    Name suggestion

    fa-movim

    Use-case

    To promote movim site, or blogs.

    Movim is a federated blogging and chat platform that acts as a web frontend for the XMPP protocol. Official URL: https://movim.eu/

    Additional information for brand icons

    https://github.com/movim/movim/blob/master/COPYING

  • 17

    Add SourceHut icon

    Hi there :wave:

    This PR adds the SourceHut icon.

    The make command also edited some files under fonts/, src/icons/.fontcustom-manifest.json, and also (weirdly) a couple of SVGs. Is that expected that I add those changes in the commit introducing the new icon?