puppy-api-docs
Version:
Genernate material api docs from your comments.
31 lines (27 loc) • 1.07 kB
JavaScript
const Doc = require('../models/doc');
const DocGroup = require('../models/docGroup');
const Handlebars = require('handlebars');
const fs = require('fs');
const path = require('path');
const htmlMinify = require('html-minifier').minify;
const templateGenerator = {};
/**
* Generate single Doc page template from {Doc}
* @param {[DocGroup]} groupedDocs Array of 'DocGroup' objects to generate documents for.
* @return {String} Generated html page from Doc objects.
*/
templateGenerator.generateDocPage = function(groupedDocs) {
// Generate template
const docPage = fs.readFileSync(path.join(path.dirname(require.main.filename), 'assets/templates/doc_page.handlebars'), 'utf8');
const template = Handlebars.compile(docPage);
const html = template({groupedDocs});
const minifiedHtml = htmlMinify(html, {
collapseWhitespace: true,
collapseInlineTagWhitespace: true,
removeTagWhitespace: true,
removeComments: true,
removeEmptyElements: true,
});
return minifiedHtml;
}
module.exports = templateGenerator;