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()
]
};
If you're using html-webpack-plugin, the HTML tags necessary to include your favicon will automatically be added to the <head>
of your document.
...
<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]
})
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
sudo: required
addons:
chrome: stable
Usage with Gatsby
To generate an emoji favicon with Gatsby, use the Gatsby plugin.
License
MIT