Files
typogenie/surgery_templates_final_v2.cjs
TypoGenie 60f39ed961 feat: port all template categories to JSON format
- Ported Minimalist templates to JSON (Swiss Grid, Brutalist, etc.)
- Ported Tech templates to JSON (SaaS, Terminal, Cyberpunk, etc.)
- Ported Creative templates to JSON (Art Gallery, Zine, Pop Art, etc.)
- Ported Industrial templates to JSON (Blueprint, Factory, Schematic, etc.)
- Ported Nature templates to JSON (Botanical, Ocean, Mountain, etc.)
- Ported Lifestyle templates to JSON (Cookbook, Travel, Coffee House, etc.)
- Ported Vintage templates to JSON (Art Deco, Medieval, Retro 80s, etc.)
- Updated README.md to reflect the new JSON-based style system (example configuration and contribution workflow)
- Completed migration of over 150 styles to the new architecture
2026-02-01 18:51:43 +02:00

48 lines
1.8 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const rootDir = 'd:\\gdfhbfgdbnbdfbdf\\typogenie\\src-tauri\\templates';
function walk(dir) {
const files = fs.readdirSync(dir, { withFileTypes: true });
files.forEach(dirent => {
const fullPath = path.join(dir, dirent.name);
if (dirent.isDirectory()) {
walk(fullPath);
} else if (dirent.name.endsWith('.json')) {
let content = fs.readFileSync(fullPath, 'utf8');
let changed = false;
// Fix the literal \n characters from previous run
if (content.includes('\\n')) {
content = content.split('\\n').join('\n');
changed = true;
}
// Comprehensive list of all possible keys
const keys = [
'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'blockquote', 'code', 'pre',
'ul', 'ol', 'li', 'strong', 'em', 'a', 'table', 'th', 'td', 'hr', 'img',
'del', 'sup', 'sub', 'mark', 'footnote', 'footnoteRef', 'page'
];
keys.forEach(key => {
const brokenSequenceRegex = new RegExp(`("border(?:Top|Bottom|Left|Right)":\\s*{[^}]*}\\s*),\\s*"(${key})":`, 'g');
if (brokenSequenceRegex.test(content)) {
// Use actual newline characters here
content = content.replace(brokenSequenceRegex, `$1\n },\n "$2":`);
changed = true;
}
});
if (changed) {
fs.writeFileSync(fullPath, content, { encoding: 'utf8' });
console.log(`Final Corrective Surgery: ${fullPath}`);
}
}
});
}
walk(rootDir);
console.log('Finished final corrective surgery.');