emoji-favicon-webpack-plugin

1.5.0 • Public • Published

Emoji Favicon Webpack Plugin

Generates a favicon based on an emoji for your webapp

Installation

$ npm install --save-dev emoji-favicon-webpack-plugin

Usage

Add the plugin to your webpack config and pass your emoji of choice to it as an argument. A favicon will be generated and outputted with your bundle.

const EmojiFaviconPlugin = require('emoji-favicon-webpack-plugin');
const HtmlPlugin = require('html-webpack-plugin');
 
module.exports = {
  plugins: [
    new EmojiFaviconPlugin('🦑'),
    new HtmlPlugin() // not required, but really handy
  ]
};

If you're using html-webpack-plugin, the HTML tags necessary to include your favicon will automatically be appended to the <head> of your document.

<head>
  <!-- other tags -->
  <link rel="shortcut icon" href="favicon.ico">
</head>

Options

By default, we use Twemoji for consistent results across all operating systems. If you would prefer to use your system's emoji font instead, specify the useSystem option in the constructor.

new EmojiFaviconPlugin({
  emoji: '🍣',
  useSystem: true,
  sizes: [16] // default is [16, 32, 48]
})

You can also specify a shortcode instead of an emoji! Check out this link for a complete listing of emojis and their shortcodes.

new EmojiFaviconPlugin(':bathtub:') // 🛁

A note about using system emoji

MacOS has a pretty awesome and extensive library of emoji built into its Apple Color Emoji typeface, but other operating systems aren't so lucky. If you normally develop on a Mac, you will see different results when you build your app on a Linux or Windows machine.

In order to get consistent results between development and production, you should make sure that you use the same operating system for building in each environment. The configuration required to make this happen varies between CI tools, but if you use TravisCI, you can add the following to your .travis.yml file depending on what OS you're trying to target:

MacOS

os: osx

Ubuntu

# the following is required to use Ubuntu system emoji 
# https://github.com/travis-ci/travis-ci/issues/8836#issuecomment-348227535 
sudo: required
addons:
  chrome: stable

Usage with Gatsby

To generate an emoji favicon with Gatsby, use the Gatsby plugin.

License

MIT

Package Sidebar

Install

npm i emoji-favicon-webpack-plugin

Weekly Downloads

8

Version

1.5.0

License

MIT

Unpacked Size

6.59 kB

Total Files

4

Last publish

Collaborators

  • trevorblades