{% import "macros/macros.html" as post_macros %}

<head>
    <link rel="preload" href="https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/fira-sans.min.css" as="style">
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    {% if page.extra.meta %}
         <!-- the meta data config goes here  -->
         {% for data in page.extra.meta %}
             <meta
                 {% for key, value in data%}
                     {% if key == "property" and value == "og:title"%}
                         {% set_global page_has_og_title = true -%}
                     {% endif %}
                     {% if key == "property" and value == "og:description"%}
                         {% set_global page_has_og_description = true -%}
                     {% endif %}
                     {% if key == "name" and value == "description"%}
                         {% set_global page_has_description = true -%}
                     {% endif %}
                     {{ key }}="{{ value }}"
                {% endfor %}
            />
        {% endfor %}
    {% endif %}

    {# Site title #}
    {% set current_path = current_path | default(value="/") %}
    {% if current_path == "/" %}
    <title>
        {{ config.title | default(value="Home") }}
    </title>
    {% if not page_has_og_title %}
        <meta property="og:title" content="{{ config.title | default(value="Home") }}" />
    {% endif %}

    {% else %}
    <title>
        {% if page.title %} {{ page.title }}
        {% elif section.title %} {{ section.title }}
        {% elif config.title %} {{ config.title }}
        {% else %} Post {% endif %}
    </title>

        {% if not page_has_og_title %}
            <meta property="og:title" content="{% if page.title -%}{{ page.title }}{% elif config.title -%}{{ config.title }}{% else -%}Post{% endif -%}" />
        {% endif %}
     {% endif %}

     {% if not page_has_og_description %}
         {% if page.description %}
             <meta property="og:description" content="{{ page.description }}" />
         {% elif config.description %}
             <meta property="og:description" content="{{ config.description }}" />
         {% endif %}
     {% endif %}

     {% if not page_has_description %}
         {% if page.description %}
             <meta name="description" content="{{ page.description }}" />
         {% elif config.description %}
             <meta name="description" content="{{ config.description }}" />
         {% endif %}
    {% endif %}

    {# Favicon #}
    {% if config.extra.favicon %}
        <link rel="icon" type="image/png" href={{ config.extra.favicon }} />
    {% endif %}

    {# Font from cdn or disk #}
    {% if config.extra.use_cdn | default(value=false) %}
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jetbrains-mono@1.0.6/css/jetbrains-mono.min.css">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource/space-grotesk@4.5.8/index.min.css">
    {% else %}
        <link href={{ get_url(path="fonts.css") }} rel="stylesheet" />
    {% endif %}

    {# Analytics #}
    {% if config.extra.analytics.enabled %}
        {% if config.extra.analytics.umami.website_id %}
            {% set website_id = config.extra.analytics.umami.website_id %}
            {% set host_url = config.extra.analytics.umami.host_url | default(value="https://api-gateway.umami.dev/") %}

            <script defer src="/js/imamu.js" data-website-id="{{ website_id }}" data-host-url="{{ host_url }}"></script>
        {% endif %}

        {% if config.extra.analytics.goatcounter.user %}
            {% set user = config.extra.analytics.goatcounter.user %}
            {% set host = config.extra.analytics.goatcounter.host | default(value="goatcounter.com") %}

            <script data-goatcounter="https://{{ user }}.{{ host }}/count" async src="{{ get_url(path="js/count.js") }}"></script>
            <noscript>
                {# EasyList blocks '.com/count?', so we have to use '.com//count' #}
                <img src="https://{{ user }}.{{ host }}//count?p={{ current_path }}&t={{ page.title | default(value=config.title) }}">
            </noscript>
        {% endif %}
    {% endif %}

    {# Fancy Codeblock #}
    {% if config.extra.fancy_code %}
        <script src={{ get_url(path="js/codeblock.js") }}></script>
    {% endif %}

    {# Table of contents #}
    {% if config.extra.toc | default(value=false) %}
        <script src={{ get_url(path="js/toc.js") }}></script>
    {% endif %}

    {# Dynamic Note #}
    {% if config.extra.dynamic_note | default(value=false) %}
        <script src={{ get_url(path="js/note.js") }}></script>
    {% endif %}

    {% if config.extra.mathjax | default(value=false) %}
        {% if config.extra.mathjax_dollar_inline_enable | default(value=false) %}
            <script>
            MathJax = {
              tex: {
                inlineMath: [['$', '$'], ['\\(', '\\)']]
              }
            };
            </script>
        {% endif %}
        <script type="text/javascript" id="MathJax-script" async
          src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
        </script>
    {% endif %}

    {# RSS #}
    <link rel="alternate" type="application/atom+xml" title="{{ config.title }}" href="{{ get_url(path="atom.xml", trailing_slash=false) }}">


    {% set theme = config.extra.theme | default(value="toggle") %}
    {% if theme == "dark" %}
        <link rel="stylesheet" type="text/css" href="{{ get_url(path='theme/dark.css') }}" />
    {% elif theme == "light" %}
        <link rel="stylesheet" type="text/css" href={{ get_url(path="theme/light.css") }} />
    {% elif theme == "auto" %}
        <link rel="stylesheet" type="text/css" href={{ get_url(path="theme/light.css") }} />
        <link rel="stylesheet" type="text/css" href="{{ get_url(path='theme/dark.css') }}" media="(prefers-color-scheme: dark)" />
    {% elif theme == "toggle" %}
        <link rel="stylesheet" type="text/css" href={{ get_url(path="theme/light.css") }} />
        <link id="darkModeStyle" rel="stylesheet" type="text/css" href="{{ get_url(path='theme/dark.css') }}" />
    {% endif %}

    <!-- Set the correct theme in the script -->
    <script src={{ get_url(path="js/themetoggle.js") }}></script>
    {% if theme == "dark" %}
        <script>setTheme("dark");</script>
    {% elif theme == "light" %}
        <script>setTheme("light");</script>
    {% elif theme == "auto" %}
        <script>
            if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
                setTheme("dark");
            } else {
                setTheme("light");
            }
        </script>
    {% else %}
        <script>setTheme(getSavedTheme());</script>
    {% endif %}

    <link rel="stylesheet" type="text/css" media="screen" href={{ get_url(path="main.css") }} />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/fira-sans.min.css" media="print" onload="this.media='all'">

    {% if config.extra.stylesheets %}
        {% for stylesheet in config.extra.stylesheets %}
            <link rel="stylesheet" href="{{ get_url(path=stylesheet) }}">
        {% endfor %}
    {% endif %}
</head>
