base.pug 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. doctype html
  2. html(lang=siteConfig.lang)
  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='#1976d2')
  8. meta(name='msapplication-TileColor', content='#1976d2')
  9. meta(name='msapplication-TileImage', content='/_assets-legacy/favicons/mstile-150x150.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. link(rel='apple-touch-icon', sizes='180x180', href='/_assets-legacy/favicons/apple-touch-icon.png')
  21. link(rel='icon', type='image/png', sizes='192x192', href='/_assets-legacy/favicons/android-chrome-192x192.png')
  22. link(rel='icon', type='image/png', sizes='32x32', href='/_assets-legacy/favicons/favicon-32x32.png')
  23. link(rel='icon', type='image/png', sizes='16x16', href='/_assets-legacy/favicons/favicon-16x16.png')
  24. link(rel='mask-icon', href='/_assets-legacy/favicons/safari-pinned-tab.svg', color='#1976d2')
  25. link(rel='manifest', href='/_assets-legacy/manifest.json')
  26. //- Site Properties
  27. script.
  28. var siteId = "!{siteId}"
  29. var siteConfig = !{JSON.stringify(siteConfig)}
  30. var siteLangs = !{JSON.stringify(langs)}
  31. //- Dev Mode Warning
  32. if devMode
  33. script.
  34. siteConfig.devMode = true
  35. //- CSS
  36. <% for (var index in htmlWebpackPlugin.files.css) { %>
  37. <% if (htmlWebpackPlugin.files.cssIntegrity) { %>
  38. link(
  39. type='text/css'
  40. rel='stylesheet'
  41. href='<%= htmlWebpackPlugin.files.css[index] %>'
  42. integrity=config.security.securitySRI ? '<%= htmlWebpackPlugin.files.cssIntegrity[index] %>' : false
  43. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  44. )
  45. <% } else { %>
  46. link(
  47. type='text/css'
  48. rel='stylesheet'
  49. href='<%= htmlWebpackPlugin.files.css[index] %>'
  50. )
  51. <% } %>
  52. <% } %>
  53. //- JS
  54. <% for (var index in htmlWebpackPlugin.files.js) { %>
  55. <% if (htmlWebpackPlugin.files.jsIntegrity) { %>
  56. script(
  57. type='text/javascript'
  58. src='<%= htmlWebpackPlugin.files.js[index] %>'
  59. integrity=config.security.securitySRI ? '<%= htmlWebpackPlugin.files.jsIntegrity[index] %>' : false
  60. crossorigin='<%= webpackConfig.output.crossOriginLoading %>'
  61. )
  62. <% } else { %>
  63. script(
  64. type='text/javascript'
  65. src='<%= htmlWebpackPlugin.files.js[index] %>'
  66. )
  67. <% } %>
  68. <% } %>
  69. != analyticsCode.head
  70. block head
  71. body
  72. != analyticsCode.bodyStart
  73. block body
  74. != analyticsCode.bodyEnd