head.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <head>
  2. <meta charset="utf-8">
  3. <meta name="robots" content="all,follow">
  4. <meta name="googlebot" content="index,follow,snippet,archive">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. {{ $title_plain := .Title | markdownify | plainify }}
  7. <title>{{ $title_plain }}</title>
  8. <meta name="author" content="{{ .Param "author" }}" />
  9. {{ $keywords := .Site.Params.defaultKeywords | default (slice "" | first 0) }}
  10. {{ if isset .Params "tags" }}{{ range .Params.tags }}{{ $keywords = $keywords | append . }}{{ end }}{{ end }}
  11. {{ if isset .Params "keywords" }}{{ range .Params.keywords }}{{ $keywords = $keywords | append . }}{{ end }}{{ end }}
  12. {{ if gt (len $keywords) 0 }}
  13. <meta name="keywords" content="{{ delimit (uniq $keywords) ", " }}">
  14. {{ end }}
  15. {{ $description_plain := default .Site.Params.defaultDescription .Description | markdownify | plainify }}
  16. <meta name="description" content="{{ $description_plain }}">
  17. {{ hugo.Generator }}
  18. <!-- Font -->
  19. <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>
  20. <!-- Bootstrap and Font Awesome CSS -->
  21. <link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css">
  22. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
  23. integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  24. <!-- CSS animations -->
  25. <link href="{{ "css/animate.css" | relURL}}" rel="stylesheet">
  26. <!-- Theme stylesheet, if possible do not edit this stylesheet -->
  27. <!-- {{ with .Site.Params.style }}
  28. <link href="{{ "css/style" | relURL}}.{{ . }}.css" rel="stylesheet" id="theme-stylesheet">
  29. {{ else }}
  30. <link href="{{ "css/style.default.css" | relURL}}" rel="stylesheet" id="theme-stylesheet">
  31. {{ end }} -->
  32. <!-- Custom stylesheet - for your changes -->
  33. <link href="{{ "css/custom.css" | relURL}}" rel="stylesheet">
  34. <link href="{{ "css/customnft.css" | relURL}}" rel="stylesheet">
  35. <link href="{{ "css/style.css" | relURL}}" rel="stylesheet">
  36. <!-- Responsivity for older IE -->
  37. {{ `
  38. <!--[if lt IE 9]>
  39. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  40. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  41. <![endif]-->
  42. ` | safeHTML }}
  43. <!-- Facebook OpenGraph tags -->
  44. {{ $is_blog := and (eq .Type "blog") (eq .Kind "page") }}
  45. {{ $has_image := isset .Params "banner" }}
  46. {{ $image := cond $has_image .Params.banner (.Site.Params.default_sharing_image | default "img/sharing-default.png")
  47. }}
  48. {{ $is_valid_image := print "static/" $image | fileExists }}
  49. {{ if $is_valid_image }}
  50. {{ $image_ext := path.Ext $image }}
  51. <meta property="og:locale" content="{{ replace .Site.LanguageCode " -" "_" }}">
  52. <meta property="og:site_name" content="{{ .Site.Title }}">
  53. <meta property="og:title" content="{{ $title_plain }}">
  54. <meta property="og:type" content="{{ cond $is_blog " article" "website" }}">
  55. <meta property="og:url" content="{{ .Permalink }}" />
  56. <meta property="og:description" content="{{ $description_plain }}">
  57. <meta property="og:image" content="{{ $image | absURL }}">
  58. <meta property="og:image:type" content="image/{{ if eq $image_ext " .svg" }}svg+xml{{ else }}{{ trim $image_ext "."
  59. }}{{ end }}">
  60. {{ with .Params.banner_alt }}
  61. <meta property="og:image:alt" content="{{ . | markdownify | plainify }}">{{ end }}
  62. {{ $image_local := printf "/static/%s" $image}}
  63. {{ with (imageConfig $image_local) }}
  64. <meta property="og:image:width" content="{{ .Width }}">
  65. <meta property="og:image:height" content="{{ .Height }}">
  66. {{ end }}
  67. {{ end }}
  68. {{ with .Lastmod }}
  69. <meta property="og:updated_time" content="{{ .Format " 2006-01-02T15:04:05Z0700" }}">{{ end }}
  70. {{ if $is_blog }}
  71. {{ with .Param "facebook_site" }}
  72. <meta property="article:publisher" content="https://www.facebook.com/{{ . }}/">{{ end }}
  73. {{ with .Param "facebook_author" }}
  74. <meta property="article:author" content="https://www.facebook.com/{{ . }}/">{{ end }}
  75. {{ with .Params.categories }}
  76. <meta property="article:section" content="{{ index . 0 }}">{{ end }}
  77. {{ range .Params.tags }}
  78. <meta property="article:tag" content="{{ . }}">
  79. {{ end }}
  80. {{ if gt .ExpiryDate .PublishDate }}
  81. <meta property="article:expiration_time" content="{{ .ExpiryDate.Format " 2006-01-02T15:04:05Z0700" }}">{{ end }}
  82. {{ with .PublishDate }}
  83. <meta property="article:published_time" content="{{ .Format " 2006-01-02T15:04:05Z0700" }}">{{ end }}
  84. {{ with .Lastmod }}
  85. <meta property="article:modified_time" content="{{ .Format " 2006-01-02T15:04:05Z0700" }}">{{ end }}
  86. {{ end }}
  87. <!-- Twitter Card meta tags -->
  88. <meta name="twitter:card"
  89. content="summary{{ if (and $is_blog (and $has_image $is_valid_image)) }}_large_image{{ end }}">
  90. {{ with .Param "twitter_site" }}
  91. <meta name="twitter:site" content="@{{ . }}">{{ end }}
  92. <meta name="twitter:title" content="{{ $title_plain | truncate 70 }}">
  93. {{ if $is_valid_image }}
  94. <meta name="twitter:image" content="{{ $image | absURL }}">
  95. {{ end }}
  96. <meta name="twitter:description" content="{{ $description_plain | truncate 200 }}">
  97. {{ with .Param "twitter_author" }}
  98. <meta name="twitter:creator" content="@{{ . }}">{{ end }}
  99. <meta name="facebook-domain-verification" content="3xipgs46lfxeohb6sq2xw3ulmq94ew" />
  100. <!-- Favicon and Apple touch icons-->
  101. <link rel="shortcut icon" href="{{ "img/favicon.ico" | relURL }}" type="image/x-icon" />
  102. <link rel="apple-touch-icon" href="{{ "img/Choozmo-cloud-logo-3.png" | relURL }}" />
  103. <!-- swiper -->
  104. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" />
  105. <!-- owl carousel CSS -->
  106. <link href="{{ "css/owl.carousel.css" | relURL}}" rel="stylesheet">
  107. <link href="{{ "css/owl.theme.css" | relURL}}" rel="stylesheet">
  108. <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
  109. <!-- RSS feed -->
  110. <link rel="alternate" href="{{ "/index.xml" | absURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
  111. <!-- Google tag (gtag.js) -->
  112. <script async src="https://www.googletagmanager.com/gtag/js?id=G-G5H9MMGQFM"></script>
  113. <script>
  114. window.dataLayer = window.dataLayer || [];
  115. function gtag(){dataLayer.push(arguments);}
  116. gtag('js', new Date());
  117. gtag('config', 'G-G5H9MMGQFM');
  118. </script>
  119. <!-- Event snippet for ChoozMo video marking conversion page -->
  120. <script>
  121. gtag('event', 'conversion', {'send_to': 'AW-474336061/nOm7CPHvtZ0DEL2Wl-IB'});
  122. </script>
  123. <!-- Google Tag Manager -->
  124. <script>(function (w, d, s, l, i) {
  125. w[l] = w[l] || []; w[l].push({
  126. 'gtm.start':
  127. new Date().getTime(), event: 'gtm.js'
  128. }); var f = d.getElementsByTagName(s)[0],
  129. j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
  130. 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
  131. })(window, document, 'script', 'dataLayer', 'GTM-MTWWP3G');</script>
  132. <!-- End Google Tag Manager -->
  133. </head>