1.0.11 • Published 12 months ago

vue3-json-ld v1.0.11

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

vue3-json-ld

Vue JS Seminar

Why is there a package?

JSON+LD is a great way to add structured data to your website. This is especially useful for SEO purposes. This package allows you to easily add JSON+LD to your Vue application.

But why not just add the JSON+LD directly to the HTML? Because the JSON+LD Data needs to be within a <script> tag. And Vue does not allow you to add a <script> tag within the template.

Further it is comperatively hard to put the JSON+LD data into the head of the document.

Installation

Run npm or yarn installation of the vue3-json-ld package:

yarn

$ yarn add vue3-json-ld

npm

$ npm install vue3-json-ld

Set Up your Vue Application

// App.vue

import { createApp } from 'vue'
import App from './App.vue'
import Vue3JsonLD from 'vue3-json-ld';

const app = createApp(App)
app.use(Vue3JsonLD)
app.mount('#app')

Usage

Basic Usage (JSON+LD as Slot)

<template>
  <vue-json-ld>
    {
      "@context": "http://schema.org",
      "@type": "Organization",
      "name": "Google",
      "url": "http://www.google.com",
      "sameAs": [
        "http://www.facebook.com/google",
        "http://www.twitter.com/google"
      ]
    }
  </vue-json-ld>
</template>

Basic Usage (JSON+LD as Slot)

<template>
  <vue-json-ld :json-ld="jsonLdObject" />
</template>

<script setup>
import { ref } from 'vue';
const jsonLdObject = ref({
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "Google",
  "url": "http://www.google.com",
  "sameAs": [
    "http://www.facebook.com/google",
    "http://www.twitter.com/google"
  ]
});
</script>

Props

head

This places the JSON LD in the head of the document. This is useful for SEO purposes.

<vue-json-ld :head="true" :json-ld="jsonLdObject" />

json-ld

This is the JSON+LD object that you want to render.

<vue-json-ld :json-ld="jsonLdObject" />

Slots

default

You can simply pass your json+ld String as the default slot (between the component tags):

<vue-json-ld>
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "name": "Google",
    "url": "http://www.google.com",
    "sameAs": [
      "http://www.facebook.com/google",
      "http://www.twitter.com/google"
    ]
  }
</vue-json-ld>

Resources

1.0.11

12 months ago

1.0.10

12 months ago

1.0.9

12 months ago

1.0.8

12 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago