1.0.2 • Published 10 months ago

link-preview-extractor v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

Here’s the modified README file based on your request:


link-preview-extractor

link-preview-extractor is a lightweight Node.js package that extracts metadata from URLs, including title, description, images, and Open Graph/Twitter Card tags. It's ideal for generating rich previews for links, commonly used in social media, chat apps, and content-sharing platforms.

Features

  • Extracts metadata including title, description, and images from URLs.
  • Supports Open Graph (OG) and Twitter Card metadata.
  • Optionally returns images as base64 strings.
  • Simple to use with a clean API.
  • Option to return additional metadata details if needed.

Installation

Install the package using npm:

npm install link-preview-extractor

Usage

Basic Usage

const extractLinkPreview = require('link-preview-extractor');

const url = 'https://example.com';

extractLinkPreview(url)
  .then((metadata) => {
    console.log(metadata);
    // Output: { url, domain, title, description, image }
  })
  .catch((err) => console.error(err));

Example Output

{
  "url": "https://example.com",
  "domain": "example.com",
  "title": "Example Site",
  "description": "This is an example description.",
  "image": "https://example.com/image.jpg"
}

Advanced Usage

1. imageAsBase64 (Set to true)

You can request the image as a base64 string by setting the imageAsBase64 parameter to true. This is useful if you want to embed images directly into your app without making additional requests.

extractLinkPreview(url, true)
  .then((metadata) => {
    console.log(metadata);
    // Output includes image as a base64 string
  })
  .catch((err) => console.error(err));

Example Output (with imageAsBase64: true):

{
  "url": "https://example.com",
  "domain": "example.com",
  "title": "Example Site",
  "description": "This is an example description.",
  "image": "https://example.com/image.jpg",
  "imgBase64String": "<BASE64 IMAGE STRING>"
}

2. extraDetails (Set to true)

When you set the extraDetails parameter to true, additional metadata including metaTags, ogTags, and twitterTags is returned in the response.

extractLinkPreview(url, false, true)
  .then((metadata) => {
    console.log(metadata);
    // Output includes extra metadata details like metaTags, ogTags, and twitterTags
  })
  .catch((err) => console.error(err));

Example Output (with extraDetails: true):

{
  "url": "https://example.com",
  "domain": "example.com",
  "title": "Example Site",
  "description": "This is an example description.",
  "image": "https://example.com/image.jpg",
  "imgBase64String": "",
  "metaTags": {
    "title": "Example Meta Title",
    "description": "This is an example meta description.",
    "url": "https://example.com"
  },
  "ogTags": {
    "title": "Example OG Title",
    "description": "This is an example OG description.",
    "site_name": "Example Site",
    "url": "https://example.com",
    "image": "https://example.com/og-image.jpg"
  },
  "twitterTags": {
    "title": "Example Twitter Title",
    "description": "This is an example Twitter description.",
    "card": "summary_large_image",
    "image": "https://example.com/twitter-image.jpg"
  }
}

License

This project is licensed under the MIT License.

1.0.2

10 months ago

1.0.1

10 months ago