UNPKG

768 BJavaScriptView Raw
1/* eslint-disable indent */
2var defaults = require('./_defaults.json');
3var headElement = require('./document-head');
4var navElement = require('./document-nav');
5
6/**
7 * HTML Page Template
8 *
9 * @function
10 * @param {Object} props
11 * @param {Object} props.content - HTML Content
12 * @param {String} props.content.body - Body Content
13 * @param {String} props.content.nav - Nav Content
14 *
15 * */
16
17function pageTemplate(props) {
18 var { body, nav } = props.content;
19 var metadata = Object.assign({}, defaults, props.metadata);
20 return `<!DOCTYPE html>
21 <html lang="${metadata.lang}">
22 ${headElement(metadata)}
23 <body id="${props.content.id}">
24 ${nav ? navElement(nav) : ''}
25 <main>
26 ${body}
27 </main>
28 </body>
29 </html>`;
30}
31
32module.exports = pageTemplate;