Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ashwamegh/react-link-preview

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ashwamegh/react-link-preview

A component package which helps you render the preview of any link

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

link-preview

A component package which helps you render the preview data of any link

MIT Licence Open Source Love Build Status NPM JavaScript Style Guide
Buy Me A Coffee

NOTE: This utilizes https://github.com/ashwamegh/link-preview-generator-server server deployed on Azure, a free web server which can run 30 minutes in a day. If you want to use it in a PRODUCTION app, I would recommend you to use your own server (You can use the Dockerfile or the Docker hub image for deploying link-preview-generator-server) and provide the custom link of the API for customDomain in the Component Props

Demo

Table of Contents

Install

NPM

npm install @ashwamegh/react-link-preview

Yarn

yarn add @ashwamegh/react-link-preview

Usage

With built in layout

import React from 'react'

import LinkPreview from '@ashwamegh/react-link-preview'

// If you're using built in layout, you will need to import this css
import '@ashwamegh/react-link-preview/dist/index.css'

function Example() {
  return <LinkPreview url='https://reactjs.org' />
}

export default Example

With custom layout (using renderProps)

You can provide your own component to replace the existing one using renderProps.

import React from 'react'

import LinkPreview from '@ashwamegh/react-link-preview'

function CustomComponent({ loading, preview }) {
  return loading ? (
    <h1>Loading...</h1>
  ) : (
    <div>
      <p>Domain: {preview.domain}</p>
      <p>Title: {preview.title}</p>
      <p>Description: {preview.description}</p>
      <img height='100px' width='100px' src={preview.img} alt={preview.title} />
    </div>
  )
}

function App() {
  return (
    <LinkPreview
      url='https://reactjs.org'
      customDomain='https://lpdg-server.azurewebsites.net/parse/link'
      render={CustomComponent}
    />
  )
}

export default App

Props

PropertyTypeDefaultDescriptionRequired
urlstringURL to get preview datatrue
onClickfunctiononClick handler for the cardfalse
customDomainstringhttps://lpdg-server.azurewebsites.net/parse/linkCustom Server API link which can parse the metadata of the pagefalse
renderfunctionfunction which can be called with preview data to render custom componentfalse
widthstring90%Width of the card previewfalse
maxWidthstring700pxMax Width of the card previewfalse
marginTopstring18pxMargin top for the cardfalse
marginBottomstring18pxMargin bottom for the cardfalse
marginRightstringautoMargin right for the cardfalse
marginLeftstringautoMargin left for the cardfalse

Contribute

Thanks for taking the time to contribute, please check out the src to understand how things work.

Reporting Issues

Found a problem? Want a new feature? First of all, see if your issue or idea has already been reported. If don't, just open a new clear and descriptive issue.

Submitting pull requests

Pull requests are the greatest contributions, so be sure they are focused in scope and do avoid unrelated commits.

  • Fork it!
  • Clone your fork: git clone https://github.com/<your-username>/react-link-preview
  • Navigate to the newly cloned directory: cd react-link-preview
  • Create a new branch for the new feature: git checkout -b my-new-feature
  • Install the tools necessary for development: yarn
  • Make your changes.
  • Commit your changes: git commit -am 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request with full remarks documenting your changes

License

MIT License © Shashank Shekhar

FAQs

Package last updated on 30 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc