aboutsummaryrefslogtreecommitdiff
path: root/templates/partials
diff options
context:
space:
mode:
Diffstat (limited to 'templates/partials')
-rw-r--r--templates/partials/doc/global_toc.html18
-rw-r--r--templates/partials/doc/page_toc.html6
-rw-r--r--templates/partials/doc/toc_script.html25
-rw-r--r--templates/partials/shared/footer.html5
-rw-r--r--templates/partials/shared/head.html13
-rw-r--r--templates/partials/shared/nav.html24
-rw-r--r--templates/partials/shared/search.html25
7 files changed, 87 insertions, 29 deletions
diff --git a/templates/partials/doc/global_toc.html b/templates/partials/doc/global_toc.html
index ebad287..f739f49 100644
--- a/templates/partials/doc/global_toc.html
+++ b/templates/partials/doc/global_toc.html
@@ -1,8 +1,20 @@
-<aside id="global_toc" class="col-span-1 h-max bg-gray-100 shadow-inner border-r border-t border-gray-200">
+<aside id="global_toc" class="relative col-span-1 h-full bg-gray-100 shadow-inner border-r border-t border-gray-200">
{% if section.subsections %}
- <ul class="space-y-2 py-0.5 px-6 py-3 list-none">
+ <ul id="main-toc-menu" class="space-y-2 px-6 py-3 list-none">
+
+ {% if section.pages %}
+ {% for page in section.pages %}
+ <a
+ href="{{ page.permalink | safe }}"
+ class="docPage block pl-2 py-1 border-l rounded-r border-garage-orange hover:bg-garage-orange hover:bg-opacity-20
+ {% if current_path == page.path %} activePage border-l-4 text-garage-orange font-semibold border-opacity-100 border-garage-orange {% endif %}">
+ {{ page.title }}
+ </a>
+ {% endfor %}
+ {% endif %}
+
{% for subsec in section.subsections %}
- {% set h1 = get_section(path=subsec) %}
+ {% set h1 = get_section(path=subsec) %}
<li class="relative">
<a
href="{{ h1.permalink | safe }}"
diff --git a/templates/partials/doc/page_toc.html b/templates/partials/doc/page_toc.html
index 172e0ce..238d8c3 100644
--- a/templates/partials/doc/page_toc.html
+++ b/templates/partials/doc/page_toc.html
@@ -1,12 +1,12 @@
-<aside class="hidden 2xl:block fixed right-0 bottom-1/2 transform translate-y-1/2 col-span-1 h-auto bg-gray-100 rounded-l-lg shadow-inner">
+<aside class="hidden 2xl:block fixed right-0 bottom-1/2 transform translate-y-1/2 w-80 col-span-1 h-auto bg-gray-100 rounded-l-lg shadow-inner">
{% if page.toc %}
<div class="w-full flex items-center justify-center py-1.5 bg-gray-200 rounded-tl-lg">
<span class="uppercase tracking-wide text-xs text-garage-gray">Page content</span>
</div>
- <ol class="text-sm space-y-0.5 py-0.5 px-8 py-3 list-decimal">
+ <ol class="text-sm space-y-0.5 px-8 py-3 list-decimal">
{% for h1 in page.toc %}
<li>
- <a href="{{ h1.permalink | safe }}" class="font-semibold bg-gradient-to-r from-garage-gray to-garage-orange text-transparent bg-clip-text transition-all hover:text-garage-orange">{{ h1.title }}</a>
+ <a href="{{ h1.permalink | safe }}" class="font-semibold text-gray-800 transition-all hover:text-garage-orange">{{ h1.title }}</a>
{% if h1.children %}
<ul class="space-y-0.5 py-0.5">
{% for h2 in h1.children %}
diff --git a/templates/partials/doc/toc_script.html b/templates/partials/doc/toc_script.html
index a858c94..1453a69 100644
--- a/templates/partials/doc/toc_script.html
+++ b/templates/partials/doc/toc_script.html
@@ -1,9 +1,31 @@
-<script type="text/javascript">
+<script>
const menuBarHeight = document.querySelector("nav.navbar").clientHeight;
+const mainTocMenuWidth = document.getElementById('main-toc-menu').clientWidth;
const tocItems = document.querySelectorAll(".toc");
const navSections = new Array(tocItems.length);
+ // Global ToC
+/*
+ Fixed ToC when user scrolls.
+*/
+
+window.addEventListener('scroll', function() {
+ if (window.screen.width >= 1280) {
+ if (window.scrollY >= menuBarHeight) {
+ document.getElementById('main-toc-menu').classList.add('fixed', 'top-0', 'left-0');
+ document.getElementById('main-toc-menu').style.width = mainTocMenuWidth + 'px';
+ } else {
+ document.getElementById('main-toc-menu').classList.remove('fixed', 'top-0', 'left-0');
+ }
+ }
+});
+
+// Page content
+/*
+ Focus effect on current section anchor when user scrolls.
+*/
+
tocItems.forEach((el, i) => {
let id = el.getAttribute("id").substring(5);
navSections[i] = document.getElementById(id);
@@ -42,7 +64,6 @@ window.addEventListener('scroll', () => {
}
}, false);
-// If JS enabled, deploy only the current doc menu
document.addEventListener("DOMContentLoaded", function() {
var menusTriggers = document.getElementsByClassName("deploySubMenu");
var activeDocPage = document.getElementsByClassName("activePage")[0];
diff --git a/templates/partials/shared/footer.html b/templates/partials/shared/footer.html
index de58caf..d5bd29c 100644
--- a/templates/partials/shared/footer.html
+++ b/templates/partials/shared/footer.html
@@ -4,8 +4,9 @@
{{ macros:: social_links( social_config=config.extra.social) }}
</p>
<p class="text-gray-600 py-2">
- Powered by <a href="https://www.getzola.org" target="_blank"
- class="font-semibold hover:text-garage-orange">Zola</a>
+ Built with <a href="https://www.getzola.org" target="_blank" class="font-semibold hover:text-garage-orange">Zola</a>,
+ powered by <a href="{{config.base_url}}" class="font-semibold hover:text-garage-orange">Garage</a>,
+ hosted by <a href="https://deuxfleurs.fr" target="_blank" class="font-semibold hover:text-garage-orange">Deuxfleurs</a>
</p>
</div>
</footer> \ No newline at end of file
diff --git a/templates/partials/shared/head.html b/templates/partials/shared/head.html
index 185a97b..ca2033e 100644
--- a/templates/partials/shared/head.html
+++ b/templates/partials/shared/head.html
@@ -1,9 +1,6 @@
{% if config.extra.favicon.webmanifest %}
<link href='{{ config.extra.favicon.webmanifest }}' rel="manifest" />
{% endif %}
-{% if config.extra.favicon.safari_pinned_tab %}
- <link color="#5bbad5" href='{{ config.extra.favicon.safari_pinned_tab }}' rel="mask-icon" />
-{% endif %}
{% if config.extra.favicon.favicon_16x16 %}
<link href='{{ config.extra.favicon.favicon_16x16 }}' rel="icon" sizes="16x16" type="image/png" />
{% endif %}
@@ -13,14 +10,6 @@
{% if config.extra.favicon.apple_touch_icon %}
<link href='{{ config.extra.favicon.apple_touch_icon }}' rel="apple-touch-icon" sizes="180x180" />
{% endif %}
-
-{% if config.extra.galleria.enabled %}
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/galleria@1.6.1/dist/themes/folio/galleria.folio.min.css"
- integrity="sha384-+rY0QD+LRnTOquDMzGa9lXU6jIwdiQuwCJQ2cdcW0qeP/0UbjQCZlXnRsUMA+9pH" crossorigin="anonymous">
-{% endif %}
-
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/all.min.css"
- integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" crossorigin="anonymous">
<link href="{{ get_url(path='style.css') }}" rel="stylesheet" />
@@ -28,7 +17,7 @@
<title>
{% block title %}
- {{ config.title }}
+ {{ config.title }} - An open-source distributed storage service
{% endblock title %}
</title>
diff --git a/templates/partials/shared/nav.html b/templates/partials/shared/nav.html
index 2489bf6..a4a4b99 100644
--- a/templates/partials/shared/nav.html
+++ b/templates/partials/shared/nav.html
@@ -1,17 +1,21 @@
-<nav aria-label="section navigation" class="navbar w-full" role="navigation">
- <div class="w-full flex flex-col space-y-2 md:space-y-0 md:flex-row items-center justify-between py-1 px-8 text-garage-gray bg-garage-orange bg-opacity-20">
+<nav aria-label="navigation-section" class="navbar w-full relative" role="navigation">
+ <div class="w-full flex flex-row items-center justify-between py-1.5 px-8 text-garage-gray bg-garage-orange bg-opacity-20">
<div class="navbar-brand">
<a class="hover:rounded-full hover:bg-white" href="{{config.base_url}}">
- <img class="transform duration-150 focus:bg-white hover:bg-white hover:shadow rounded-lg hover:scale-90"
- src="{{ config.extra.organization.logo }}" width="65px">
+ <img class="px-2 transform duration-150 focus:bg-white hover:bg-white hover:shadow rounded-lg"
+ src="{{ config.extra.organization.logo_horizontal }}" width="120px">
</a>
</div>
- <div class="navbar-menu" id="navMenu">
- <div class="flex items-center justify-center">
+ <input type="checkbox" id="navMenuToggleBtn" value="0"/>
+ <label for="navMenuToggleBtn" class="md:hidden p-1.5 hover:bg-white rounded-lg hover:shadow cursor-pointer" style="margin-top:0.08rem;">
+ <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="M4 6h16M4 12h16M4 18h7"></path></svg>
+ </label>
+ <div class="hidden py-4 md:py-0 z-40 md:block absolute md:static top-12 left-0 right-0 navbar-menu bg-gray-100 shadow-md md:shadow-none md:bg-transparent" id="navMenu">
+ <div class="flex items-center justify-center space-x-2">
{% for item in config.extra.navbar_items %}
{% if lang == item.code %}
{% for nav in item.nav_items %}
- <a class="font-semibold focus:bg-white hover:bg-white hover:shadow px-4 py-2 rounded-lg"
+ <a class="font-semibold focus:bg-white hover:bg-white hover:shadow px-3 py-1 rounded-lg"
href="{{ nav.url | replace(from='$BASE_URL', to=config.base_url) }}">
{{ nav.name }}
</a>
@@ -25,6 +29,12 @@
class="focus:bg-white hover:bg-white hover:shadow px-4 py-2 rounded-lg">
<svg id="nav-search-btn-icon" class="w-5 h-5" 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>
</button>
+ <a
+ href="https://garagehq.deuxfleurs.fr/_releases.html"
+ class="group flex items-center justify-center space-x-1 font-semibold shadow hover:shadow px-2 py-1.5 rounded text-white transition-all duration-500 bg-gradient-to-tl from-garage-orange via-orange-500 to-orange-300 bg-size-200 bg-pos-0 hover:bg-pos-100">
+ <svg class="w-6 h-6 animate-pulse" 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="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
+ <span class="hidden md:inline">Download</span>
+ </a>
</div>
</div>
</div>
diff --git a/templates/partials/shared/search.html b/templates/partials/shared/search.html
new file mode 100644
index 0000000..cb0ae2e
--- /dev/null
+++ b/templates/partials/shared/search.html
@@ -0,0 +1,25 @@
+<section id="search-modal" class="modal hidden z-50 bg-gradient-to-b from-gray-50 to-gray-100 w-5/6 md:w-4/5 lg:w-3/4 xl:w-2/3 2xl:w-1/2 absolute top-20 left-1/2 transform -translate-x-1/2 shadow-2xl rounded-lg">
+ <div class="p-2 md:p-4 xl:p-8 border-8 border-gray-300 rounded-lg shadow-inner" style="min-height:30vh;">
+ <section class="relative flex flex-col items-center justify-center">
+ <div class="flexs items-center justify-center">
+ <span class="text-xl inline-block font-thin">Search</span>
+ <span class="font-normal inline-block text-xs text-gray-500">(alt + S)</span>
+ </div>
+ <div class="field mt-8 md:mt-0 mb-2">
+ <div class="control">
+ <input
+ id="search"
+ class="p-2 md:p-4 shadow rounded-lg outline-2 focus:outline outline-garage-orange"
+ placeholder="Search on Garage..." type="search" />
+ </div>
+ </div>
+ <div class="search-results hidden mt-8 p-2 md:p-4 w-full bg-white rounded shadow">
+ <div class="search-results__items max-h-96 overflow-y-scroll p-2 md:p-4 focus:outline outline-garage-orange"></div>
+ </div>
+ </section>
+ <button aria-label="close" id="close-modal-btn" class="absolute top-4 right-4 flex items-center group rounded-full shadow-inner bg-gray-300 border border-transparent hover:border-gray-500 bg-opacity-50 p-2">
+ <svg id="close-modal-btn-icon" class="w-6 h-6 text-gray-400" 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>
+ <small class="text-xs text-gray-400">(Esc)</small>
+ </button>
+ </div>
+</section> \ No newline at end of file