master.pug 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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(siteConfig)}; var siteLangs = !{JSON.stringify(langs)}
  29. //- Icon Set
  30. if config.theming.iconset === 'mdi'
  31. link(
  32. type='text/css'
  33. rel='stylesheet'
  34. href='https://cdn.materialdesignicons.com/3.7.95/css/materialdesignicons.min.css'
  35. )
  36. else if config.theming.iconset === 'fa'
  37. link(
  38. type='text/css'
  39. rel='stylesheet'
  40. href='https://use.fontawesome.com/releases/v5.0.13/css/all.css'
  41. )
  42. else if config.theming.iconset === 'fa4'
  43. link(
  44. type='text/css'
  45. rel='stylesheet'
  46. href='https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css'
  47. )
  48. //- CSS
  49. <% for (var index in htmlWebpackPlugin.files.css) { %>
  50. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  51. link(
  52. type='text/css'
  53. rel='stylesheet'
  54. href='<%= htmlWebpackPlugin.files.css[index] %>'
  55. integrity='<%= htmlWebpackPlugin.files.cssIntegrity[index] %>'
  56. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  57. )
  58. <% } else { %>
  59. link(
  60. type='text/css'
  61. rel='stylesheet'
  62. href='<%= htmlWebpackPlugin.files.css[index] %>'
  63. )
  64. <% } %>
  65. <% } %>
  66. //- JS
  67. <% for (var index in htmlWebpackPlugin.files.js) { %>
  68. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  69. script(
  70. type='text/javascript'
  71. src='<%= htmlWebpackPlugin.files.js[index] %>'
  72. integrity='<%= htmlWebpackPlugin.files.jsIntegrity[index] %>'
  73. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  74. )
  75. <% } else { %>
  76. script(
  77. type='text/javascript'
  78. src='<%= htmlWebpackPlugin.files.js[index] %>'
  79. )
  80. <% } %>
  81. <% } %>
  82. != analyticsCode.head
  83. block head
  84. body
  85. != analyticsCode.bodyStart
  86. block body
  87. != analyticsCode.bodyEnd