You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.6 KiB

  1. doctype html
  2. html
  3. head
  4. meta(http-equiv='X-UA-Compatible', content='IE=edge')
  5. meta(charset='UTF-8')
  6. meta(name='viewport', content='user-scalable=yes, width=device-width, initial-scale=1, maximum-scale=5')
  7. meta(name='theme-color', content='#333333')
  8. meta(name='msapplication-TileColor', content='#333333')
  9. meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
  10. title= pageMeta.title + ' | ' + config.title
  11. //- SEO / OpenGraph
  12. meta(name='description', content=pageMeta.description)
  13. meta(property='og:title', content=pageMeta.title)
  14. meta(property='og:type', content='website')
  15. meta(property='og:description', content=pageMeta.description)
  16. meta(property='og:image', content=pageMeta.image)
  17. meta(property='og:url', content=pageMeta.url)
  18. meta(property='og:site_name', content=config.title)
  19. //- Favicon
  20. each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
  21. link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png')
  22. link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
  23. each favsize in [32, 96, 16]
  24. link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
  25. link(rel='manifest', href='/manifest.json')
  26. //- Site Properties
  27. script.
  28. var siteConfig = !{JSON.stringify({ title: config.title, theme: config.theming.theme, darkMode: config.theming.darkMode, lang: config.lang.code, company: config.company })}
  29. //- CSS
  30. <% for (var index in htmlWebpackPlugin.files.css) { %>
  31. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  32. link(
  33. type='text/css'
  34. rel='stylesheet'
  35. href='<%= htmlWebpackPlugin.files.css[index] %>'
  36. integrity='<%= htmlWebpackPlugin.files.cssIntegrity[index] %>'
  37. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  38. )
  39. <% } else { %>
  40. link(
  41. type='text/css'
  42. rel='stylesheet'
  43. href='<%= htmlWebpackPlugin.files.css[index] %>'
  44. )
  45. <% } %>
  46. <% } %>
  47. //- JS
  48. <% for (var index in htmlWebpackPlugin.files.js) { %>
  49. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  50. script(
  51. type='text/javascript'
  52. src='<%= htmlWebpackPlugin.files.js[index] %>'
  53. integrity='<%= htmlWebpackPlugin.files.jsIntegrity[index] %>'
  54. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  55. )
  56. <% } else { %>
  57. script(
  58. type='text/javascript'
  59. src='<%= htmlWebpackPlugin.files.js[index] %>'
  60. )
  61. <% } %>
  62. <% } %>
  63. block head
  64. body
  65. block body