UNPKG

puppy-api-docs

Version:

Genernate material api docs from your comments.

31 lines (27 loc) 1.07 kB
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;