@hyperjumptech/favicon-fetcher
v1.0.5
Published
A utility to fetch a website's favicon
Downloads
717
Readme
Favicon Fetcher
favicon-fetcher
is a utility to fetch a website's favicon by using multiple strategies (the favicon.ico method, the DuckDuckGo API method, and the Google API method).
How to Use
- Install the dependencies
npm install @hyperjumptech/favicon-fetcher
- Use it in your code
const { getFavicon, EStrategies } = require('@hyperjumptech/favicon-fetcher') // CommonJS
import { getFavicon, EStrategies } from '@hyperjumptech/favicon-fetcher' // ES6
const result1 = await getFavicon('https://www.google.com') // using all strategies
console.log(result1) // returns a binary or a URL
const options = {
strategies: [EStrategies.duckduckgo, EStrategies.default], // use the DuckDuckGo API and default method
output: 'url', // can be 'url' or 'buffer'
}
const result2 = await getFavicon('https://www.google.com', options) // use some strategies
console.log(result2) // returns a binary or URL from either DuckDuckGo API or default method
Options
| Options | Type | Description | Default |
| ---------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| strategies | string[]
| Define the strategies that will be used to fetch the favicon. Each strategy will be run sequentially. Currently available strategies are: default
, http
, duckduckgo
, google
| ['default', 'http', 'duckduckgo', 'google']
|
| output | string
| Define the output format of the fetched favicon. Can be either url
or buffer
. | 'url'
|
Contributing
favicon-fetcher
is a Node.js application written in TypeScript.
It was developed on node v16 (LTS), and npm v8.
To start developing, clone this repository, then install the dependencies:
git clone [email protected]:hyperjumptech/favicon-fetcher.git
npm ci
To keep the formatting consistent, run the following command to format the source code:
npm run format
Finally you can also run npm run test
to prevent regression.
Once you have made the changes, open a Pull Request and explain the issue your change will fix or the feature your change will add.
Discussions
If you need help, want to give feedback, or have a great idea to improve Favicon Fetcher, get involved! Let us know in the Github discussions.
Please abide by the Contributor's Code of Conduct
License
MIT License.