/posthtml-inline-favicon

PostHTML plugin to inline favicons

Primary LanguageHTMLMIT LicenseMIT

posthtml-inline-favicon

NPM

posthtml-inline-favicon is a PostHTML plugin to inline favicons.

Before:

<head>
  <link rel="icon" href="favicon.ico" />
</head>

After:

<head>
  <link rel="icon" type="image/png" href="data:image/png;base64,..." />
</head>

Install

# npm
npm i -D posthtml-inline-favicon

# pnpm
pnpm add -D posthtml-inline-favicon

# Yarn
yarn add -D posthtml-inline-favicon

Usage

const fs = require("fs");
const posthtml = require("posthtml");
const { inlineFavicon } = require("posthtml-inline-favicon");

const html = fs.readFileSync("./index.html");

posthtml()
  .use(inlineFavicon())
  .process(html)
  .then((result) => fs.writeFileSync("./after.html", result.html));

Options

By default, the plugin assumes that the file to process is in the same directory as the posthtml script. If not, specify the relative path to the html file in the options:

const fs = require("fs");
const posthtml = require("posthtml");
const { inlineFavicon } = require("posthtml-inline-favicon");

const html = fs.readFileSync("./public/index.html");

posthtml()
  .use(inlineFavicon({ path: "public" }))
  .process(html)
  .then((result) => fs.writeFileSync("./after.html", result.html));

Contributing

See the PostHTML Guidelines.

License

MIT