tgweb
Version:
Teamgenik Website Builder Offline Tool
41 lines (30 loc) • 1.06 kB
JavaScript
import { parseDocument } from "htmlparser2"
const getWrapper = (siteData, path) => {
const dirParts = path.split("/")
dirParts.pop()
for(let i = dirParts.length; i > 0; i--) {
const dir = dirParts.slice(0, i).join("/")
const wrapperPath = `${dir}/_wrapper.html`
const wrapper = siteData.wrappers.find(wrapper => wrapper.path === wrapperPath)
if (wrapper) {
if ("shared-wrapper" in wrapper.frontMatter.main) {
const sharedWrapperName = wrapper.frontMatter.main["shared-wrapper"]
const sharedWrapper =
siteData.sharedWrappers.find(sw =>
sw.path === `shared_wrappers/${sharedWrapperName}.html`
)
if (sharedWrapper) {
return sharedWrapper
}
else {
const message = `No common wrapper named "${sharedWrapperName}" found.`
wrapper.dom =
parseDocument(`<div class='bg-error text-black m-1 py-1 px-2'>${message}</div>"`)
return wrapper
}
}
return wrapper
}
}
}
export { getWrapper }