<head> <meta charset="{{ site.encoding }}"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> {% if site.enforce_https %} <script type="text/javascript"> if (("{{ site.enforce_https }}" == window.location.host) && (window.location.protocol != "https:")) { window.location = window.location.toString().replace(/^http:/, "https:"); } </script> {% endif %} <title>{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}</title> <meta name="author" content="{{ site.author.name }}"> <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"> <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" /> <!-- OpenSearch --> <link rel="search" type="application/opensearchdescription+xml" title="Search {{ site.title }}" href="{{ '/opensearch.xml' | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}" /> <!-- Open Graph --> {% if page.is_post %} <meta property="article:published_time" content="{{ page.date }}"/> {% endif %} {% if site.facebook.app_id %} <meta property="fb:app_id" content="{{ site.facebook.app_id }}" /> {% endif %} {% if site.facebook.page_id %} <meta property="fb:page_id" content="{{ site.facebook.page_id }}" /> {% endif %} {% if site.author.name %} <meta property="og:author" content="{{ site.author.name }}" /> {% endif %} <meta property="og:description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}" /> {% if site.author.email %} <meta property="og:email" content="{{ site.author.email }}" /> {% endif %} {% if page.image %} <meta property="og:image" content="{{ page.image | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}" /> {% elsif site.image %} <meta property="og:image" content="{{ site.image | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}" /> {% endif %} <meta property="og:site_name" content="{{ site.title }}" /> <meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}" /> <meta property="og:type" content="{% if page.is_post %}{{ "article" }}{% else %}{{ "website" }}{% endif %}" /> <meta property="og:url" content="{{ page.url | replace:'index.html', '' | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}" /> <!-- Twitter Cards --> <meta name="twitter:card" content="summary" /> {% if site.twitter_username %} <meta name="twitter:site" content="{{ site.twitter_username | prepend: "@" }}" /> {% endif %} <!-- Favicons (made with RealFaviconGenerator.net) --> <link rel="apple-touch-icon" sizes="180x180" href="{{ "/assets/favicons/apple-touch-icon.png?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <link rel="icon" type="image/png" sizes="32x32" href="{{ "/assets/favicons/favicon-32x32.png?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <link rel="icon" type="image/png" sizes="16x16" href="{{ "/assets/favicons/favicon-16x16.png?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <link rel="manifest" href="{{ "/assets/favicons/manifest.json?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <link rel="mask-icon" href="{{ "/assets/favicons/safari-pinned-tab.svg?v=2" color="#2D643E" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}" color="#2D643E"> <link rel="shortcut icon" href="{{ "/assets/favicons/favicon.ico?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <meta name="msapplication-config" content="{{ "/assets/favicons/browserconfig.xml?v=2" | prepend: site.baseurl | replace: '//', '/' | prepend: site.url }}"> <meta name="theme-color" content="#003917"> <!-- CSS --> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700"> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.5.10/css/bootstrap-material-design.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.5.10/css/ripples.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="{{ "/assets/css/syntax.css" | prepend: site.baseurl }}"> <link rel="stylesheet" href="{{ "/assets/css/main.css" | prepend: site.baseurl }}"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <!-- JS --> <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.5.10/js/material.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.5.10/js/ripples.min.js"></script> <script src="{{ "/assets/js/main.js" | prepend: site.baseurl }}"></script> {% if site.google.analytics_property_id %} <!-- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '{{ site.google.analytics_property_id }}', 'auto'); ga('send', 'pageview', { 'page': '{{ page.url | replace:"index.html","" | prepend: site.baseurl | replace: "//", "/" | prepend: site.url }}', 'title': '{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}' }); </script> <!-- End Google Analytics --> {% endif %} {% if site.google.adsense.publisher_id %} <!-- Google AdSense --> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> {% endif %} {% if site.addthis_profile_id %} <!-- AddThis --> <script async src="//s7.addthis.com/js/300/addthis_widget.js#pubid={{ site.addthis_profile_id }}"></script> <script type="text/javascript"> var addthis_config = { data_track_clickback: true, data_track_addressbar: true, ui_language: '{{ site.lang }}' }; var addthis_share = { url: '{{ page.url | prepend: site.baseurl | replace: "//", "/"" | prepend: site.url }}', title: document.title, description: '{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncatewords: 55 }}{% else %}{{ site.description }}{% endif %}' }; </script> <!-- End AddThis --> {% endif %} <!-- Matomo --> <script type="text/javascript"> var _paq = _paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setDoNotTrack", true]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//analytics.depau.eu/"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', '3']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="//analytics.depau.eu/piwik.php?idsite=3&rec=1" style="border:0;" alt="" /></p></noscript> <!-- End Matomo Code --> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#2d643e", "text": "#ffffff" }, "button": { "background": "#a3c439", "text": "#ffffff" } }, "theme": "edgeless", "position": "bottom-right", "content": { "message": "This website uses cookies for anonymized traffic analytics.\nTo opt-out, enable the \"Do Not Track\" option in your browser's settings." } })}); </script> </head>