diff --git a/plugins/partial.js b/plugins/partial.js new file mode 100644 index 00000000..abbd7b09 --- /dev/null +++ b/plugins/partial.js @@ -0,0 +1,30 @@ +/** + @overview Adds support for reusable partial jsdoc files. + @module plugins/partial + @author Ludo Antonov + */ + +var fs = require('fs'); +var path = require('path'); + +exports.handlers = { + /// + /// Include a partial jsdoc + /// @param e + /// @param e.filename + /// @param e.source + /// + /// @example + /// @partial "partial_doc.jsdoc" + /// + beforeParse: function(e) { + e.source = e.source.replace(/(@partial \".*\")+/g, function($) { + var pathArg = $.match(/\".*\"/)[0].replace(/"/g,''); + var fullPath = path.join(e.filename , '..', pathArg); + + var partialData = fs.readFileSync(fullPath); + + return partialData; + }); + } +};