close
The Wayback Machine - https://web.archive.org/web/20230626212556/https://github.com/rumkin/favicon-switcher
Skip to content

rumkin/favicon-switcher

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Favicon Switcher

Live preview

Light mode favicon example

Dark mode favicon example

Switches site's favicon by matching media queries. It could be used for light/dark mode switching. Due to browsers don't support all Media Query features in link tag, this module fixes it.

Usage

Script doesn't require any setup or configuration and works like a polyfill. The example below shows how to make dark/light mode icon switching.

Use the main library to automatically turn icon switching on:

<script src="https://unpkg.com/[email protected]/dist/index.js" crossorigin="anonymous" type="application/javascript"></script>

If you need more control to turn switching on and off use one of the next module:

UMD

Use with UMD:

<script src="https://unpkg.com/[email protected]/dist/index.umd.js" crossorigin="anonymous" type="application/javascript"></script>
<script>faviconSwitcher()</script>

ESM

Use as ES module:

<script type="module" language="javascript">
  import initSwitcher from 'https://unpkg.com/[email protected]/dist/index.esm.js'

  // Subscribe to media queries changing events
  const unsubscribe = initSwitcher()
  // Unsubscribe later on some condition. For example on page navigation.
  unsubscribe()
</script>

Complete example

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <link rel="icon" media="(prefers-color-scheme:dark)" href="favicon-dark.png" type="image/png" />
    <link rel="icon" media="(prefers-color-scheme:light)" href="favicon-light.png" type="image/png" />
    <script src="https://unpkg.com/[email protected]/dist/index.js" crossorigin="anonymous" type="application/javascript"></script>
  </head>
  <body></body>
</html>

License

MIT © Rumkin

Releases

No releases published

Packages

No packages published