From 29b8ab5ff456b0344965d7dfd26af7a471637fe6 Mon Sep 17 00:00:00 2001 From: Ludo Antonov Date: Wed, 25 Jul 2012 22:00:04 -0700 Subject: [PATCH] Adding a plugin that enables a @partial tag for re-usable partial documentation kept in separate files. --- plugins/partial.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 plugins/partial.js 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; + }); + } +};