Use json for schema.org instead of tags

pull/246/head
Chocobozzz 2018-01-24 09:21:45 +01:00
parent d0e848b77e
commit c7b1b92b11
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 8 additions and 10 deletions

View File

@ -53,7 +53,7 @@ zip -r "PeerTube/$zip_name" "$directory_name/CREDITS.md" "$directory_name/FAQ.md
"$directory_name/dist" "$directory_name/package.json" \ "$directory_name/dist" "$directory_name/package.json" \
"$directory_name/scripts" "$directory_name/support" \ "$directory_name/scripts" "$directory_name/support" \
"$directory_name/tsconfig.json" "$directory_name/yarn.lock" \ "$directory_name/tsconfig.json" "$directory_name/yarn.lock" \
"$directory_name/server/" \ "$directory_name/server/" "$directory_name/shared/" \
|| exit -1 || exit -1
rm "$directory_name" || exit -1 rm "$directory_name" || exit -1

View File

@ -85,6 +85,8 @@ function addOpenGraphAndOEmbedTags (htmlStringPage: string, video: VideoModel) {
] ]
const schemaTags = { const schemaTags = {
'@context': 'http://schema.org',
'@type': 'VideoObject',
name: videoNameEscaped, name: videoNameEscaped,
description: videoDescriptionEscaped, description: videoDescriptionEscaped,
duration: video.getActivityStreamDuration(), duration: video.getActivityStreamDuration(),
@ -95,25 +97,21 @@ function addOpenGraphAndOEmbedTags (htmlStringPage: string, video: VideoModel) {
} }
let tagsString = '' let tagsString = ''
// Opengraph
Object.keys(openGraphMetaTags).forEach(tagName => { Object.keys(openGraphMetaTags).forEach(tagName => {
const tagValue = openGraphMetaTags[tagName] const tagValue = openGraphMetaTags[tagName]
tagsString += `<meta property="${tagName}" content="${tagValue}" />` tagsString += `<meta property="${tagName}" content="${tagValue}" />`
}) })
// OEmbed
for (const oembedLinkTag of oembedLinkTags) { for (const oembedLinkTag of oembedLinkTags) {
tagsString += `<link rel="alternate" type="${oembedLinkTag.type}" href="${oembedLinkTag.href}" title="${oembedLinkTag.title}" />` tagsString += `<link rel="alternate" type="${oembedLinkTag.type}" href="${oembedLinkTag.href}" title="${oembedLinkTag.title}" />`
} }
tagsString += '<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">' // Schema.org
tagsString += '<h2>Video: <span itemprop="name">' + schemaTags.name + '</span></h2>' tagsString += `<script type="application/ld+json">${JSON.stringify(schemaTags)}</script>`
Object.keys(schemaTags).forEach(tagName => {
const tagValue = schemaTags[tagName]
tagsString += `<meta itemprop="${tagName}" content="${tagValue}" />`
})
tagsString += '</div>'
return htmlStringPage.replace(OPENGRAPH_AND_OEMBED_COMMENT, tagsString) return htmlStringPage.replace(OPENGRAPH_AND_OEMBED_COMMENT, tagsString)
} }