files.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import fs from 'node:fs';
  2. // 创建 src/docs/components 目录
  3. // Create src/docs/components directory
  4. const createDoc = () => {
  5. fs.mkdirSync('src/docs');
  6. fs.mkdirSync('src/docs/components');
  7. console.log('🎉 src/docs/components create success!');
  8. };
  9. // 将 ../../docs/mds/components/**/api.md 和 ../../docs/mds/components/**/api_en.md 文件复制到 src/docs/components/**/ 目录下
  10. // Copy ../../docs/mds/components/**/api.md and ../../docs/mds/components/**/api_en.md files to src/docs/components/**/ directory
  11. const copyDoc = () => {
  12. const components = fs.readdirSync('../../docs/mds/components');
  13. // 如果 components 有 .DS_Store 文件,删除
  14. // If components has .DS_Store file, delete
  15. if (components.includes('.DS_Store')) {
  16. components.splice(components.indexOf('.DS_Store'), 1);
  17. }
  18. for (const component of components) {
  19. const files = fs.readdirSync(`../../docs/mds/components/${component}`);
  20. fs.mkdirSync(`src/docs/components/${component}`);
  21. for (const file of files) {
  22. if (file === 'api.md' || file === 'api_en.md') {
  23. fs.copyFileSync(`../../docs/mds/components/${component}/${file}`, `src/docs/components/${component}/${file}`);
  24. }
  25. }
  26. }
  27. console.log(`🎉 Total copy ${components.length}*2 files!`);
  28. };
  29. // 复制 ../../docs/site/src/data/menuList.ts 文件到 src 目录下
  30. // Copy ../../docs/site/src/data/menuList.ts file to src directory
  31. const copyMenuList = () => {
  32. // 读取 ../../docs/site/src/data/menuList.ts 文件
  33. const menuList = fs.readFileSync('../../docs/site/src/data/menuList.ts', 'utf-8');
  34. console.log(menuList);
  35. // 将其中的部分内容替换为另一个文件中的内容
  36. // Replace the content of the file with the content of another file
  37. const newMenuList = menuList.replace(
  38. `export type MenuListChild = {
  39. title: string;
  40. title_zh: string;
  41. title_en: string;
  42. nav: string;
  43. tip: string;
  44. tip_en: string;
  45. alias: string;
  46. };
  47. export type MenuList = { class: string; class_en: string; childs: MenuListChild[] };
  48. export const menuList: MenuList[] = [`,
  49. 'export default ['
  50. );
  51. fs.writeFileSync('./src/menuList.js', newMenuList);
  52. console.log('🎉 menuList copy success!');
  53. };
  54. // 复制 ../../LICENSE 文件到 ./ 目录下
  55. // Copy ../../LICENSE file to ./ directory
  56. const copyLicense = () => {
  57. fs.copyFileSync('../../LICENSE', './LICENSE');
  58. console.log('🎉 LICENSE copy success!');
  59. };
  60. createDoc();
  61. copyDoc();
  62. copyMenuList();
  63. copyLicense();