|
|
|
doctype html
|
|
|
|
html(lang=siteConfig.lang)
|
|
|
|
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='#1976d2')
|
|
|
|
meta(name='msapplication-TileColor', content='#1976d2')
|
|
|
|
meta(name='msapplication-TileImage', content='/_assets-legacy/favicons/mstile-150x150.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
|
|
|
|
link(rel='apple-touch-icon', sizes='180x180', href='/_assets-legacy/favicons/apple-touch-icon.png')
|
|
|
|
link(rel='icon', type='image/png', sizes='192x192', href='/_assets-legacy/favicons/android-chrome-192x192.png')
|
|
|
|
link(rel='icon', type='image/png', sizes='32x32', href='/_assets-legacy/favicons/favicon-32x32.png')
|
|
|
|
link(rel='icon', type='image/png', sizes='16x16', href='/_assets-legacy/favicons/favicon-16x16.png')
|
|
|
|
link(rel='mask-icon', href='/_assets-legacy/favicons/safari-pinned-tab.svg', color='#1976d2')
|
|
|
|
link(rel='manifest', href='/_assets-legacy/manifest.json')
|
|
|
|
|
|
|
|
//- Site Properties
|
|
|
|
script.
|
|
|
|
var siteId = "!{siteId}"
|
|
|
|
var siteConfig = !{JSON.stringify(siteConfig)}
|
|
|
|
var siteLangs = !{JSON.stringify(langs)}
|
|
|
|
|
|
|
|
//- Dev Mode Warning
|
|
|
|
if devMode
|
|
|
|
script.
|
|
|
|
siteConfig.devMode = true
|
|
|
|
|
|
|
|
//- CSS
|
|
|
|
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
|
|
|
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
|
|
|
link(
|
|
|
|
type='text/css'
|
|
|
|
rel='stylesheet'
|
|
|
|
href='<%= htmlWebpackPlugin.files.css[index] %>'
|
|
|
|
integrity=config.security.securitySRI ? '<%= htmlWebpackPlugin.files.cssIntegrity[index] %>' : false
|
|
|
|
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.jsIntegrity) { %>
|
|
|
|
script(
|
|
|
|
type='text/javascript'
|
|
|
|
src='<%= htmlWebpackPlugin.files.js[index] %>'
|
|
|
|
integrity=config.security.securitySRI ? '<%= htmlWebpackPlugin.files.jsIntegrity[index] %>' : false
|
|
|
|
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
|