|
|
|
doctype html
|
|
|
|
html
|
|
|
|
head
|
|
|
|
meta(http-equiv='X-UA-Compatible', content='IE=edge')
|
|
|
|
meta(charset='UTF-8')
|
|
|
|
meta(name='viewport', content='user-scalable=yes, width=device-width, initial-scale=1, maximum-scale=5')
|
|
|
|
meta(name='theme-color', content='#333333')
|
|
|
|
meta(name='msapplication-TileColor', content='#333333')
|
|
|
|
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
|
|
|
|
|
|
|
|
title= pageMeta.title + ' | ' + config.title
|
|
|
|
|
|
|
|
//- SEO / OpenGraph
|
|
|
|
meta(name='description', content=pageMeta.description)
|
|
|
|
meta(property='og:title', content=pageMeta.title)
|
|
|
|
meta(property='og:type', content='website')
|
|
|
|
meta(property='og:description', content=pageMeta.description)
|
|
|
|
meta(property='og:image', content=pageMeta.image)
|
|
|
|
meta(property='og:url', content=pageMeta.url)
|
|
|
|
meta(property='og:site_name', content=config.title)
|
|
|
|
|
|
|
|
//- Favicon
|
|
|
|
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
|
|
|
|
link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png')
|
|
|
|
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
|
|
|
|
each favsize in [32, 96, 16]
|
|
|
|
link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
|
|
|
|
link(rel='manifest', href='/manifest.json')
|
|
|
|
|
|
|
|
//- Site Properties
|
|
|
|
script.
|
|
|
|
var siteConfig = !{JSON.stringify(siteConfig)}; var siteLangs = !{JSON.stringify(langs)}
|
|
|
|
|
|
|
|
//- CSS
|
|
|
|
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
|
|
|
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
|
|
|
link(
|
|
|
|
type='text/css'
|
|
|
|
rel='stylesheet'
|
|
|
|
href='<%= htmlWebpackPlugin.files.css[index] %>'
|
|
|
|
integrity='<%= htmlWebpackPlugin.files.cssIntegrity[index] %>'
|
|
|
|
crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
|
|
|
|
)
|
|
|
|
<% } else { %>
|
|
|
|
link(
|
|
|
|
type='text/css'
|
|
|
|
rel='stylesheet'
|
|
|
|
href='<%= htmlWebpackPlugin.files.css[index] %>'
|
|
|
|
)
|
|
|
|
<% } %>
|
|
|
|
<% } %>
|
|
|
|
|
|
|
|
//- JS
|
|
|
|
<% for (var index in htmlWebpackPlugin.files.js) { %>
|
|
|
|
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
|
|
|
script(
|
|
|
|
type='text/javascript'
|
|
|
|
src='<%= htmlWebpackPlugin.files.js[index] %>'
|
|
|
|
integrity='<%= htmlWebpackPlugin.files.jsIntegrity[index] %>'
|
|
|
|
crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
|
|
|
|
)
|
|
|
|
<% } else { %>
|
|
|
|
script(
|
|
|
|
type='text/javascript'
|
|
|
|
src='<%= htmlWebpackPlugin.files.js[index] %>'
|
|
|
|
)
|
|
|
|
<% } %>
|
|
|
|
<% } %>
|
|
|
|
|
|
|
|
!= analyticsCode.head
|
|
|
|
|
|
|
|
block head
|
|
|
|
|
|
|
|
body
|
|
|
|
!= analyticsCode.bodyStart
|
|
|
|
block body
|
|
|
|
!= analyticsCode.bodyEnd
|