Skip to content

spatie/font-awesome-filetypes

Repository files navigation

Font Awesome Filetypes

MIT Licensed Build Status

Helper to retrieve the Font Awesome 5 icon for a specific file extension.

Support us

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

npm install font-awesome-filetypes

For Font Awesome 4, install v1 of this package

Usage

Basic Examples

By default, the module exports the function to retrieve an icon's class name:

import getClassNameForExtension from 'font-awesome-filetypes'

const filename = 'foobar.jpg'
const extension = filename.split('.').pop()

const className = getClassNameForExtension(extension)

// className = 'fa-file-image-o'

You could also explicitely import the function:

import { getClassNameForExtension } from 'font-awesome-filetypes'

Ths module also exposes a function to retrieve an html string of the icon (as per the Font Awesome docs):

import { getIconForExtension } from 'font-awesome-filetypes'

const filename = 'foobar.jpg'
const extension = filename.split('.').pop()

const icon = getIconForExtension(extension)

// icon = '<i class="fa fa-file-image-o"></i>'

Other Exposed Objects

Retrieve the object containing all icon classnames:

import icons from 'font-awesome-filetypes/lib/icons'

// icons = { image: 'fa-file-image-o', pdf: 'fa-file-pdf-o', ... }

Retrieve the object containing all supported extensions:

import extensions from 'font-awesome-filetypes/lib/extensions'

// extensions = { gif: 'fa-file-image-o', jpeg: 'fa-file-image-o', ... }

Testing

You can run the tests (ESLint & Mocha) with:

npm run test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email security@spatie.be instead of using the issue tracker.

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

License

The MIT License (MIT). Please see License File for more information.