#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const { glob } = require('glob'); /** * Clean MDX files by removing unnecessary HTML wrappers and data attributes */ async function cleanMDXFiles() { const mdxFiles = await glob('data/blog/**/*.mdx'); console.log(`Found ${mdxFiles.length} MDX files to clean...`); for (const filePath of mdxFiles) { try { let content = fs.readFileSync(filePath, 'utf-8'); const originalContent = content; // Remove all data-start and data-end attributes content = content.replace(/\s*data-start="[^"]*"/g, ''); content = content.replace(/\s*data-end="[^"]*"/g, ''); // Remove all class="" attributes content = content.replace(/\s*class="[^"]*"/g, ''); // Remove all dir="auto" attributes content = content.replace(/\s*dir="auto"/g, ''); // Remove all data-message-* attributes content = content.replace(/\s*data-message-[^=]*="[^"]*"/g, ''); // Remove unnecessary wrapper divs (gizmo, flex containers, etc.) content = content.replace(/
]*>(.*?)<\/p>/g, (match, p1) => { // If it's just whitespace, skip it if (!p1.trim()) return ''; return p1.trim() + '\n'; }); // Clean up li tags content = content.replace(/
]*>(.*?)<\/p>\s*<\/li>/g, '- $1'); content = content.replace(/