/* eslint-disable no-console -- logs required */ import fs from 'fs'; import path from 'path'; const docsDir = path.resolve(import.meta.dirname, '..', process.argv[2] || 'docs'); pinIndexToTop(); /** * Гарантирует наличие sidebar_position: 0 в front matter файла index.md */ function pinIndexToTop() { const indexPath = path.join(docsDir, 'index.md'); if (!fs.existsSync(indexPath)) { return; } let content = fs.readFileSync(indexPath, 'utf8'); if (content.startsWith('---\n')) { const endIdx = content.indexOf('\n---\n', 4); if (endIdx === -1) { return; } const frontMatter = content.slice(4, endIdx); if (/^sidebar_position\s*:/m.test(frontMatter)) { return; } content = '---\nsidebar_position: 0\n' + frontMatter + '\n---\n' + content.slice(endIdx + 5); } else { content = '---\nsidebar_position: 0\n---\n' + content; } fs.writeFileSync(indexPath, content); console.log('prepare-docs: pinned index.md to sidebar top'); }