setup-docs.mjs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/env node
  2. /**
  3. * Setup script for VitePress documentation
  4. * Prepares the docs directory structure before building
  5. */
  6. import { copyFileSync, existsSync, mkdirSync, cpSync } from 'fs';
  7. import { join, dirname } from 'path';
  8. import { fileURLToPath } from 'url';
  9. const __filename = fileURLToPath(import.meta.url);
  10. const __dirname = dirname(__filename);
  11. const rootDir = join(__dirname, '..');
  12. console.log('Setting up documentation structure...\n');
  13. // Create docs directory if it doesn't exist
  14. const docsDir = join(rootDir, 'docs');
  15. if (!existsSync(docsDir)) {
  16. mkdirSync(docsDir, { recursive: true });
  17. }
  18. // Copy README as index
  19. const readmeZh = join(rootDir, 'README.md');
  20. if (existsSync(readmeZh)) {
  21. copyFileSync(readmeZh, join(docsDir, 'index.md'));
  22. console.log('✓ Copied README.md to docs/index.md');
  23. }
  24. // Copy English README if exists
  25. const readmeEn = join(rootDir, 'README.en.md');
  26. if (existsSync(readmeEn)) {
  27. const enDir = join(docsDir, 'en');
  28. if (!existsSync(enDir)) {
  29. mkdirSync(enDir, { recursive: true });
  30. }
  31. copyFileSync(readmeEn, join(enDir, 'index.md'));
  32. console.log('✓ Copied README.en.md to docs/en/index.md');
  33. }
  34. // Copy doc directory
  35. const docDir = join(rootDir, 'doc');
  36. if (existsSync(docDir)) {
  37. // Copy to root level docs
  38. const targetDocDir = join(docsDir, 'doc');
  39. cpSync(docDir, targetDocDir, { recursive: true, force: true });
  40. console.log('✓ Copied doc/ directory');
  41. // For English version, also copy the doc directory
  42. const enDir = join(docsDir, 'en');
  43. if (existsSync(enDir)) {
  44. const enDocDir = join(enDir, 'doc');
  45. cpSync(docDir, enDocDir, { recursive: true, force: true });
  46. console.log('✓ Copied doc/ to English version');
  47. }
  48. }
  49. console.log('\nDocumentation structure setup complete!\n');