chore: normalize formatting for workers
This commit is contained in:
parent
2f6cfbe7ae
commit
2cd835d31b
14 changed files with 879 additions and 604 deletions
|
@ -1,29 +1,49 @@
|
|||
import { parseHTML } from 'linkedom'
|
||||
import { parseHTML } from "linkedom";
|
||||
|
||||
export const updateDynamicContent = (html, metadata, mediaHtml) => {
|
||||
const { document } = parseHTML(html)
|
||||
const { document } = parseHTML(html);
|
||||
|
||||
const titleTag = document.querySelector('title[data-dynamic="title"]')
|
||||
if (titleTag) titleTag['textContent'] = metadata['title']
|
||||
const titleTag = document.querySelector('title[data-dynamic="title"]');
|
||||
if (titleTag) titleTag["textContent"] = metadata["title"];
|
||||
|
||||
const dynamicMetaSelectors = [
|
||||
{ selector: 'meta[data-dynamic="description"]', attribute: 'content', value: metadata['description'] },
|
||||
{ selector: 'meta[data-dynamic="og:title"]', attribute: 'content', value: metadata['og:title'] },
|
||||
{ selector: 'meta[data-dynamic="og:description"]', attribute: 'content', value: metadata['og:description'] },
|
||||
{ selector: 'meta[data-dynamic="og:image"]', attribute: 'content', value: metadata['og:image'] },
|
||||
{ selector: 'meta[data-dynamic="og:url"]', attribute: 'content', value: metadata['canonical'] },
|
||||
]
|
||||
{
|
||||
selector: 'meta[data-dynamic="description"]',
|
||||
attribute: "content",
|
||||
value: metadata["description"],
|
||||
},
|
||||
{
|
||||
selector: 'meta[data-dynamic="og:title"]',
|
||||
attribute: "content",
|
||||
value: metadata["og:title"],
|
||||
},
|
||||
{
|
||||
selector: 'meta[data-dynamic="og:description"]',
|
||||
attribute: "content",
|
||||
value: metadata["og:description"],
|
||||
},
|
||||
{
|
||||
selector: 'meta[data-dynamic="og:image"]',
|
||||
attribute: "content",
|
||||
value: metadata["og:image"],
|
||||
},
|
||||
{
|
||||
selector: 'meta[data-dynamic="og:url"]',
|
||||
attribute: "content",
|
||||
value: metadata["canonical"],
|
||||
},
|
||||
];
|
||||
|
||||
dynamicMetaSelectors.forEach(({ selector, attribute, value }) => {
|
||||
const element = document.querySelector(selector)
|
||||
if (element) element.setAttribute(attribute, value)
|
||||
})
|
||||
const element = document.querySelector(selector);
|
||||
if (element) element.setAttribute(attribute, value);
|
||||
});
|
||||
|
||||
const canonicalLink = document.querySelector('link[rel="canonical"]')
|
||||
if (canonicalLink) canonicalLink.setAttribute('href', metadata['canonical'])
|
||||
const canonicalLink = document.querySelector('link[rel="canonical"]');
|
||||
if (canonicalLink) canonicalLink.setAttribute("href", metadata["canonical"]);
|
||||
|
||||
const pageElement = document.querySelector('[data-dynamic="page"]')
|
||||
if (pageElement) pageElement.innerHTML = mediaHtml
|
||||
const pageElement = document.querySelector('[data-dynamic="page"]');
|
||||
if (pageElement) pageElement.innerHTML = mediaHtml;
|
||||
|
||||
return document.toString()
|
||||
}
|
||||
return document.toString();
|
||||
};
|
||||
|
|
Reference in a new issue