UNPKG

provide-page

Version:

Provides automatic server-side rendering and actions (regardless of whether or not client has JavaScript enabled) to React components. Use in conjunction with `provide-router`.

28 lines (25 loc) 1.84 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); function defaultRenderDocumentToString(html, states, clientStates) { var _ref = states.page || {}, _ref$documentTitle = _ref.documentTitle, documentTitle = _ref$documentTitle === undefined ? 'Page' : _ref$documentTitle, _ref$metaDescription = _ref.metaDescription, metaDescription = _ref$metaDescription === undefined ? 'Built with provide-page.' : _ref$metaDescription, _ref$metaRobots = _ref.metaRobots, metaRobots = _ref$metaRobots === undefined ? 'index,follow' : _ref$metaRobots, _ref$iconFile = _ref.iconFile, iconFile = _ref$iconFile === undefined ? '/static/favicon.ico' : _ref$iconFile, _ref$cssFiles = _ref.cssFiles, cssFiles = _ref$cssFiles === undefined ? [] : _ref$cssFiles, _ref$jsFiles = _ref.jsFiles, jsFiles = _ref$jsFiles === undefined ? [] : _ref$jsFiles; return '<!DOCTYPE html>' + '<html>' + '<head>' + ('<title>' + documentTitle + '</title>') + '<meta charset="utf-8"/>' + '<meta http-equiv="X-UA-Compatible" content="IE=edge"/>' + '<meta name="viewport" content="width=device-width, initial-scale=1.0"/>' + ('<meta name="description" content="' + metaDescription + '"/>') + ('<meta name="robots" content="' + metaRobots + '"/>') + ('<link rel="shortcut icon" type="image/ico" href="' + iconFile + '"/>') + cssFiles.map(function (cssFile) { return '<link rel="stylesheet" type="text/css" href="' + cssFile + '"/>'; }).join('') + '</head>' + '<body>' + ('<div id="root">' + html + '</div>') + '<script>' + ('window.clientStates = ' + JSON.stringify(clientStates) + ';') + '</script>' + jsFiles.map(function (jsFile) { return '<script src="' + jsFile + '"></script>'; }).join('') + '</body>' + '</html>'; } exports.default = defaultRenderDocumentToString;