blow/templates/layout.html
Thomas Chartron 507fce96dc update
2021-11-08 20:10:30 +01:00

223 lines
14 KiB
HTML

<!doctype html>
<html lang="{{lang}}">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="/css/main.css" rel="stylesheet">
<title>
{% block title %}
{{ config.title }}
{% endblock title %}
</title>
</head>
<body class="dark:bg-gray-700 min-h-screen flex flex-col h-screen justify-between">
<!---------------------------------------------------------->
<!------------------------- NAVBAR ------------------------->
<!---------------------------------------------------------->
<nav class="bg-gray-200 dark:bg-gray-800">
<div class="max-w-7xl mx-auto px-2 sm:px-6 lg:px-8">
<div class="relative flex items-center justify-between h-16">
<div class="absolute inset-y-0 left-0 flex items-center sm:hidden">
<!-- Mobile menu button-->
<button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white" aria-controls="mobile-menu" aria-expanded="false">
<span class="sr-only">Open main menu</span>
<!--
Icon when menu is closed.
Heroicon name: outline/menu
Menu open: "hidden", Menu closed: "block"
-->
<svg class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
<!--
Icon when menu is open.
Heroicon name: outline/x
Menu open: "block", Menu closed: "hidden"
-->
<svg class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start">
<div class="flex-shrink-0 flex items-center">
<span class="text-xl text-gray-800 dark:text-white">{{config.extra.zt.navbar_title}}</span>
<!-- <img class="block lg:hidden h-8 w-auto" src="https://tailwindui.com/img/logos/workflow-mark-indigo-500.svg" alt="Workflow">
<img class="hidden lg:block h-8 w-auto" src="https://tailwindui.com/img/logos/workflow-logo-indigo-500-mark-white-text.svg" alt="Workflow"> -->
</div>
<div class="hidden sm:block sm:ml-6">
<div id="nav-links" class="flex space-x-4">
<!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" -->
{% for item in config.extra.zt.navbar_items %}
{% if lang == item.code %}
{% for nav in item.nav_items %}
<a href="{{ nav.url | replace(from='$URL', to=config.base_url) }}" class="text-gray-800 dark:text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">{{ nav.name }}</a>
{% endfor %}
{% endif %}
{% endfor %}
</div>
</div>
{% if config.extra.zt.enable_search %}
<!-- Search input in navbar -->
<div class="flex ml-auto relative items-center">
<input id="search" class="rounded-xl border border-black dark:border-gray-200 h-9 text-black dark:text-gray-200 dark:bg-gray-700" type="text">
<svg class="w-6 h-6 absolute right-2 text-black dark:text-gray-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
</svg>
</div>
<!---------------------------- Search box modal ---------------------------->
<!-- Greatly inspired by https://www.tailwindtoolbox.com/components/modal -->
<div id="search-modal" class="modal opacity-0 pointer-events-none fixed w-full h-full top-0 left-0 flex z-10">
<div class="modal-overlay absolute w-full h-full bg-gray-900 opacity-50"></div>
<div class="modal-container text-gray-800 bg-gray-200 dark:bg-gray-800 dark:text-gray-400 w-9/12 md:max-w-md mx-auto rounded-lg shadow-lg z-50 mt-40 h-36 border border-2 border-gray-800 dark:border-gray-400">
<div class="modal-close absolute top-0 right-0 cursor-pointer flex flex-col items-center mt-4 mr-4 text-white text-sm z-50">
<svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<path d="M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47 4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z"></path>
</svg>
<span class="text-sm">(Esc)</span>
</div>
<!-- Modal Content-->
<div class="py-4 text-left px-6 flex flex-col">
<!-- Modal Title -->
<div class="flex justify-between items-center pb-3">
<p class="text-2xl font-bold">Search</p>
<div class="modal-close cursor-pointer z-50">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
</svg>
</div>
</div>
<!-- Modal Body -->
<input id="search-input" class="rounded-xl border border-black h-12 text-bold text-2xl pl-2 text-black dark:text-gray-200 bg-gray-700" type="text">
<!-- Search results -->
<div id="search-results">
<ul id="results-list" class="flex flex-col justify-center max-h-2xl mt-2 divide-y bg-gray-200 dark:bg-gray-500 rounded-lg"></ul>
<!--Footer-->
<!-- <div class="flex justify-end pt-2">
<button class="px-4 bg-transparent p-3 rounded-lg text-indigo-500 hover:bg-gray-100 hover:text-indigo-400 mr-2">Action</button>
<button class="modal-close px-4 bg-indigo-500 p-3 rounded-lg text-white hover:bg-indigo-400">Close</button>
</div> -->
</div>
</div>
</div>
</div>
{% endif %}
<div class="absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0">
<button id="switch-theme" type="button" class="bg-gray-200 text-gray-800 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-400 dark:hover:text-white p-1 rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<span class="sr-only">Switch Theme</span>
<!-- Heroicon name: outline/light -->
<svg id="light" class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path>
</svg>
<!-- Heroicon name: outline/dark -->
<svg id="dark" class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"></path>
</svg>
</button>
<!-- Profile dropdown -->
<!-- <div class="ml-3 relative">
<div>
<button type="button" class="bg-gray-800 flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white" id="user-menu-button" aria-expanded="false" aria-haspopup="true">
<span class="sr-only">Open user menu</span>
<img class="h-8 w-8 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt="">
</button>
</div> -->
<!--
Dropdown menu, show/hide based on menu state.
Entering: "transition ease-out duration-100"
From: "transform opacity-0 scale-95"
To: "transform opacity-100 scale-100"
Leaving: "transition ease-in duration-75"
From: "transform opacity-100 scale-100"
To: "transform opacity-0 scale-95"
-->
<!-- Active: "bg-gray-100", Not Active: "" -->
<!-- <div class="origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="user-menu-button" tabindex="-1">
<a href="#" class="block px-4 py-2 text-sm text-gray-700" role="menuitem" tabindex="-1" id="user-menu-item-0">Your Profile</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700" role="menuitem" tabindex="-1" id="user-menu-item-1">Settings</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700" role="menuitem" tabindex="-1" id="user-menu-item-2">Sign out</a>
</div> -->
</div>
</div>
</div>
</div>
<!-- Mobile menu, show/hide based on menu state. -->
<div class="sm:hidden" id="mobile-menu">
<div class="px-2 pt-2 pb-3 space-y-1">
<!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" -->
<a href="#" class="bg-gray-900 text-white block px-3 py-2 rounded-md text-base font-medium" aria-current="page">Dashboard</a>
<a href="#" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Team</a>
<a href="#" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Projects</a>
<a href="#" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Calendar</a>
</div>
</div>
</nav>
<!----------------------------------------------------------->
<!------------------------- CONTENT ------------------------->
<!----------------------------------------------------------->
<main class="max-w-7xl mx-auto text-black dark:text-white w-full">
{% block content %}
{% endblock content %}
</main>
<!---------------------------------------------------------->
<!------------------------- FOOTER ------------------------->
<!---------------------------------------------------------->
<footer class="max-w-7xl mx-auto relative pt-1 border-b-2 border-gray-300 dark:border-gray-200 w-full">
<!-- <div class="container mx-auto px-6">
<div class="sm:flex sm:mt-8">
<div class="mt-8 sm:mt-0 sm:w-full sm:px-8 flex flex-col md:flex-row justify-between">
<div class="flex flex-col">
<span class="font-bold text-gray-700 uppercase mb-2">Footer header 1</span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
</div>
<div class="flex flex-col">
<span class="font-bold text-gray-700 uppercase mt-4 md:mt-0 mb-2">Footer header 2</span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
</div>
<div class="flex flex-col">
<span class="font-bold text-gray-700 uppercase mt-4 md:mt-0 mb-2">Footer header 3</span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
<span class="my-2"><a href="#" class="text-blue-700 text-md hover:text-blue-500">link 1</a></span>
</div>
</div>
</div>
</div> -->
<div class="mt-16 border-t-2 border-gray-300 flex flex-col items-center">
<div class="sm:w-2/3 text-center py-6">
<p class="text-sm text-black dark:text-white font-bold mb-2">
© 2021 zola-tailwind theme made for <a href="https://www.getzola.org/" target="_blank">Zola</a> by <a href="https://tchartron.com" target="_blank">Thomas CHARTRON</a>
</p>
</div>
</div>
</footer>
<!------------------------- SCRIPTS ------------------------->
<script defer src="/js/main.js"></script>
{% if config.extra.zt.enable_search %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/elasticlunr/0.9.6/elasticlunr.min.js"></script>
<script src="/search_index.{{lang}}.js"></script>
<script defer src="/js/search.js"></script>
{% endif %}
</body>
</html>