BETA
Sort by:
Sorting

All pages will be filtered by your selected preferences

Buy us a coffeePsst! We're working to help you locate only the best packages and tools. If you think we're doing a good job, buy us a coffee :)
Buy us a coffeePsst! We're working to help you locate only the best packages and tools. If you think we're doing a good job, buy us a coffee :)

link-prevue

Vue component for generate a link preview


207
7
4 months ago
516

Link Prevue

A flexible component for generating a link preview

Link Prevue

Live Demo.

Demo repository.

Intallation

npm install link-prevue

Basic usage

Javascript

import LinkPrevue from 'link-prevue'

new Vue({
  el: '#app',
  components: {
    LinkPrevue
  }
})

HTML

<div id="app">
  <link-prevue url="https://vuejs.org/"></link-prevue>
</div>

:+1:

Custom card

To use a custom card, set your own html code between the aperture tag and the close tag of component. Using the scoped slot.

<div id="app">
  <link-prevue url="https://vuejs.org/">
    <template slot-scope="props">
      <div class="card" style="width: 20rem;">
        <img class="card-img-top" :src="props.img" :alt="props.title" />
        <div class="card-block">
          <h4 class="card-title">{{props.title}}</h4>
          <p class="card-text">{{props.description}}</p>
          <a v-bind:href="props.url" class="btn btn-primary">More</a>
        </div>
      </div>
    </template>
  </link-prevue>
</div>

Custom loading indicator

To use a custom loading indicator, use the loading slot.

<div id="app">
  <link-prevue url="https://vuejs.org/">
    <template slot="loading">
      <!-- set your custom loading -->
      <h1>Loading...</h1>
    </template>
  </link-prevue>
</div>

Custom button handler

For custom button handler use the onButtonClick property, like.

HTML

<div id="app">
  <link-prevue url="https://vuejs.org/" :onButtonClick="onClick"></link-prevue>
</div>

Javascript

import LinkPrevue from 'link-prevue'

export default {
  components:{
    LinkPrevue
  },
  methods: {
    onClick(prevue) {
      console.log('click', prevue.images, prevue.title, prevue.url, prevue.description)
    }
  }
}

Props API

link-prevue have the following props for customize the component

PropTypeRequiredDefault ValueDescription
urlStringyesundefinedSite url for generate link preview
onButtonClickFunctionnoundefinedFunction for a custom button handler, params => prevue
cardWidthStringno'400px'Card width, accept px and %
showButtonBooleannotrueRender card button
apiUrlStringnohttps://link-prevue-api-v2.herokuapp.com/preview/Custom API url check this

API REST

link-prevue use an API REST for retrieve link data if you want to use your own API REST check this.

License

This code is distributed under the terms and conditions of the MIT license.

Donate

Link Prevue

Address: 0xd0177a8D356A757Cb65E64222bD41132fC6ee571