Last active
November 9, 2022 10:17
-
-
Save rekai2/6873f9742cc443d6e384c3c0aa40af66 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Derived from "Open Graph och Twitter Cards för SiteVision" Limepark AB | |
## | |
## MIT License | |
## | |
## | |
## Copyright © 2022 rek.ai | |
## Settings | |
#set ($titleOrder = ['OG.Title', 'SV.Title']) | |
#set ($renderTitleMeta = true) | |
#set ($preambleOrder = ['OG.Description', 'SV.Description', 'summary']) | |
#set ($renderPreambleMeta = true) | |
#set ($renderPreambleAsDescription = false) | |
#set ($maxPreambleLength = 600) | |
#set ($imageOrder = ['OG.Image', 'SV.Image']) | |
#set ($renderImageMeta = true) | |
## UPDATE THIS VALUE | |
#set ($imageFallbackUrl = '') | |
#set ($imageFallbackWidth = '200') | |
#set ($imageFallbackHeight = '200') | |
## End of settings | |
#set ($utils = $request.getAttribute('sitevision.utils')) | |
#set ($nodeTreeUtil = $utils.nodeTreeUtil) | |
#set ($propertyUtil = $utils.propertyUtil) | |
#set ($currentPage = $utils.portletContextUtil.currentPage) | |
#set ($endecUtil = $utils.endecUtil) | |
#set ($imageUrl = '') | |
#set ($preambleText = '') | |
#set ($titleText = '') | |
#set ($imageWidth = '') | |
#set ($imageHeight = '') | |
#set ($imageMimeType = '') | |
#if ($renderImageMeta) | |
#foreach ($meta in $imageOrder) | |
#if ($imageUrl == '') | |
#set ($imageNode = $propertyUtil.getNode($currentPage, $meta)) | |
#if ($imageNode) | |
#set ($imageWidth = $propertyUtil.getInt($imageNode, 'width', 0)) | |
#set ($imageHeight = $propertyUtil.getInt($imageNode, 'height', 0)) | |
#set ($imageMimeType = $propertyUtil.getStringEscaped($imageNode, 'mimeType', '')) | |
#if ($imageWidth >= 200 && $imageHeight >= 200) | |
#set ($imageUrl = $propertyUtil.getString($imageNode, 'URL', '')) | |
#end | |
#end | |
#end | |
#end | |
#if ($imageUrl == '') | |
#if ($imageFallbackUrl != '') | |
#if ($imageFallbackUrl.substring(0, 1) == '/') | |
#set ($sitePageUrl = $propertyUtil.getString($utils.resourceLocatorUtil.sitePage, 'URL')) | |
#set ($sitePageUri = $propertyUtil.getString($utils.resourceLocatorUtil.sitePage, 'URI')) | |
#set ($dollar = '$') | |
#set ($imageFallbackUrl = $sitePageUrl.replaceAll("$!{sitePageUri}$!{dollar}", '') + $imageFallbackUrl) | |
#end | |
#set ($imageUrl = $imageFallbackUrl) | |
#set ($imageWidth = $imageFallbackWidth) | |
#set ($imageHeight = $imageFallbackHeight) | |
#end | |
#end | |
#if ($imageUrl != '') | |
<meta property="og:image" content="$!imageUrl" /> | |
#if ($imageWidth) | |
<meta property="og:image:width" content="$!imageWidth" /> | |
#end | |
#if ($imageHeight) | |
<meta property="og:image:height" content="$!imageHeight" /> | |
#end | |
#if ($imageMimeType != "") | |
<meta property="og:image:type" content="$!imageMimeType" /> | |
#end | |
#end | |
#end | |
#if ($renderPreambleMeta) | |
#foreach ($meta in $preambleOrder) | |
#if ($preambleText == '') | |
#set ($preambleText = $propertyUtil.getString($currentPage, $meta, '')) | |
#end | |
#end | |
#set ($preambleText = $preambleText.trim()) | |
#if ($maxPreambleLength > 0 && $preambleText.length() > $maxPreambleLength) | |
#set ( $preambleText = $preambleText.substring(0, $maxPreambleLength) + '...') | |
#end | |
#if ($preambleText != '') | |
#set ($preambleText = $endecUtil.escapeXML($preambleText)) | |
<meta property="og:description" content="$!preambleText" /> | |
#if ($renderPreambleAsDescription) | |
<meta name="description" content="$!preambleText" /> | |
#end | |
#end | |
#end | |
#if ($renderTitleMeta) | |
#foreach ($meta in $titleOrder) | |
#if ($titleText == '') | |
#set ($titleText = $propertyUtil.getStringEscaped($currentPage, $meta, '')) | |
#end | |
#end | |
#set ($titleText = $titleText.trim()) | |
#if ($titleText != '') | |
<meta property="og:title" content="$!titleText" /> | |
#end | |
#end | |
<meta name="twitter:card" content="summary" /> | |
<meta property="og:url" content="$propertyUtil.getString($currentPage, 'URL', '')" /> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For keywords:
<meta name="keywords" content="$propertyUtil.getString($currentPage, 'searchKeywords', '')" />