Skip to content

Instantly share code, notes, and snippets.

@yoovanr
Last active July 23, 2021 10:47
Show Gist options
  • Save yoovanr/da451e11b99b828a0c2a19605e0bc31e to your computer and use it in GitHub Desktop.
Save yoovanr/da451e11b99b828a0c2a19605e0bc31e to your computer and use it in GitHub Desktop.
[Vue] helpers/meta-tags.js
const generateMetaTags = (params) => {
const metaTags = []
const validMetaTags = ['description']
validMetaTags.forEach((metaTag) => {
if (params[metaTag]) {
metaTags.push({
hid: `${metaTag}`,
name: `${metaTag}`,
content: params[metaTag],
})
}
})
return metaTags
}
const generateOpenGraphMetaTags = (params) => {
const metaTags = []
const validMetaTags = ['title', 'description', 'url', 'image', 'type']
validMetaTags.forEach((metaTag) => {
if (params[metaTag]) {
metaTags.push({
hid: `og:${metaTag}`,
property: `og:${metaTag}`,
content: params[metaTag],
})
}
})
return metaTags
}
const generateTwitterMetaTags = (params) => {
const metaTags = []
const validMetaTags = ['title', 'description', 'image']
validMetaTags.forEach((metaTag) => {
if (params[metaTag]) {
metaTags.push({
hid: `twitter:${metaTag}`,
property: `twitter:${metaTag}`,
content: params[metaTag],
})
}
})
return metaTags
}
const generateHeadData = (params) => {
const metaTags = generateMetaTags(params)
const openGraphMetaTags = generateOpenGraphMetaTags(params)
const twitterMetaTags = generateTwitterMetaTags(params)
const meta = [
...metaTags,
...openGraphMetaTags,
...twitterMetaTags,
]
return {
title: params.title,
meta,
}
}
export default {
generateMetaTags,
generateOpenGraphMetaTags,
generateTwitterMetaTags,
generateHeadData,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment