@vidhill/fortawesome-solid-11ty-shortcode
v1.0.1
Published
Eleventy shortcode to embedded @fortawesome/free-solid-svg-icons as inline svgs
Downloads
339
Maintainers
Readme
@vidhill/fortawesome-solid-11ty-shortcode
Eleventy/11ty shortcode.
Allows @fortawesome/free-solid-svg-icons to be embedded as inline svg into 11ty templates.
See solid icon names here: font-awesome-5-solid
$ npm install @vidhill/fortawesome-solid-11ty-shortcode --save
Setup
Option A: Import as a plugin, shortcodes names are fixed, if you want to name the shortcodes yourself see Option B
const {
fortawesomeSolidPlugin,
} = require('@vidhill/fortawesome-solid-11ty-shortcode');
module.exports = function (eleventyConfig) {
eleventyConfig.addPlugin(fortawesomeSolidPlugin);
return {
// normal eleventy config
};
};
Option B: import the render function so that a custom shortcode name can be defined
const {
fortawesomeSolidShortcode,
} = require('@vidhill/fortawesome-solid-11ty-shortcode');
module.exports = function (eleventyConfig) {
eleventyConfig.addShortcode('fortawesomeSolid', fortawesomeSolidShortcode);
return {
// normal eleventy config
};
};
Usage
Input
{% fortawesomeSolid 'bell' %}
Output
<svg
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="bell"
class="svg-inline--fa fa-bell fa-w-14 "
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 448 512"
>
<path fill="currentColor" d="M165.9 397.4c0....4-2.3-4-3.3-5.6-2z"></path>
</svg>
Input
Specifying a css class to be added to the svg
element
{% fortawesomeSolid 'bell', "social-icon" %}
Output
<svg
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="bell"
class="svg-inline--fa fa-bell fa-w-14 social-icon"
role="img"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 448 512"
>
<path fill="currentColor" d="M165.9 397.4c0....4-2.3-4-3.3-5.6-2z"></path>
</svg>
Multiple css class to be added to they svg by passing a comma separated string:
{% fortawesomeBrand 'github', "social-icon,unicorn-icon" %}
Development
- Build:
npm run build
- Watch build:
npm run dev
- Run tests:
npm run test
- Watch tests:
npm run test:watch