meetguru/postbuild.js
Arseny Sazhin (via WeWeb) c9daa179b2 v58 - release
2025-06-25 01:38:57 +07:00

36 lines
1.6 KiB
JavaScript

import fs from 'fs';
const collectionPages = {};
for (const collectionName in collectionPages) {
const template = fs.readFileSync(`./dist${collectionName}/index.html`, 'utf8');
const collectionId = collectionName.split('/').pop().replace('path__', '');
const titleRegex = new RegExp(`${collectionId}title__`, 'g');
const descRegex = new RegExp(`${collectionId}desc__`, 'g');
const imageRegex = new RegExp(`image" content="[^"]*${collectionId}image__`, 'g');
const socialTitleRegex = new RegExp(`${collectionId}socialTitle__`, 'g');
const socialDescRegex = new RegExp(`${collectionId}socialDesc__`, 'g');
const keywordsRegex = new RegExp(`${collectionId}keywords__`, 'g');
const pathRegex = new RegExp(`${collectionId}path__/"`, 'g');
collectionPages[collectionName].forEach(collectionItem => {
fs.mkdirSync(`./dist/${collectionItem.path}`, { recursive: true });
const index = template
.replace(titleRegex, collectionItem.title || '')
.replace(descRegex, collectionItem.desc || '')
.replace(imageRegex, `image" content="${collectionItem.image || ''}`)
.replace(socialTitleRegex, collectionItem.socialTitle || '')
.replace(socialDescRegex, collectionItem.socialDesc || '')
.replace(keywordsRegex, collectionItem.keywords || '')
.replace(pathRegex, `${collectionItem.path}/"`);
fs.writeFileSync(`./dist/${collectionItem.path}/index.html`, index);
});
fs.rmSync(`./dist${collectionName}/index.html`);
fs.rmdirSync(`./dist${collectionName}`);
}