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.

75 lines
3.0 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. link(type='text/css', rel='stylesheet', href='https://fonts.googleapis.com/icon?family=Roboto:400,500,700|Varela+Round|Source+Code+Pro:400,700|Material+Icons')
  31. link(type='text/css', rel='stylesheet', href='https://cdnjs.cloudflare.com/ajax/libs/material-design-iconic-font/2.2.0/css/material-design-iconic-font.min.css')
  32. <% for (var index in htmlWebpackPlugin.files.css) { %>
  33. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  34. link(
  35. type='text/css'
  36. rel='stylesheet'
  37. href='<%= htmlWebpackPlugin.files.css[index] %>'
  38. integrity='<%= htmlWebpackPlugin.files.cssIntegrity[index] %>'
  39. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  40. )
  41. <% } else { %>
  42. link(
  43. type='text/css'
  44. rel='stylesheet'
  45. href='<%= htmlWebpackPlugin.files.css[index] %>'
  46. )
  47. <% } %>
  48. <% } %>
  49. //- JS
  50. <% for (var index in htmlWebpackPlugin.files.js) { %>
  51. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  52. script(
  53. type='text/javascript'
  54. src='<%= htmlWebpackPlugin.files.js[index] %>'
  55. integrity='<%= htmlWebpackPlugin.files.jsIntegrity[index] %>'
  56. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  57. )
  58. <% } else { %>
  59. script(
  60. type='text/javascript'
  61. src='<%= htmlWebpackPlugin.files.js[index] %>'
  62. )
  63. <% } %>
  64. <% } %>
  65. block head
  66. body
  67. block body