build-docs.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/env node
  2. /**
  3. * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  4. * For licensing, see LICENSE.md.
  5. */
  6. /* eslint-env node */
  7. 'use strict';
  8. const buildApiDocs = require( './buildapi' );
  9. const skipLiveSnippets = process.argv.includes( '--skip-snippets' );
  10. const skipApi = process.argv.includes( '--skip-api' );
  11. const skipValidation = process.argv.includes( '--skip-validation' );
  12. const production = process.argv.includes( '--production' );
  13. const watch = process.argv.includes( '--watch' );
  14. const verbose = process.argv.includes( '--verbose' );
  15. buildDocs();
  16. function buildDocs() {
  17. let promise;
  18. if ( skipApi ) {
  19. promise = Promise.resolve();
  20. } else {
  21. promise = buildApiDocs();
  22. }
  23. promise
  24. .then( () => {
  25. return runUmberto( {
  26. skipLiveSnippets,
  27. skipApi,
  28. skipValidation,
  29. production,
  30. watch,
  31. verbose
  32. } );
  33. } );
  34. }
  35. function runUmberto( options ) {
  36. const umberto = require( 'umberto' );
  37. return umberto.buildSingleProject( {
  38. configDir: 'docs',
  39. clean: true,
  40. dev: !options.production,
  41. skipLiveSnippets: options.skipLiveSnippets,
  42. skipValidation: options.skipValidation,
  43. snippetOptions: {
  44. production: options.production
  45. },
  46. skipApi: options.skipApi,
  47. verbose: options.verbose,
  48. watch: options.watch
  49. } );
  50. }