From 95f9b24174e8534767a68de1987ac245c54883ed Mon Sep 17 00:00:00 2001 From: Sam Carlton Date: Sat, 15 May 2021 18:02:05 -0500 Subject: [PATCH] Enable structured data for eleventy layout --- layouts-eleventy/default.11ty.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/layouts-eleventy/default.11ty.js b/layouts-eleventy/default.11ty.js index 3a32b14..a053e2a 100644 --- a/layouts-eleventy/default.11ty.js +++ b/layouts-eleventy/default.11ty.js @@ -1,7 +1,7 @@ import fs from 'fs' import { JSDOM } from 'jsdom' -import config from '../nuxt.config' +import config from '../nuxt.config.js' console.log('Running Default Layout file') @@ -94,6 +94,9 @@ const cleanNuxtLayout = ( layout ) => { // Set link tags document.querySelector('title').insertAdjacentHTML('afterend', templateVar('link-tags') ) + // Add meta tags after title node + document.querySelector('title').insertAdjacentHTML('afterend', templateVar('structured-data') ) + // Add meta tags after title node document.querySelector('title').insertAdjacentHTML('afterend', templateVar('meta-tags') ) @@ -172,6 +175,21 @@ class DefaultLayout { return Object.values(meta).join('') } + generateStructuredData = function ( renderData ) { + + const { + structuredData = null + } = renderData + + // console.log('renderData', Object.keys(renderData)) + + if ( structuredData === null ) return '' + + const structuredDataJson = JSON.stringify( structuredData ) + + return `` + } + generateLinkTags = ( pageLinkTags = [] ) => { const linkTags = { @@ -211,6 +229,9 @@ class DefaultLayout { // this.generateMetaTags( data ) workingLayoutString = workingLayoutString.replace( templateVar('meta-tags'), this.generateMetaTags( data ) ) + // Add structured data + workingLayoutString = workingLayoutString.replace( templateVar('structured-data'), this.generateStructuredData( data ) ) + // Set page css // document.querySelector('head').insertAdjacentHTML('beforeend', this.getCss() )