2.0.3 • Published 8 years ago

@dankapusta/angular-jsdoc v2.0.3

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

@dankapusta/angular-jsdoc

ABOUT THIS FORK

I don't intend for this fork to be issuing any PRs.

  • It's a one-off for my own use with grunt-jsdoc because the plugins path to markdown is in a diff place in the grunt-jsdoc repo (vs jsdoc's path). So there's a tiny modification.
  • I'll git pull from upstream as neccessary.
  • I'm using a scoped npm package for this repo (ie, "@dankapusta/angular-jsdoc").

About

JSDoc 3 Template for AngularJS.
A JSDoc plugin and template for AngularJS, nothing else!

NOTE: the location of configure file and template directory has been moved with the release of 1.0.0 Please make changes accordingly for your gulp file.

  • configure: Old: node_modules/angular-jsdoc/conf.json New: node_modules/angular-jsdoc/common/conf.json
  • template: Old: node_modules/angular-jsdoc/template New: node_modules/angular-jsdoc/default

Blog: Sigh, AngularJS Documentation

Features

  • Right side TOC, table of contents, for navigation by Directives, Services, Controllers, etc
  • Read and process @ngdoc tag

How Does It Look Like?

Install

$ npm install jsdoc angular-jsdoc --save-dev

Quick Start

With Command Line

// or you can run in command line
$ node_modules/jsdoc/jsdoc.js \
  --configure node_modules/angular-jsdoc/common/conf.json \
  --template node_modules/angular-jsdoc/default \
  --destination build/docs \
  --readme README.md \
  --recurse directives services

Or, With Gulp

var shell = require('gulp-shell');
gulp.task('docs', shell.task([
  'node_modules/jsdoc/jsdoc.js '+
    '-c node_modules/angular-jsdoc/common/conf.json '+   // config file
    '-t node_modules/angular-jsdoc/angular-template '+   // template file
    '-d build/docs '+                           // output directory
    './README.md ' +                            // to include README.md as index contents
    '-r directives services'                    // source code directory
]));

Or, With Grunt

grunt.initConfig({
  jsdoc : {
    dist: {
      src: ['directives', 'services'],
      options: {
        destination: 'build/docs',
        configure: 'node_modules/angular-jsdoc/common/conf.json',
        template: 'node_modules/angular-jsdoc/angular-template',
        readme: './README.md'
      }
    }
  }
});

Or, With NodeJS

var angularJsdoc = require('angular-jsdoc');
angularJsdoc(['my-source1', 'my-source2']);


// or with options
angularJsdoc('sample-codes', {
  template: 'default',
  destination: 'default/docs',
  readme: "sample-codes/README.md"
}, function(output) {
  console.log('output', output);
});

Specification

angularJsdoc(sourceDirectory, options, callback)

  • sourceDirectory: list of source code directories. e.g. 'dir1', 'dir2'

  • options:

    • command: jsdoc.js command Default: node_modules/jsdoc/jsdoc.js
    • configure: The path to the configuration file. Default: angular-jsdoc/common/conf.json
    • destination: The path to the output folder. Default: ./docs
    • template: The path to the template to use Default: angular-jsdoc/default
    • readme: The path to the project's README file. Default: 'README.md'
  • callback: callback function with output parameter. e.g., function(output) {console.log(output)}

Example

Customization

Currently, there are two templates built-in;

  • default
  • angular-template

To add your own template, please copy the default directory to your own, then, make your own css, js, and html files.
Then, run the jsdoc.js command with your template. e.g.,

$ node_modules/jsdoc/jsdoc.js \
  --configure node_modules/angular-jsdoc/common/conf.json \
  --template node_modules/angular-jsdoc/my-template \
  --destination build/docs \
  --readme README.md \
  --recurse directives services

If you want to share your template with others, please send a pull request after adding your template directory where default directory is.

The following is the example of directory with explanation;

my-template
  ├── css
  │   └── my.css          # css used in layout.html
  ├── js
  │   └── my.js           # javascript used in layout.html
  ├── fonts
  │   └── my.woff         # font used in layout.html
  ├── html
  │   ├── class.html      # template used by layout.html
  │   └── layout.html     # layout file
  └── publish.js          # the main file that generate jsdoc

Copyright

MIT licence