123456789101112131415161718192021222324252627282930 |
- /**
- * Adds support for reusable partial jsdoc files.
- *
- * @module plugins/partial
- */
- const env = require('jsdoc/env');
- const fs = require('jsdoc/fs');
- const path = require('path');
- exports.handlers = {
- /**
- * Include a partial jsdoc
- *
- * @param e
- * @param e.filename
- * @param e.source
- * @example
- * @partial "partial_doc.jsdoc"
- */
- beforeParse(e) {
- e.source = e.source.replace(/(@partial ".*")+/g, $ => {
- const pathArg = $.match(/".*"/)[0].replace(/"/g, '');
- const fullPath = path.join(e.filename, '..', pathArg);
- const partialData = fs.readFileSync(fullPath, env.opts.encoding);
- return partialData;
- });
- }
- };
|