mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2025-12-17 05:55:11 +00:00
52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
import fs from 'fs';
|
|
import path from 'path';
|
|
|
|
const docsDir = path.resolve(process.cwd(), 'docs');
|
|
|
|
function findAndFixIndexFiles(directory) {
|
|
try {
|
|
const items = fs.readdirSync(directory, { withFileTypes: true });
|
|
|
|
for (const item of items) {
|
|
const fullPath = path.join(directory, item.name);
|
|
if (item.isDirectory()) {
|
|
findAndFixIndexFiles(fullPath); // Recurse into subdirectories
|
|
} else if (item.name === 'index.md') {
|
|
fixLinksInFile(fullPath); // Fix the index.md file
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.error(`Error reading directory ${directory}: ${error.message}`);
|
|
}
|
|
}
|
|
|
|
function fixLinksInFile(filePath) {
|
|
try {
|
|
let content = fs.readFileSync(filePath, 'utf8');
|
|
let changed = false;
|
|
|
|
// Determine the language directory ('en' or 'zh')
|
|
const lang = filePath.includes(path.join(docsDir, 'en')) ? 'en' : 'zh';
|
|
|
|
// The incorrect prefix is always /en/en/ because the zh directory was copied from en
|
|
const incorrectLinkPattern = /\(\/en\/en\//g;
|
|
const correctLinkPrefix = `](/${lang}/`;
|
|
|
|
if (incorrectLinkPattern.test(content)) {
|
|
content = content.replace(incorrectLinkPattern, correctLinkPrefix);
|
|
changed = true;
|
|
}
|
|
|
|
if (changed) {
|
|
fs.writeFileSync(filePath, content, 'utf8');
|
|
console.log(`Fixed dead links in: ${path.relative(process.cwd(), filePath)}`);
|
|
}
|
|
} catch (error) {
|
|
console.error(`Failed to fix file ${filePath}: ${error.message}`);
|
|
}
|
|
}
|
|
|
|
console.log('--- Starting to fix dead links in index.md files ---');
|
|
findAndFixIndexFiles(docsDir);
|
|
console.log('--- Finished fixing dead links. ---');
|