gulp-jsdoc
Version:
A jsdoc plugin for Gulp
189 lines (138 loc) • 4.33 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>gulp-jsdoc Source: parser.js</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
<link type="text/css" rel="stylesheet" href="styles/site.journal.css">
</head>
<body>
<div class="container-fluid">
<div class="navbar navbar-fixed-top ">
<div class="navbar-inner">
<a class="brand" href="index.html">gulp-jsdoc</a>
<ul class="nav">
</ul>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div id="main">
<h1 class="page-title">Source: parser.js</h1>
<section>
<article>
<pre class="sunlight-highlight-javascript linenums">/**
* @file Parser
*
* @summary This is a wrapper around jsdoc parsing infrastructure that generates doc description
*
* @version ${ pkg.version }
* @author ${ pkg.author.name }
*
* @license ${ pkg.license }.
* @copyright ${ pkg.author.name }
* @name parser.js
* @unknownTag tag
*/
(function(){
'use strict';
// Dependencies
var augment = require('jsdoc/lib/jsdoc/augment');
var borrow = require('jsdoc/lib/jsdoc/borrow');
var parser = require('jsdoc/lib/jsdoc/src/parser');
var handlers = require('jsdoc/lib/jsdoc/src/handlers');
var Parser = function(infs){
// Start by resolving defaults for the infos object
infs = infs || {};
var informations = {
name: '',
kind: 'package',
longname: '',
description: '',
version: '',
licenses: []
};
Object.keys(informations).forEach(function(key){
if(key in infs)
informations[key] = infs[key];
});
if(!informations.longname)
informations.longname = informations.kind + ':' + informations.name;
// Create actual jsdoc parser
var innerParser = new parser.Parser();
// Attach handles
handlers.attachTo(innerParser);
// Set file list up
var parsedFiles = informations.files = [];
// Do parse
this.parse = function(vinyl){
var data = vinyl.contents.toString('utf8');
// Don't treat empty files
if (data.length) {
innerParser._parseSourceCode(data, vinyl.path);
parsedFiles.push(vinyl.path);
}
};
this.complete = function(){
// Get buffer
var buf = innerParser._resultBuffer;
// Push generic package infos
buf.push(informations);
// Borrow and augment shit
borrow.indexAll(buf);
augment.addInherited(buf);
borrow.resolveBorrows(buf);
// Return buf
return buf;
};
};
module.exports = Parser;
}());
</pre>
</article>
</section>
</div>
<div class="clearfix"></div>
<footer>
Generated with gulp
<br />
<span class="copyright">
Copyright WebItUp 2014
</span>
<br />
<span class="jsdoc-message">
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha4</a>
on Wed Feb 05 2014 18:14:42 GMT+0100 (CET) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
</span>
</footer>
</div>
<br clear="both">
</div>
</div>
<script src="scripts/sunlight.js"></script>
<script src="scripts/sunlight.javascript.js"></script>
<script src="scripts/sunlight-plugin.doclinks.js"></script>
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
<script src="scripts/sunlight-plugin.menu.js"></script>
<script src="scripts/jquery.min.js"></script>
<script src="scripts/jquery.scrollTo.js"></script>
<script src="scripts/jquery.localScroll.js"></script>
<script src="scripts/bootstrap-dropdown.js"></script>
<script src="scripts/toc.js"></script>
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
<script>
$( function () {
$( "#toc" ).toc( {
selectors : "h1,h2,h3,h4",
showAndHide : false,
scrollTo : 60
} );
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
} );
</script>
</body>
</html>