showcase: generate ngdocs
authorGustavo Martin Morcuende <gu.martinm@gmail.com>
Sat, 22 Aug 2015 03:13:17 +0000 (05:13 +0200)
committerGustavo Martin Morcuende <gu.martinm@gmail.com>
Sat, 22 Aug 2015 03:13:17 +0000 (05:13 +0200)
angularjs/showcase/gulpfile.js
angularjs/showcase/package.json
angularjs/showcase/server/server.config.js
angularjs/showcase/server/server.js
angularjs/showcase/src/showcase/app/welcome/welcome.controller.js
angularjs/showcase/src/showcase/app/welcome/welcome.module.js
angularjs/showcase/src/showcase/app/welcome/welcome.route.js

index 16d191b..c8fb00d 100644 (file)
@@ -321,6 +321,31 @@ gulp.task('templatecache', ['clean'], function() {
  * @ngdoc function
  *
  * @description
+ * Generate documentation
+ *
+ * @returns {stream}
+ */
+gulp.task('ngdocs', function() {
+  var gulpDocs = require('gulp-ngdocs');
+  var options = {
+    html5Mode: true,
+    startPage: '/api/app',
+    title: 'Showcase'
+  };
+  return gulpDocs.sections({
+    api: {
+      glob:['src/**/*.js', '!src/**/*.spec.js'],
+      api: true,
+      title: 'API Documentation'
+    }})
+    .pipe(gulpDocs.process(options))
+    .pipe(gulp.dest('./docs'));
+});
+
+/**
+ * @ngdoc function
+ *
+ * @description
  * Inject files in a sorted sequence at a specified inject label.
  *
  * @param {Array|string} source Source files (glob patterns)
@@ -350,15 +375,17 @@ function inject(source, label) {
 function server(environment) {
   var nodeOptions = {
     script: serverConfig.script,
-    delayTime: 1,
     env: {
-      'NODE_ENV': environment ? environment : 'development'
+      'NODE_ENV': environment ? environment : 'development',
+      'VERBOSE': args.verbose ? true : false
     },
-    watch: [serverConfig.directory]
+    verbose: args.verbose ? true : false,
+    watch: [serverConfig.directory],
+    delay: 250  // 250ms
   };
 
   return plugins.nodemon(nodeOptions)
-    .on('restart', ['vet'], function(ev) {
+    .on('restart', function(ev) {
       log('HTTP server restarted');
       log('files changed:\n' + ev);
     })
@@ -456,11 +483,21 @@ function synchronization(environment) {
         gulp.start('build', done);
       }));
       break;
+    case 'ngdocs':
+      plugins.watch(jsFiles, {
+        name: 'Files synchronization',
+        verbose: true,
+        readDelay: 250
+      }, plugins.batch(function (events, done) {
+        // TODO: gulp.start going to be deprecated in gulp 4.0.0 version. Alternatives?
+        gulp.start('ngdocs', done);
+      }));
+      break;
     default:
       plugins.watch(jsFiles, {
         name: 'Files synchronization',
         verbose: true,
-        readDelay: 200
+        readDelay: 250
       }, plugins.batch(function (events, done) {
         // TODO: gulp.start going to be deprecated in gulp 4.0.0 version. Alternatives?
         gulp.start('wireup', done);
index e14a7ef..3c06611 100644 (file)
@@ -29,6 +29,7 @@
     "gulp-minify-css": "~1.2.0",
     "gulp-minify-html": "~1.0.4",
     "gulp-ng-annotate": "~1.1.0",
+    "gulp-ngdocs": "~0.2.13",
     "gulp-nodemon": "~2.0.3",
     "gulp-order": "~1.1.1",
     "gulp-print": "~1.1.0",
index d0b022a..6616a66 100644 (file)
@@ -5,7 +5,7 @@ module.exports = function() {
     index: main + 'index.html',
     port: 9000,
     script: 'server/server.js',
-    directory: 'server/'
+    directory: './server/'
   };
 
   return config;
index 917c263..c9a0b14 100644 (file)
@@ -7,9 +7,12 @@ var logger = require('morgan');
 var config = require('./server.config')();
 var port = config.port;
 var environment = process.env.NODE_ENV;
+var verbose = process.env.VERBOSE;
 
 app.use(favicon(__dirname + '/favicon.ico'));
-app.use(logger('dev'));
+if (verbose && verbose === true) {
+  app.use(logger('dev'));
+}
 
 switch (environment) {
   case 'production':
@@ -20,6 +23,14 @@ switch (environment) {
     // Deep linking
     app.use('/*', express.static('./build/index.html'));
     break;
+  case 'ngdocs':
+    console.log('ngdocs mode');
+
+    app.use(express.static('./docs'));
+
+    // Deep linking
+    app.use('/*', express.static('./docs'));
+    break;
   default:
     console.log('development mode');
 
index c4651cf..dacf8b5 100644 (file)
   // Welcome.$inject = ['$location'];
 
   /**
-   * @ngdoc object
-   * @name app.welcome.$Welcome
+   * @ngdoc controller
+   * @name app.welcome.controller:Welcome
    *
    * @requires $location
    *
+   * <p>
+   * <br>
+   * {@link https://docs.angularjs.org/api/ng/service/$location $location}
+   * </p>
+   *
    * @description
    * Welcome controller.
    */
index 6d13da4..2115c9f 100644 (file)
@@ -3,7 +3,7 @@
 
   /**
    * @ngdoc overview
-   * @name ui.router.util
+   * @name app.welcome
    *
    * @requires app.core
    *
@@ -11,7 +11,7 @@
    * # app.welcome
    *
    * ## Module welcome.
-   * Module in charge of displaying a nice welcome page.
+   * Module in charge of displaying a nice welcome page. LOL ROLF
    */
   angular.module('app.welcome', [
     'app.core'
index eaba189..a765caa 100644 (file)
@@ -6,12 +6,19 @@
     .config(configure);
 
   /**
-   * @ngdoc object
-   * @name app.welcome.$configure
+   * @ngdoc service
+   * @name app.welcome.configure
    *
    * @requires $stateProvider
    * @requires $urlRouterProvider
    *
+   * <p>
+   * <br>
+   * {@link http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$stateProvider $stateProvider} <br>
+   * {@link http://angular-ui.github.io/ui-router/site/#/api/ui.router.router.$urlRouterProvider $urlRouterProvider}
+   * </p>
+   *
+   *
    * @description
    * Router configuration for welcome application.
    */