02-other.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const fs = require('fs');
  2. const moment = require('moment');
  3. const shell = require('shelljs');
  4. const utils = require('./utils/base');
  5. const config = require('./utils/config');
  6. const _list = require('./utils/list');
  7. config.uid = moment().format();
  8. config.time = moment().format('YYYY-MM-DD');
  9. function mkdir(path) {
  10. if (!fs.existsSync(path)) {
  11. fs.mkdirSync(path);
  12. }
  13. }
  14. shell.exec('rm -rf book && mkdir book');
  15. mkdir('./book/META-INF');
  16. fs.writeFileSync('./book/META-INF/container.xml', utils.container());
  17. fs.writeFileSync('./book/mimetype', 'application/epub+zip');
  18. mkdir('./book/OEBPS');
  19. mkdir('./book/OEBPS/Images');
  20. mkdir('./book/OEBPS/Styles');
  21. fs.writeFileSync('./book/OEBPS/Styles/mc-style.css', utils.style());
  22. mkdir('./book/OEBPS/Text');
  23. fs.writeFileSync('./book/OEBPS/Text/cover.xhtml', utils.cover());
  24. // opf toc.ncx ...
  25. utils.opf(config, _list).then(res => {
  26. fs.writeFileSync('./book/OEBPS/content.opf', res);
  27. return utils.tocNcx(config, _list);
  28. }).then(res => {
  29. fs.writeFileSync('./book/OEBPS/toc.ncx', res);
  30. return utils.book(config);
  31. }).then(res => {
  32. fs.writeFileSync('./book/OEBPS/Text/book.xhtml', res);
  33. });
  34. console.log('基本目录结构创建完毕!');