aboutsummaryrefslogtreecommitdiff
path: root/templates/page.html
diff options
context:
space:
mode:
authorsptaule <lecas83@gmail.com>2022-01-24 18:36:50 +0100
committersptaule <lecas83@gmail.com>2022-01-24 18:36:50 +0100
commit336fd3f7566c7872c17b30f7cd150e1d16899205 (patch)
tree2761022d83f35c3ea839d00eb63dfb7f0a91a713 /templates/page.html
downloadgaragehq.deuxfleurs.fr-336fd3f7566c7872c17b30f7cd150e1d16899205.tar.gz
garagehq.deuxfleurs.fr-336fd3f7566c7872c17b30f7cd150e1d16899205.zip
First commit
Diffstat (limited to 'templates/page.html')
-rwxr-xr-xtemplates/page.html210
1 files changed, 210 insertions, 0 deletions
diff --git a/templates/page.html b/templates/page.html
new file mode 100755
index 0000000..ee83cad
--- /dev/null
+++ b/templates/page.html
@@ -0,0 +1,210 @@
+{% extends 'base.html' %}
+
+{% block title %}
+{{ config.title }} | {{ page.title }}
+{% endblock %}
+
+{% block content %}
+ <section class="section">
+ <div class="mx-auto max-w-7xl">
+ <div class="grid grid-cols-5 gap-x-12">
+ <div class="{% if page.extra.toc %}col-span-4{% else %}col-span-full{% endif %}">
+ <article class="box my-12">
+ <div class="flex flex-col bg-gray-50">
+ <div class="flex flex-col border-l-4 border-garage-orange py-2 pl-4 relative">
+ <h1 class="title leading-10 text-3xl text-garage-orange font-semibold">
+ {{ page.title }}
+ </h1>
+ {% if page.description %}
+ <p class="subtitle my-2 text-gray-600 italic text-sm">{{ page.description }}</p>
+ {% endif %}
+ <a id="back-to-blog-posts" class="absolute top-0 -left-12" href="/blog" title="Back to blog posts">
+ <div class="w-10 overflow-hidden inline-block">
+ <div class="h-16 bg-garage-orange hover:bg-garage-gray transform -rotate-45 origin-top-right"></div>
+ </div>
+ </a>
+ </div>
+ <div class="w-full text-garage-gray text-sm grid grid-cols-2 bg-gradient-to-r from-gray-100 to-transparent p-3 border-l-4 border-gray-300">
+ <div class="flex items-center justify-start">
+ {{ macros::page_publish_metadata(page=page) }}
+ </div>
+ <div class="flex items-center justify-end">
+ {{ macros::page_content_metadata(page=page) }}
+ </div>
+ <div>
+ {% if page.taxonomies.categories %}
+ {{ macros::render_categories(categories=page.taxonomies.categories) }}
+ {% endif %}
+ </div>
+ <div>
+ {% if page.taxonomies.tags %}
+ {{ macros::render_tags(tags=page.taxonomies.tags) }}
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ <div class="page-content max-w-4xl text-justify mt-12">
+ {{ page.content | safe }}
+ </div>
+ </article>
+ </div>
+ {% if page.extra.toc %}
+ <div class="col-span-1 my-12 is-hidden-mobile bg-gradient-to-b from-yellow-100 to-transparent rounded shadow-inner">
+ <aside class="menu" style="position:sticky;top:0">
+ <p class="bg-yellow-200 uppercase text-xs font-light p-1 text-center text-gray-600">Contents</p>
+ <ul class="menu-list p-2 text-gray-800">
+ {% for h1 in page.toc %}
+ <li class="flex flex-col h-full">
+ <a id="link-{{h1.id}}" class="toc text-sm text-gray-600 bg-transparent hover:text-orange-600 font-semibold {% if loop.first %}is-active{% endif %}"
+ href="{{ h1.permalink | safe }}">
+ {{ h1.title }}
+ </a>
+ {% if h1.children %}
+ <ul>
+ {% for h2 in h1.children %}
+ <li class="hover:text-orange-600 border-l border-orange-400">
+ <a id="link-{{h2.id}}" class="toc pl-2 text-xs" href="{{ h2.permalink | safe }}">
+ {{ h2.title }}
+ </a>
+ </li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ </li>
+ {% endfor %}
+ </ul>
+ </aside>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ </section>
+{% endblock %}
+
+{% block pagination %}
+ {% if page.earlier or page.later or page.lighter or page.heavier %}
+ <section class="w-full">
+ <div class="container py-20">
+ <div class="mx-auto max-w-4xl">
+ <div class="column is-8">
+ <nav class="flex space-x-8 items-center justify-center">
+ {% if page.later %}
+ <div>
+ <a class="flex items-center space-x-1 hover:text-garage-orange font-semibold text-gray-800" href="{{ page.later.permalink }}">
+ <span class="icon mr-2">
+ <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="M7 16l-4-4m0 0l4-4m-4 4h18"></path></svg>
+ </span>
+ <span>{{ page.later.title }}</span>
+ </a>
+ </div>
+ {% endif %} {% if page.earlier %}
+ <div>
+ <a class="flex items-center space-x-1 hover:text-garage-orange font-semibold text-gray-800" href="{{ page.earlier.permalink }}">
+ {{ page.earlier.title }}<span class="icon ml-2">
+ <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="M17 8l4 4m0 0l-4 4m4-4H3"></path></svg>
+ </span>
+ </a>
+ </div>
+ {% endif %} {% if page.heavier %}
+ <div>
+ <a class="flex items-center space-x-1 hover:text-garage-orange font-semibold text-gray-800" href="{{ page.heavier.permalink }}">
+ <span class="icon mr-2">
+ <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="M7 16l-4-4m0 0l4-4m-4 4h18"></path></svg>
+ </span>
+ <span>{{ page.heavier.title }}</span>
+ </a>
+ </div>
+ {% endif %} {% if page.lighter %}
+ <div>
+ <a class="flex items-center space-x-1 hover:text-garage-orange font-semibold text-gray-800" href="{{ page.lighter.permalink }}">
+ {{ page.lighter.title }}<span class="icon ml-2">
+ <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="M17 8l4 4m0 0l-4 4m4-4H3"></path></svg>
+ </span>
+ </a>
+ </div>
+ {% endif %}
+ </nav>
+ </div>
+ </div>
+ </div>
+ </section>
+ {% endif %}
+{% endblock %}
+
+{% block comment %}
+ {% if page.extra.comments and config.extra.commenting.disqus %}
+ <section class="section">
+ <div class="container">
+ <div class="columns is-centered">
+ <div class="column is-6">
+ <div id="disqus_thread"></div>
+ </div>
+ </div>
+ </div>
+ </section>
+ {% endif %}
+{% endblock %}
+
+{% block custom_js %}
+{% if page.extra.toc %}
+<script type="text/javascript">
+ const menuBarHeight = document.querySelector("nav.navbar").clientHeight;
+ const tocItems = document.querySelectorAll(".toc");
+ const navSections = new Array(tocItems.length);
+
+ tocItems.forEach((el, i) => {
+ let id = el.getAttribute("id").substring(5);
+ navSections[i] = document.getElementById(id);
+ })
+
+ function isVisible(tocIndex) {
+ const current = navSections[tocIndex];
+ const next = tocIndex < tocItems.length - 1 ? navSections[tocIndex + 1]
+ : document.querySelectorAll("section.section").item(1);
+
+ const c = current.getBoundingClientRect();
+ const n = next.getBoundingClientRect();
+ const h = (window.innerHeight || document.documentElement.clientHeight);
+
+ return (c.top <= h) && (n.top - menuBarHeight >= 0);
+ }
+
+ function activateIfVisible() {
+ for (b = true, i = 0; i < tocItems.length; i++) {
+ if (b && isVisible(i)) {
+ tocItems[i].classList.add('is-active');
+ b = false;
+ } else
+ tocItems[i].classList.remove('is-active');
+ }
+ }
+
+ var isTicking = null;
+ window.addEventListener('scroll', () => {
+ if (!isTicking) {
+ window.requestAnimationFrame(() => {
+ activateIfVisible();
+ isTicking = false;
+ });
+ isTicking = true;
+ }
+ }, false);
+</script>
+{% endif %}
+
+{% if page.extra.comments and config.extra.commenting.disqus %}
+<script>
+ var disqus_config = function () {
+ this.page.url = "{{config.base_url | safe}}";
+ this.page.identifier = "{{ current_path | safe}}";
+ };
+
+ (function () {
+ var d = document, s = d.createElement('script');
+ s.src = 'https://{{ config.extra.commenting.disqus | safe}}.disqus.com/embed.js';
+ s.setAttribute('data-timestamp', +new Date());
+ (d.head || d.body).appendChild(s);
+ })();
+</script>
+{% endif %}
+{% endblock %}