A fork of the iconic font and CSS toolkit

  • By Fork Awesome
  • Last update: Sep 15, 2022
  • Comments: 15

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(15)

  • 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(s): icon-atlassian, icon-jira, icon-confluence

    Acknowledgement

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

    Icon

    icon-atlassian: mark-gradient-white-atlassian mark-onecolor-white-atlassian

    icon-jira: mark-gradient-white-jira

    icon-confluence: mark-gradient-white-confluence

    Name suggestion

    icon-atlassian, icon-jira, icon-confluence

    Use-case

    To promote the use of Atlassian products

    Additional information for brand icons

    Yes, Atlassian is a "brand" icon. Their logo guidelines can be found here: https://atlassian.design/foundations/logos

  • 13

    Icon: move-to

    Acknowledgement

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

    Icon

    From Google Fonts: drive_file_move_outline_FILL0_wght400_GRAD0_opsz48

    Name suggestion

    move-to

    Use-case

    Move a file(s) or a folder(s) to another folder.

    Additional information for brand icons

    No response

  • 14

    MDN icon

    Acknowledgement

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

    Icon

    Mozilla Developers Network aka MDN.

    No branding pack, but announced here the new logo.

    Name suggestion

    mdn

    Use-case

    For a research directly on MDN.

    Additional information for brand icons

    No response

  • 15

    Mobilizon

    Acknowledgement

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

    Icon

    https://commons.wikimedia.org/wiki/File:Icon_Mobilizon.png

    Name suggestion

    fa-mobilizon

    Use-case

    to promote Mobilizon or link a resource (event, group..) from an instance of Mobilizon in a website

    Additional information for brand icons

    Mobilizon is a federated open source alternative to Facebook Events/Groups, Meetup, Eventbrite...