fetch-content.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const chalk = require('chalk');
  2. var fetch_projects = require('./fetch-scripts/fetch-projects');
  3. var requirements = require('./fetch-scripts/check-requirements');
  4. //console.log(process.argv)
  5. global.source = "/Users/james/codex/projects"
  6. var hasArg = function(arg){
  7. for (let i = 0; i < process.argv.length; i++) {
  8. if (arg == process.argv[i]) return true;
  9. }
  10. return false;
  11. }
  12. var isVerbose = function(){
  13. if(hasArg('-v') || hasArg('--verbose')) {
  14. global.isVerbose = true;
  15. return true;
  16. } else {
  17. global.isVerbose = false;
  18. return false;
  19. }
  20. }
  21. if(hasArg('help') || hasArg('-h')) {
  22. console.log();
  23. console.log('Usage: ' + chalk.bgWhite.black('node fetch-content <command>'));
  24. console.log();
  25. console.log('Copy files from codex to build the website content.');
  26. console.log();
  27. console.log(chalk.bold(' Command Description'));
  28. console.log(' projects Copy projects from Codex');
  29. console.log(' posts Copy blog posts from Codex');
  30. console.log(' test Test requirements for all projects');
  31. console.log(' test <project> Test requirements for a specific project');
  32. console.log(' -v, --verbose Log all output');
  33. console.log();
  34. console.log();
  35. return;
  36. }
  37. if(hasArg('test')){
  38. if(isVerbose()) console.log('Checking requirements:');
  39. var query = ""
  40. for (let i = 3; i < process.argv.length; i++) {
  41. if (process.argv[i] != '-v' && process.argv[i] != '--verbose' ) query += process.argv[i] + " ";
  42. }
  43. if(query != '') global.isVerbose = true;
  44. requirements.showRequirements(query.replace(/\s+$/, ''), fetch_projects.list_projects())
  45. return;
  46. }
  47. if(hasArg('projects')) {
  48. if(isVerbose()) console.log('Copying projects from Codex');
  49. fetch_projects.all();
  50. return;
  51. }
  52. if(hasArg('posts')) {
  53. if(isVerbose()) console.log('Copying blog posts from Codex');
  54. return;
  55. }
  56. if(isVerbose()) console.log('Copying projects and blog posts from Codex');
  57. fetch_projects.all();