Skip to content

Latest commit

 

History

History
112 lines (83 loc) · 2.74 KB

File metadata and controls

112 lines (83 loc) · 2.74 KB

@vidhill/fortawesome-brands-11ty-shortcode

CircleCI

NPM Version

Eleventy/11ty shortcode.

Allows @fortawesome/free-brands-svg-icons to be embedded as inline svg into 11ty templates.

See brand icon names here: font-awesome-5-brands

$ npm install @vidhill/fortawesome-brands-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 {
    fortawesomeBrandsPlugin,
} = require('@vidhill/fortawesome-brands-11ty-shortcode');

module.exports = function (eleventyConfig) {
    eleventyConfig.addPlugin(fortawesomeBrandsPlugin);

    return {
        // normal eleventy config
    };
};

Option B: import the render function so that a custom shortcode name can be defined

const {
    fortawesomeBrandsShortcode,
} = require('@vidhill/fortawesome-brands-11ty-shortcode');

module.exports = function (eleventyConfig) {
    eleventyConfig.addShortcode('fortawesomeBrand', fortawesomeBrandsShortcode);

    return {
        // normal eleventy config
    };
};

Usage

Input

{% fortawesomeBrand 'github' %}

Output

<svg
    aria-hidden="true"
    focusable="false"
    data-prefix="fab"
    data-icon="github"
    class="svg-inline--fa fa-github fa-w-16"
    role="img"
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 496 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

{% fortawesomeBrand 'github', "social-icon" %}

Output

<svg
    aria-hidden="true"
    focusable="false"
    data-prefix="fab"
    data-icon="github"
    class="svg-inline--fa fa-github fa-w-16 social-icon"
    role="img"
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 496 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: pnpm run build
  • Watch build: pnpm run dev
  • Run tests: pnpm run test
  • Watch tests: pnpm run test:watch