1<!DOCTYPE html>
2<html lang="{{ .Site.LanguageCode | default "en-us" }}">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
8 <!-- Favicon -->
9 {{ with .Site.Params.favicon }}<link rel="icon" type="image/png" href="{{ . }}" />{{ end }}
10
11 <title itemprop="name">{{ .Title }} | {{ .Site.Params.description }}</title>
12 {{ with .Site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
13 {{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
14
15 {{ $styles := resources.Get "scss/main.scss" | resources.ToCSS | minify | fingerprint}}
16 <link rel="stylesheet" href="{{ $styles.RelPermalink }}" media="screen">
17 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
18
19 {{ with .OutputFormats.Get "RSS" -}}
20 {{ printf `<link rel="%s" type="%s" href="%s" title="%s">` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }}
21 {{- end }}
22
23 <!-- Meta tags -->
24 {{ partial "meta" . }}
25
26 {{ if .RSSLink }}
27 <link href="{{ .RSSLink }}" rel="alternate" type="application/atom+xml" title="{{ .Site.Title }}" />
28 {{ end }}
29 </head>
30 <body>
31 <div class="layout">
32 {{ partial "header" . }}
33 {{ block "main" . }}{{ end }}
34 {{ partial "footer" . }}
35 </div>
36 </body>
37
38 <script>
39 // TODO
40 // Use Hugo templating to achieve this
41 // Script to check active nav menu
42 (function() {
43 const links = document.querySelectorAll("nav a")
44 const currentUrl = location.href
45
46 for (const link of links) {
47 if (location.href.split("/").length === 4 && link.href.endsWith("/posts/")) {
48 link.classList.add("active-link")
49 break;
50 }
51
52 if (link.href === currentUrl) {
53 link.classList.add("active-link")
54 }
55 }
56 }())
57 </script>
58
59 <!-- Posthog -->
60 <script>
61 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
62 posthog.init('uZJ_bhngsKFhhPaqWyp_2lc-HyE8vY5XKneeAMWS9cE', {api_host: 'https://profhog.herokuapp.com'})
63 </script>
64
65 <!-- Ackee -->
66 <script async
67 src="https://prof-ackee.herokuapp.com/tracker.js"
68 data-ackee-server="https://prof-ackee.herokuapp.com"
69 data-ackee-domain-id="45af9210-721f-4c09-a69d-77e66fe7bc5d"
70 >
71 </script>
72
73</html>