update home template

This commit is contained in:
2025-08-05 16:03:49 +03:00
parent 38acb206dd
commit b27ea08637
268 changed files with 6303 additions and 109133 deletions

View File

@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en" charset="utf-8">
{% include "partials/head.html" %}
<body>
{% include "partials/header.html" %}
<div id="content" class="pt-24 lg:pt-0 sm:p-12 lg:p-0 overflow-hidden">
{% block content %}{% endblock %}
</div>
{% include "partials/footer.html" %}
<script type="text/javascript" src="{{ get_url(path='js/custom.js')}}"></script>
</body>
</html>

View File

@@ -1,32 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Zola with Tailwind CSS{% endblock %}</title>
<link rel="stylesheet" href="{{ get_url(path='css/main.css') }}">
<link rel="stylesheet" href="{{ get_url(path='css/dropdown.css') }}">
<script src="{{ get_url(path='js/main.js') }}" defer></script>
{% block head %}{% endblock %}
</head>
<body class="bg-gray-100 min-h-screen flex flex-col">
<header>
{% include "partials/navigation.html" %}
</header>
<main>
<div class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div class="px-4 py-6 sm:px-0">
{% block content %}{% endblock %}
</div>
</div>
</main>
<footer class="bg-white shadow mt-auto">
<div class="max-w-7xl mx-auto py-4 px-4 sm:px-6 lg:px-8">
<p class="text-center text-gray-500">
&copy; {{ now() | date(format="%Y") }} {{ config.title }}
</p>
</div>
</footer>
</body>
</html>

82
templates/blogPage.html Normal file
View File

@@ -0,0 +1,82 @@
{% extends "_default/base.html" %}
{% block content %}
{% if page.taxonomies.people %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(page.taxonomies.people[0]) %}
{% set author_path = 'people/' ~ page.taxonomies.people[0] ~ '/index.md' %}
{% set author = get_page(path=author_path) %}
{% endif %}
{% endif %}
<!-- Default page template for blog posts and basic informative markdown files -->
{% set split = page.content | split(pat="threefold.io") %}
{% if split | length < 2 %} {% set content=page.content %} {% else %} {% set content="" %} {% for part in split %} {% if
part is starting_with("/blog") %} {% set split_part=part | split(pat='/">' ) %} {% set link=split_part[0] %} {% set
link=link | replace(from="/blog/post" , to="/blog" ) %} {% set link=link | replace(from="_" , to="-" ) %} {% set
rest_part=split_part | slice(start=1) | join(sep='/"' ) %} {% set part=link ~ '/">' ~ rest_part %} {% endif %} {% if
loop.first %} {% set_global content=part%} {% else %} {% set_global content=content ~ "threefold.io" ~ part%} {% endif
%} {% endfor %} {% endif %} <main>
<div class="container mx-auto mt-2 lg:mt-20 pt-16">
<div>
<article class="article lg:w-4/6 mx-auto">
<h1 class="lg:text-3xl text-2xl font-semibold leading-none mt-0 text-gray-50">
{{ page.title }}
</h1>
<h4 class="lg:text-lg text-base text-gray-100 leading-8">
{{ page.description }}
</h4>
<section class="post-author-list mb-3 mx-0">
<div class="flex items-center">
<div class="flex justify-between items-center">
<ul class="list-none flex author-list m-0">
<li class="author-list-item">
{% if author %}
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') |
replace(from='index.md', to=author.extra.imgPath)) %}
<img src="{{author_img}}" alt="{{author.title}}" class="
h-8
w-8
sm:h-10
sm:w-10
rounded-full
bg-gray-200
border-2 border-white
" />
</li>
{% endif %}
</ul>
</div>
<div class="pl-3 flex flex-col text-xs leading-none uppercase">
{% if author %}
<a href="{{author.permalink}}" class="text-gray-50 text-xs">{{ author.title }}</a>
{% endif %}
<p class="text-gray-50 text-xs">
<time datetime="{{ page.date }}"> {{ page.date | date(format="%B %e, %Y", timezone="America/Chicago")
}}</time><br />
<span id="time"
class="time"></span>
</p>
</div>
</div>
<div class="my-2 sharethis-inline-share-buttons"></div>
</section>
{% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md',
to=page.extra.imgPath)) %}
<img class="mb-8 mx-auto" src={{img_url}} alt="{{page.title ~ 'Picture'}}">
<div>{{ content | safe }}</div>
</article>
</div>
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,14 @@
{% extends "index.html" %}
{% block content %}
<main class="pt-16">
<div class="flex flex-col md:flex-row">
{% include "partials/blogPosts.html" %}
{% include "partials/blogSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -1,10 +1,10 @@
{% extends "base.html" %}
{% extends "_default/base.html" %}
{% block content %}
<!-- home page template, has a banner and rows of page summaries -->
<div>
{% set page = get_page(path="home/index.md") %}
{{page.content | safe}}
</div>
{% endblock content %}
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,14 @@
{% extends "index.html" %}
{% block content %}
<main class="pt-16">
<div class="flex flex-col md:flex-row">
{% include "partials/productPosts.html" %}
{% include "partials/productSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,30 @@
{% extends "_default/base.html" %}
<!-- blog template
the template for displaying the blog page.
consists of a featured blog row,
a paginated list of posts (sorted by date),
and a side nav for category and featured post navigation
-->
{% block content %}
<main>
<!--sets global featured variable as the most recent post with the isFeatured tag-->
{%- set section = get_section(path="blog/_index.md") %}
{% for page in section.pages %}
{% if page.extra.isFeatured %}
{%- set_global featured = page %}
{% break %}
{% endif %}
{% endfor %}
{% include "partials/featuredBlog.html" %}
<div class="flex flex-col md:flex-row container mx-auto">
{% include "partials/blogPosts.html" %}
{% include "partials/blogSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,18 @@
{% extends "_default/base.html" %}
{% import "macros.html" as macros %}
{% block content %}
<main class="lg:mt-6">
<div class="flex">
<div class="w-4/6 pr-20">
{{ section.content | safe}}
</div>
<div class="w-2/6 pl-20">
{{ macros::page_list(item_type="page-box", group=false) }}
</div>
</div>
<hr>
</main>
{% endblock content %}

View File

@@ -0,0 +1,33 @@
{% extends "_default/base.html" %}
<!-- News template
the template for displaying the news page.
consists of a featured news row,
a paginated list of posts (sorted by date),
and a side nav for category and featured post navigation
-->
{% block content %}
<main>
<!--sets global featured variable as the most recent post with the isFeatured tag-->
{%- set section = get_section(path="newsroom/_index.md") %}
{% for page in section.pages %}
{% if page.extra.isFeatured %}
{%- set_global featured = page %}
{% break %}
{% endif %}
{% if not featured %}
{%- set_global featured = section.pages[0] %}
{% endif %}
{% endfor %}
{% include "partials/featuredNews.html" %}
<div class="flex flex-col md:flex-row container mx-auto">
{% include "partials/newsPosts.html" %}
{% include "partials/newsSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,83 @@
{% extends "_default/base.html" %}
<!-- partners template
the template for displaying the partners page.
consists of a featured partners row,
a paginated list of posts (sorted by date),
and a side nav for category and featured post navigation
-->
{% block content %}
<main>
<!--sets global featured variable as the most recent post with the isFeatured tag-->
{%- set section = get_section(path="people/_index.md") %}
<div class="container mx-auto">
{% include "partials/filter_bar.html" %}
<div class="text-center main-title px-0 md:w-full">
<h1
class="tracking-tight text-lg text-left lg:text-xl fw-500 leading-snug font-normal mb-10"
>
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{{category | replace(from='-', to=' ' ) | title}}
</h1>
<div>
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-4 lg:max-w-none">
{%- for page in paginator.pages %}
{% if "Engineering" == "Engineering"%}
{% include "partials/personCard.html" %}
{%endif%} {%- endfor %}
</div>
<hr class="mt-6" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
</div>
</main>
{% endblock content %}

14
templates/list.html Normal file
View File

@@ -0,0 +1,14 @@
{% extends "_default/base.html" %}
{% block content %}
<!-- Page template for blog posts and basic informative markdown files -->
<h1 class="title">
{{ section.title }}
</h1>
<ul>
{% for page in section.pages %}
<li>{{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }} &bull; <a href="{{ page.permalink | safe }}">{{ page.title }}</a></li>
{% endfor %}
</ul>
<p>This comes from /templates/_default/list.html.</p>
{% endblock content %}

28
templates/macros.html Normal file
View File

@@ -0,0 +1,28 @@
{% macro page_list(type="text") %}
<div id="list"></div>
{% if section.extra.group_pages_by %}
<div class="flex flex-col md:grid md:grid-cols-2 md:gap-12 lg:flex lg:flex-row justify-around text-center">
{% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %}
{% set roles = taxonomy.items %}
{% for role in roles %}
<div class="flex flex-col items-start text-left my-8 mx-4 md:mx-8 lg:mx-4 flex-1 w-72">
{% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %}
<img src="{{icon_path}}" alt="role category icon" class="h-10 my-4">
{% set path = role.name | slugify %}
{% set fullpath = "/roles/" ~ path %}
<a href={{fullpath}} class="text-2xl text-black font-normal lg:mb-8 cursor-pointer"> {{role.name}} </a>
{% for page in role.pages %}
{% include "partials/pageBox.html"%}
{% endfor %}
</div>
{% endfor %}
</div>
{% else %}
{% for page in section.pages %}
{{page}}
{% include "partials/pageBox.html"%}
{% endfor %}
{% endif %}
{% endmacro page_list %}

143
templates/newsPage.html Normal file
View File

@@ -0,0 +1,143 @@
{% extends "_default/base.html" %}
{% block content %}
{% set split = page.content | split(pat="threefold.io") %}
{% if split | length < 2 %}
{% set content = page.content %}
{% else %}
{% set content = "" %}
{% for part in split %}
{% if part is starting_with("/blog") %}
{% set split_part = part | split(pat='/">') %}
{% set link = split_part[0] %}
{% set link = link | replace(from="/blog/post", to="/blog") %}
{% set link = link | replace(from="_", to="-") %}
{% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
{% set part = link ~ '/">' ~ rest_part %}
{% endif %}
{% if part is starting_with("/people") %}
{% set split_part = part | split(pat='/">') %}
{% set link = split_part[0] %}
{% set link = link | replace(from="_", to="-") %}
{% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
{% set part = link ~ '/">' ~ rest_part %}
{% endif %}
{% if loop.first %}
{% set_global content = part %}
{% else %}
{% set_global content = content ~ "threefold.io" ~ part %}
{% endif %}
{% endfor %}
{% endif %}
<!-- Default page template for news posts and basic informative markdown files -->
<main>
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-2 lg:pt-16 lg:w-4/6">
<div class="pt-8">
<section class="post-header container mx-auto px-0 mb-4 border-b">
<h1 class="lg:text-4xl text-2xl font-medium leading-none mt-0">
{{ page.title }}
</h1>
<div class="lg:text-xl text-base pt-4 pb-10 text-gray-50">{{ page.description }}</div>
</section>
<section class="post-author-list mb-10 mx-0">
<div class="flex items-center">
<div class="flex justify-between items-center">
<ul class="list-none flex author-list my-10 mr-2 px-0">
{% if page.taxonomies.people %}
{% for person in page.taxonomies.people %}
{% set author_path = 'people/' ~ person ~ '/index.md' %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(person) %}
{% set author = get_page(path=author_path) %}
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
<li class="author-list-item">
<a href="{{author.permalink}}" tooltip="{{author.title}}">
<img src="{{author_img}}" alt="{{ author.title }}" class="
w-10
h-10
rounded-full
bg-gray-200
border-2 border-white
" />
</a>
</li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
</div>
<div class="pl-3 flex flex-col text-xs leading-none uppercase">
<p>
{% if page.taxonomies.people %}
{% for person in page.taxonomies.people %}
{% set author_path = 'people/' ~ person ~ '/index.md' %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(person) %}
{% set author = get_page(path=author_path) %}
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
<span>
<a href="{{author.permalink}}" tooltip="{{author.title}}" class="hover:underline text-gray-800">{{ author.title }}</a>
</span>
{% endif %}
{% endfor %}
{% endif %}
</p>
<p class="text-gray-50">
<time datetime="{{page.date}}">
{{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
</time>
{# &nbsp;&middot;&nbsp; {{ page.news.timeToRead }} min read #}
</p>
</div>
<div class="my-2 ml-auto sharethis-inline-share-buttons"></div>
</div>
</section>
</div>
<section class="post-image mx-auto w-full">
{% if page.extra.imgPath %}
{% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
<img src="{{img_url}}" />
{%endif%}
</section>
<div class="py-12">
<section class="
post-content
container
mx-auto
relative
font-serif
text-gray-50
">
<div class="post-content-text text-xl">{{ content | safe }}</div>
</section>
<section class="post-tags container mx-auto relative py-10">
{% for tag in page.taxonomies.tags %}
{% set fullpath = "/tags/" ~ tag | replace(from='_', to='-' ) %}
<a href="{{fullpath}}" class="
text-xs
bg-transparent
hover:text-blue-700
py-2
px-4
mr-2
border
hover:border-blue-500
border-gray-600
text-gray-50
rounded-full
">{{ tag }}</a>
{% endfor %}
</section>
</div>
</div>
</main>
{% endblock content %}

View File

@@ -1,43 +1,16 @@
{% extends "base.html" %}
{% block title %}{{ page.title }} | {{ config.title }}{% endblock %}
{% extends "_default/base.html" %}
{% block content %}
<article class="bg-white shadow overflow-hidden sm:rounded-lg">
<div class="px-4 py-5 sm:px-6">
<h1 class="text-3xl font-bold text-gray-900">
{{ page.title }}
</h1>
{% if page.date %}
<div class="mt-2 flex items-center text-sm text-gray-500">
<time datetime="{{ page.date }}">{{ page.date | date(format="%B %e, %Y") }}</time>
</div>
<main>
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad:true});</script>
<div>
{% if page %}
{{page.content | safe}}
{% else %}
{{section.content | safe}}
{% endif %}
</div>
<div class="border-t border-gray-200">
<div class="px-4 py-5 sm:p-6">
<div class="prose prose-indigo lg:prose-xl max-w-none">
{{ page.content | safe }}
</div>
</div>
</div>
</article>
<div class="mt-8 flex justify-between">
{% if page.earlier %}
<a href="{{ page.earlier.permalink }}" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
&larr; {{ page.earlier.title }}
</a>
{% else %}
<div></div>
{% endif %}
{% if page.later %}
<a href="{{ page.later.permalink }}" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ page.later.title }} &rarr;
</a>
{% else %}
<div></div>
{% endif %}
</div>
{% endblock %}
</main> {% endblock content %}

View File

@@ -0,0 +1,70 @@
use{% block content %}
<div class="text-center main-title px-0 lg:w-2/3 mx-8 pt-6 lg:mx-12">
<h2
class="tracking-tight text-left text-2xl lg:text-3xl fw-500 leading-snug font-semibold mb-10"
>
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
TF9 Stories and Project Updates
{% if taxonomy == "categories" %} -
{{category | replace(from='-', to=' ' ) | title}}
{% endif %}
</h2>
<div>
<div class="mt-3 grid gap-6 max-w-lg mx-auto grid-cols-1 lg:grid-cols-3 lg:max-w-none">
{%- for post in paginator.pages %}
{% if not post.extra.hidden %}
{% include "partials/postCard.html" %}
{%endif%} {%- endfor %}
</div>
<hr class="my-10" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,38 @@
<div class="mx-8 lg:mx-4 flex flex-col mt-2 pt-6 md:mt-8">
<div class="flex flex-col mb-12">
<h4 class="text-base not-italic font-medium leading-6 text- mb-4"> FILTER POSTS BY</h4>
<a id="all" class="mb-2 text-white font-normal" href="/blog">All</a>
{% set taxonomy = get_taxonomy(kind="categories") %}
{% set categories = taxonomy.items %}
{% for category in categories %}
{% set path = category.name | slugify %}
{% set fullpath = "/categories/" ~ path %}
<a id="{{path}}" class="mb-2 text-white font-normal" href={{fullpath}}> {{category.name}} </a>
{% endfor %}
</div>
{% set section = get_section(path="blog/_index.md")%}
<div class="lg:pt-6 flex flex-col mb-12 w-64 mr-8 lg:mr-24">
<h4 class="text-base not-italic font-medium leading-6 text-white mb-6"> FEATURED POSTS</h4>
{% for page in section.pages %}
{% if page.extra.isFeatured %}
<a class="mb-3 text-gray-50" href={{page.permalink}}>{{ page.title }}</a>
{% endif %}
{% endfor %}
</div>
</div>
<script>
function setActiveCategory() {
let activeCategory = window.location.pathname.split("/")[2]
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
else { activeLink = document.getElementById(activeCategory)}
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
}
setActiveCategory()
</script>

View File

@@ -0,0 +1,90 @@
<div class="">
<div class="mx-auto max-w-7xl px-6 lg:px-8 py-10">
<div class="mx-auto max-w-2xl lg:mx-0">
<h2 class="text-base font-semibold leading-7 text-indigo-400 mb-4">BLOG</h2>
<h2 class="tracking-tight">What's New</h2>
</div>
<div class="mx-auto mt-8 grid max-w-2xl grid-cols-1 gap-x-8 gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-4">
<article class="flex flex-col items-start justify-between">
<div class="relative w-full">
<img src="home/img/cyberwall.png" alt="" class="w-full rounded-xl bg-gray-100 object-cover aspect-[2/1] lg:aspect-[16/9]">
<div class="absolute inset-0 rounded-2xl ring-1 ring-inset ring-gray-900/10"></div>
</div>
<div class="max-w-xl">
<div class="mt-8 flex items-center gap-x-4 text-xs">
<time datetime="2020-03-16" class="text-gray-500">March 20, 2024</time>
<a href="/blog/cyberwall/" class="relative z-10 rounded-full bg-gray-10 px-3 py-1.5 font-medium hover:bg-gray-100">Blog</a>
</div>
<div class="group relative">
<h3 class="mt-3 text-lg font-semibold leading-6 group-hover:text-gray-600">
<a href="/blog/cyberwall/">
<span class="absolute inset-0"></span>
<h4 class="font-semibold">An Antidote for the Cyber Pandemic</h4>
</a>
</h3>
<p class="mt-5 line-clamp-3 text-sm leading-6">In today's interconnected world, the rise of cyber threats presents a significant challenge...</p>
</div>
</article>
<article class="flex flex-col items-start justify-between">
<div class="relative w-full">
<img src="home/img/revolutionizing_data_center.png" alt="" class="w-full rounded-xl bg-gray-100 object-cover aspect-[2/1] lg:aspect-[16/9]">
<div class="absolute inset-0 rounded-2xl ring-1 ring-inset ring-gray-900/10"></div>
</div>
<div class="max-w-xl">
<div class="mt-8 flex items-center gap-x-4 text-xs">
<time datetime="2020-03-16" class="text-gray-500">February 10, 2024</time>
<a href="/blog/revolutionizing_data_center" class="relative z-10 rounded-full bg-gray-10 px-3 py-1.5 font-medium hover:bg-gray-100">Blog</a>
</div>
<div class="group relative">
<h3 class="mt-3 text-lg font-semibold leading-6 group-hover:text-gray-600">
<a href="/blog/revolutionizing_data_center">
<span class="absolute inset-0"></span>
<h4 class="font-semibold">Revolutionizing Data Center Design: Exploring Tier S</h4>
</a>
</h3>
<p class="mt-5 line-clamp-3 text-sm leading-6">The Tier S model is designed to exceed the capabilities of traditional data centers...</p>
</div>
</article>
<article class="flex flex-col items-start justify-between">
<div class="relative w-full">
<img src="home/img/tf9_dunia_yetu.png" alt="" class="w-full rounded-xl bg-gray-100 object-cover aspect-[2/1] lg:aspect-[16/9]">
<div class="absolute inset-0 rounded-2xl ring-1 ring-inset ring-gray-900/10"></div>
</div>
<div class="max-w-xl">
<div class="mt-8 flex items-center gap-x-4 text-xs">
<time datetime="2020-03-16" class="text-gray-500">Mar 16, 2020</time>
<a href="/blog/tf9_dunia_yetu" class="relative z-10 rounded-full bg-gray-10 px-3 py-1.5 font-medium hover:bg-gray-100">News</a>
</div>
<div class="group relative">
<h3 class="mt-3 text-lg font-semibold leading-6 group-hover:text-gray-600">
<a href="/blog/tf9_dunia_yetu">
<span class="absolute inset-0"></span>
<h4 class="font-semibold">TF Announces a Sovereign Internet for Tanzania</h4>
</a>
</h3>
<p class="mt-5 line-clamp-3 text-sm leading-6">Dunia Yetu Formally Announced in Dar Es Salaam, in partnership with Tanzania's ICT Commission...</p>
</div>
</article>
<article class="flex flex-col items-start justify-between">
<div class="relative w-full">
<img src="home/img/tf9_depin_hub.png" alt="" class="w-full rounded-xl bg-gray-100 object-cover aspect-[2/1] lg:aspect-[16/9]">
<div class="absolute inset-0 rounded-2xl ring-1 ring-inset ring-gray-900/10"></div>
</div>
<div class="max-w-xl">
<div class="mt-8 flex items-center gap-x-4 text-xs">
<time datetime="2020-03-16" class="text-gray-500">December 15, 2023</time>
<a href="/blog/tf9_depin_hub" class="relative z-10 rounded-full bg-gray-10 px-3 py-1.5 font-medium hover:bg-gray-100">News</a>
</div>
<div class="group relative">
<h3 class="mt-3 text-lg font-semibold leading-6 group-hover:text-gray-600">
<a href="/blog/tf9_depin_hub">
<span class="absolute inset-0"></span>
<h4 class="font-semibold">ThreeFold Listed on DePIN Hub</h4>
</a>
</h3>
<p class="mt-5 line-clamp-3 text-sm leading-6">ThreeFold are now listed on DePIN (Decentralized Physical Infrastructure Networks)....</p>
</div>
</article>
</div>
</div>
</div>

View File

@@ -0,0 +1,37 @@
{% if featured.taxonomies.people %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(featured.taxonomies.people[0]) %}
{% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %}
{% set author = get_page(path=author_path) %}
{% endif %}
{% endif %}
<body>
<div class="lg:grid lg:grid-cols-2 lg:gap-8 relative mt-12 pt-6 lg:pt-16 px-6 lg:px-0 lg:mt-10 items-center py-10 container mx-auto flex flex-col-reverse lg:flex-row">
<!-- Image Section (Will be displayed first on small screens) -->
<div class="relative lg:mt-0 max-w-full order-1 lg:order-2">
<img class="relative mx-auto mt-10 lg:mt-16 rounded-lg max-h-64 py-0" src="{{featured.permalink}}{{featured.extra.imgPath}}" alt="" />
</div>
<!-- Text Content Section (Will be displayed first on larger screens) -->
<div class="relative w-full md:w-auto mx-3 lg:mx-12 order-2 lg:order-1">
<h3 class="text-base not-italic font-medium leading-6 text-indigo-400 mb-4">FEATURED POST</h3>
<a href="{{featured.permalink}}">
<h2 class="text-2xl main-title lg:text-3xl fw-500 leading-snug font-semibold">
{{ featured.title }}
</h2>
<p class="mt-4 text-base font-light text-gray-50 text-left">
{{ featured.description }}
</p>
</a>
<h4 class="mt-2 mb-6 lg:mb-10 text-sm not-italic font-light leading-6 text-gray-200">
{{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}}
</h4>
<a href="/blog/ensuring_reliability" class="rounded-md mt-6 lg:mt-12 bg-indigo-400 px-3.5 py-2.5 font-semibold text-white shadow-sm text-sm hover:bg-indigo-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-400">Read More</a>
</div>
</div>
<hr class="mt-6 container mx-auto">
<br>
<br>
</body>

View File

@@ -0,0 +1,28 @@
<body>
<div class="md:grid md:grid-cols-2 md:gap-8 relative mt-16 lg:mt-16 items-center container mx-auto">
<div class="relative lg:ml-8 my-8 w-full md:w-auto">
<h3 class="text-base not-italic leading-6 text-gray-600">FEATURED NEWS</h3>
<a href={{featured.permalink}} class="">
<h2
class="mt-8 text-2xl main-title sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-4 md:mb-10 ">
{{ featured.title }}
</h2>
</a>
<h4 class="text-sm not-italic font-light leading-6 text-gray-600">
{{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} -
</h4>
</div>
<div class="mx-4 relative lg:mt-0 max-w-full">
{% if featured.extra.imgPath %}
<img class="relative mx-auto md:w-auto md:max-w-full max-h-80" src={{featured.permalink}}{{featured.extra.imgPath}} alt="" />
{% endif %}
</div>
</div>
<hr class="mt-6">
</div>
</div>
</body>

View File

@@ -0,0 +1,48 @@
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{% if path_array | length < 4%}
{% set category = "All" %}
{% endif %}
<div class="left-0 z-50 mb-5 h-16 bg-indigo-950 mt-24 w-full rounded shadow">
<header class="flex flex-wrap container mx-auto pt-1 pb-0 sm:px-0 transition-all transition-500">
<div class="flex justify-between px-4 sm:p-0">
<div class="ml-8 inline-flex flex-shrink-0">
<span class="flex text-lg text-white p-3 capitalize tracking-normal">
Filter:
</span>
</div>
</div>
<nav class="inline-flex md:order-2 pt-2 pb-4 sm:flex sm:p-0 bg-transparent">
<ul class="list-none sm:flex justify-left capitalize transition-all transition-500 ">
<li class="flex items-center">
<div class="relative">
<button id="filter-btn" class="rounded border-0 px-5 !shadow-none flex flex-row items-center w-full md:w-auto md:inline md:mt-0 mb-0 animated-link">
<span class="capitalize">{{category | replace(from='-', to=' ' ) | title}}</span>
<svg data-v-21fd5df0="" fill="currentColor" viewBox="0 0 20 20" class="inline w-4 h-4 mt-1 ml-1 transition-transform duration-200 transform md:-mt-1 rotate-180"><path data-v-21fd5df0="" fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</button>
<div id="filter-menu" x-show="open" x-transition:enter="transition ease-out duration-100" x-transition:enter-start="transform opacity-0 scale-95" x-transition:enter-end="transform opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="transform opacity-100 scale-100" x-transition:leave-end="transform opacity-0 scale-95" class="hidden absolute w-full mt-2 origin-top-right rounded-md shadow-lg md:w-48 z-30">
<div data-v-21fd5df0="" class="w-64 px-2 py-2 rounded-md shadow dark:bg-gray-700">
<a data-v-21fd5df0="" href="/people" class="cursor-pointer block px-4 py-2 mt-2 text-sm font-semibold bg-transparent rounded-lg dark:bg-transparent dark:hover:bg-gray-600 dark-:focus:bg-gray-600 dark:focus:text-white dark:hover:text-white dark:text-gray-200 md:mt-0 hover:text-gray-900 focus:text-gray-900 hover:bg-gray-200 focus:bg-gray-200 focus:outline-none focus:shadow-outline">
All
</a>
{% set taxonomy = get_taxonomy(kind="memberships") %}
{% set categories = taxonomy.items %}
{% for category in categories %}
{% set path = category.name | slugify %}
{% set fullpath = "/memberships/" ~ path %}
<a href="{{fullpath}}" class="cursor-pointer block px-4 py-2 mt-2 text-sm font-semibold bg-transparent rounded-lg dark:bg-transparent dark:hover:bg-gray-600 dark-:focus:bg-gray-600 dark:focus:text-white dark:hover:text-white dark:text-gray-200 md:mt-0 hover:text-gray-900 focus:text-gray-900 hover:bg-gray-200 focus:bg-gray-200 focus:outline-none focus:shadow-outline">
{{category.name}}
</a>
{% endfor %}
</div>
</div>
</div>
</li>
</ul>
</nav>
</header>
</div>

View File

@@ -0,0 +1,43 @@
<!--
Tailwind UI components require Tailwind CSS v1.8 and the @tailwindcss/ui plugin.
Read the documentation to get started: https://tailwindui.com/documentation
-->
{%- set section = get_section(path="footer/_index.md") %}
{%- set logoPath = section.extra.logoPath %}
<div class="border-t border-gray-600"></div>
<footer>
<div class="max-w-screen-2xl mx-auto py-8 sm:px-6 lg:px-8">
<div class="xl:flex xl:gap-4 items-center">
<div class="space-y-8 lg:max-w-sm xl:max-w-sm lg:mr-8 lg:mb-8 xl:col-span-1">
<img class="w-40 h-auto sm:w-15 mx-auto" src="{{ get_url(path=logoPath)}}" alt="Hero Logo" />
<p class="text-gray-500 text-base leading-6 ">
{{section.description}}
</p>
{% include "partials/socialLinks.html" %}
</div>
<div class="mt-2 lg:mt-0 w-full px-8 sm:px-12 md:px-16 lg:px-20 footer-cust">
{{ section.content | safe }}
</div>
</div>
<div class="mt-8 mx-auto border-t border-gray-200 pt-8 pb-4">
<p data-v-14efe4a7="" class="text-base leading-6 text-gray-400 text-center">
© 2025 GeoMind, All rights reserved.
<a target="_blank" href="https://docs.threefold.io/docs/legal/terms_and_conditions" class="leading-6 text-gray-200 hover:text-gray-500">Terms &amp; Conditions |
</a><a target="_blank" href="https://docs.threefold.io/docs/legal/privacy_policy" class="leading-6 text-gray-200 hover:text-gray-500">Privacy Policy
</a>
</div>
</div>
</div>
</footer>
</div>

View File

@@ -0,0 +1,92 @@
{% set cloudiBase = 'https://res.cloudinary.com/brycewray-com/image/upload/' %}
{% set xFmPart1 = 'f_auto,q_auto:eco,w_' %}
{% set xFmPart2 = ',x_0,z_1/' %}
{% set fallbackImg = 'typewriter-monochrome_2242164_6260x4374.jpg' %}
{% set zolaVer = '0.13.0' %}
<head>
<meta name="generator" content="Zola v.{{ zolaVer }} - getzola.org" />
<link rel="icon" type="image/x-icon" href="{{ get_url(path='images/favicon.png')}}">
{% block title %}
{% if current_path == '/' %}
<title>{{ config.title }}</title>
<meta property="og:title" content="{{ config.title }}" />
{% else %}
<title>{% if section.title %}{{ section.title }} &bull; {% endif %}{% if page.title %}{{ page.title }} &bull; {% endif %}{{ config.title }}</title>
<meta property="og:title" content="{% if section.title %}{{ section.title }} &bull; {% endif %}{% if page.title %}{{ page.title }} &bull; {% endif %}{{ config.title }}" />
{% endif %}
{% endblock title %}
<!-- Required meta categories -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Matomo Tag Manager -->
<script>
var _mtm = window._mtm = window._mtm || [];
_mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
(function() {
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src='https://analytics.threefold.io/js/container_Wsz7ulgX.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Tag Manager -->
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.threefold.io/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '19']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<!-- **** BEGINNING, favicons **** -->
<!-- generics -->
<!-- iOS -->
<!-- Android -->
<!-- Windows 8, IE 10 -->
<!-- Windows 8.1 and up, IE 11 -->
<!-- **** CONCLUSION, favicons **** -->
<!-- CSS/SCSS -->
<link rel="stylesheet" href="{{ get_url(path='css/index.css', trailing_slash=false, cachebust=true) | safe }}">
<style>@-moz-document url-prefix() {.lazy:-moz-loading {visibility:hidden;}}.ieOnly {display: none;}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {.ieOnly {display: block;}}</style>
<!-- MailerLite Universal -->
<script>
(function(m,a,i,l,e,r){ m['MailerLiteObject']=e;function f(){
var c={ a:arguments,q:[]};var r=this.push(c);return "number"!=typeof r?r:f.bind(c.q);}
f.q=f.q||[];m[e]=m[e]||f.bind(f.q);m[e].q=m[e].q||f.q;r=a.createElement(i);
var _=a.getElementsByTagName(i)[0];r.async=1;r.src=l+'?v'+(~~(new Date().getTime()/1000000));
_.parentNode.insertBefore(r,_);})(window, document, 'script', 'https://static.mailerlite.com/js/universal.js', 'ml');
var ml_account = ml('accounts', '1778010', 'x2d3d9f8n1', 'load');
</script>
<!-- End MailerLite Universal -->
</head>
<style>
#header-container .bg-custom-dark-blue {
background-color: #010a2d;
}
#hamburger .bg-custom-dark-blue {
background-color: #010a2d;
}
</style>

View File

@@ -0,0 +1,134 @@
<!--
Tailwind UI components require Tailwind CSS v1.8 and the @tailwindcss/ui plugin.
Read the documentation to get started: https://tailwindui.com/documentation
--><!-- This example requires Tailwind CSS v1.4.0+ -->
<!-- set variables used for header template -->
{% set section = get_section(path="_index.md") %}
{% set subsections_str = section.subsections | join(sep=" ") %}
{% set logo_path = get_url(path=section.extra.logo_path | default(value='')) %}
{% if "header/_index.md" in subsections_str %}
{% set section = get_section(path="header/_index.md") %}
{% set header_items = section.content | safe | split(pat="<li>") %}
{% include "partials/header_custom.html" %}
{% else %}
<header id="header-container">
{% set header_class = config.extra.header_class | default(value='') %}
<div class="{{'z-10 bg-black fixed w-screen max-w-full ' ~ header_class}}">
<div class="relative z-50 shadow">
<div class="my-4 mx-auto flex z-50 shadow justify-between items-center pl-6 pr-2 md:pr-0 lg:py-5 md:px-12 py-2 lg:px-20 lg:justify-start lg:space-x-20">
<div>
<a href="/" class="flex">
<img class="lg:w-20 h-auto sm:w-10" src="{{logo_path}}" alt="Logo" />
</a>
</div>
<div class="-mr-2 -my-2 lg:hidden">
<button id="hamburger-btn" type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
<!-- Heroicon name: menu -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
<button id="close-hamburger-btn" type="button" class="hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
<!-- Heroicon name: x -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<div class="hidden lg:flex-1 lg:flex lg:items-center lg:justify-end lg:space-x-12">
<nav class="flex space-x-10">
{% for page in section.pages %}
{% if page.extra.menu %} {% continue %} {% endif %}
<a href="{{page.permalink}}" class="text-lg leading-6 text-white focus:outline-none focus:text-white transition ease-in-out duration-150 mt-0">
{{page.title}}
</a>
<div class="relative">
</div>
{% endfor %}
{% for subsection in section.subsections %}
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
{% set button_id = subsection ~ "-menu-btn" | slugify %}
<div class="relative">
<button type="button" id="{{button_id}}" class="nav_btn text-white group inline-flex items-center space-x-2 text-lg leading-6 hover:text-blue-300 focus:outline-none transition ease-in-out duration-150">
<span>{{ subsection }}</span>
<div class="-rotate-90 transition-transform"><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg></div>
</button>
</div>
{% endfor %}
</nav>
</div>
</div>
</div>
{% for subsection in section.subsections %}
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
{% set submenu_id = subsection ~ "-menu" | slugify %}
<nav>
<div id="{{submenu_id}}" class="mt-16 sm:mt-0 md:mt-0 lg:mt-0 xl:mt-0 2xl:mt-0 z-30 absolute inset-x-0 transform shadow-lg lg:backdrop-blur xl:backdrop-blur transition duration-200 ease-in opacity-0 -translate-y-1 hidden">
<div class="bg-white lg:bg-semi-white md:bg-semi-white xl:bg-semi-white">
<div class="mx-8 lg:mx-20 xl:mx-20 px-6 py-4 sm:p-6 md:p-8 lg:p-12 xl:p-12">
{{subsection | safe }}
</div>
</div>
</div>
</nav>
{% endfor %}
<!--
Mobile menu, show/hide based on mobile menu state.
Entering: "duration-200 ease-out"
From: "opacity-0 scale-95"
To: "opacity-100 scale-100"
Leaving: "duration-100 ease-in"
From: "opacity-100 scale-100"
To: "opacity-0 scale-95"
-->
<div id="hamburger" class="hidden fixed mt-16 z-20 inset-x-0 transition transform origin-top-right lg:hidden">
<div>
<div class="shadow-xs h-screen bg-white divide-y-2 divide-gray-50">
<div class="pt-6 sm:px-12 md:px-16 lg:px-20 space-y-6 sm:space-y-8 sm:pb-8 max-h-screen overflow-y-auto">
<nav class="flex flex-col justify-around pb-12">
{% for page in section.pages %}
{% if page.relative_path == "home/index.md" %} {% continue %} {% endif %}
{% if page.extra.menu %} {% continue %} {% endif %}
<a href="{{page.permalink}}" class="text-lg px-8 py-3 leading-6 font-normal text-white hover:text-white focus:outline-none focus:text-white transition ease-in-out duration-150">
{{page.title}}
</a>
<hr/>
{% endfor %}
{% for subsection in section.subsections %}
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
{% set button_id = subsection ~ "-mobile-menu-btn" | slugify %}
{% set menu_id = subsection ~ "-mobile-menu" | slugify %}
<button type="button" id="{{button_id}}" class="flex flex px-8 py-3 items-start text-left text-white group inline-flex space-x-2 text-lg leading-6 font-normal hover:text-white focus:outline-none focus:text-white transition ease-in-out duration-150">
<span>{{ subsection }}</span>
<div class="-rotate-90 transition-transform"><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg></div>
</button>
<div id="{{menu_id}}" class="z-50 leading-3 pl-12 pt-6 pb-4 inset-x-0 text-sm transform duration-200 ease-in opacity-0 -translate-y-1 hidden">
{{ subsection | safe }}
</div>
{% endfor %}
</nav>
</div>
</div>
</div>
</div>
</header>
{% endif %}

View File

@@ -0,0 +1,162 @@
<!--
Tailwind UI components require Tailwind CSS v1.8 and the @tailwindcss/ui plugin.
Read the documentation to get started: https://tailwindui.com/documentation
--><!-- This example requires Tailwind CSS v1.4.0+ -->
{%- set section = get_section(path="header/_index.md") %}
{% set header_items = section.content | safe | split(pat="<li>") %}
<header id="header-container">
<div class="z-10 bg-custom-dark-blue fixed w-screen">
<div class="relative z-50 shadow">
<div class="my-4 mx-auto flex z-50 shadow justify-between items-center pl-6 pr-2 md:pl-0 md:pr-0 lg:py-1 sm:px-8 md:px-12 py-2 lg:px-28 lg:justify-start lg:space-x-20">
<div>
<a href="/" class="flex">
<img class="w-24 h-auto sm:w-15" src="{{section.extra.logoPath}}" alt="geomind Logo" />
</a>
</div>
<div class="mr-2 -my-2 lg:hidden">
<button id="hamburger-btn" type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-50 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
<!-- Heroicon name: menu -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
<button id="close-hamburger-btn" type="button" class="hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-50 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
<!-- Heroicon name: x -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<div class="hidden lg:flex-1 lg:flex lg:items-center lg:justify-end lg:space-x-12">
<nav class="flex space-x-10">
{% for header_item in header_items %}
{% if not loop.first %}
{% set header_arr = header_item | split(pat="</li>") %}
{% set header_label = header_arr[0] %}
{% if '<a' in header_label %}
{% set link_label = header_label | striptags %}
{% set link_path = header_label | split(pat="%22") | safe%}
{% if header_label is containing("http") %}
<a href="{{link_path[1]}}" target="_blank" class="text-md leading-6 font-medium text-white focus:outline-none focus:text-white transition ease-in-out duration-150 mt-0">
{{link_label}}
</a>
{% else %}
<a href="{{link_path[1]}}" class="text-md leading-6 font-medium text-white focus:outline-none focus:text-white transition ease-in-out duration-150 mt-0">
{{link_label}}
</a>
{% endif %}
{% else %}
<div class="relative">
{% set button_id = header_label ~ "-menu-btn" | slugify %}
<button type="button" id="{{button_id}}" class="nav_btn font-medium text-white group inline-flex items-center space-x-2 text-lg leading-6 font-normal hover:text-blue-300 focus:outline-none transition ease-in-out duration-150">
<span>{{ header_label }}</span>
<div class="-rotate-90 transition-transform"><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg></div>
</button>
</div>
{% endif %}
{% endif %}
{% endfor %}
</nav>
</div>
</div>
</div>
{% for header_item in header_items %}
{% if not loop.first %}
{% set header_arr = header_item | split(pat="</li>") %}
{% set header_label = header_arr[0] %}
{% set header_menu = header_arr[1] %}
{% set menu_id = header_label ~ "-menu" | slugify %}
<nav>
<div id="{{menu_id}}" class="mt-16 sm:mt-0 md:mt-0 lg:mt-0 xl:mt-0 2xl:mt-0 z-30 absolute inset-x-0 transform shadow-lg lg:backdrop-blur xl:backdrop-blur transition duration-200 ease-in opacity-0 -translate-y-1 hidden">
<div class="bg-black">
<div class="mx-8 lg:mx-20 xl:mx-20 px-6 py-4 sm:p-6 md:p-8 lg:p-12 xl:p-12">
{{header_menu | safe }}
</div>
</div>
</div>
</nav>
{% endif %}
{% endfor %}
<!--
Mobile menu, show/hide based on mobile menu state.
Entering: "duration-200 ease-out"
From: "opacity-0 scale-95"
To: "opacity-100 scale-100"
Leaving: "duration-100 ease-in"
From: "opacity-100 scale-100"
To: "opacity-0 scale-95"
-->
<div id="hamburger" class="hidden fixed mt-16 z-20 top-16 right-0 inset-x-0 transition transform origin-top-right lg:hidden">
<div>
<div class="shadow-xs h-screen bg-custom-dark-blue divide-y-2 divide-gray-500">
<div class="pb-6 px-6 lg:px-20 lg:space-y-6 max-h-screen overflow-y-auto">
<nav class="flex flex-col justify-around pb-12 pt-4">
{% for header_item in header_items %}
{% if not loop.first %}
{% set header_arr = header_item | split(pat="</li>") %}
{% set header_label = header_arr[0] %}
{% if '<a' in header_label %}
{% set link_label = header_label | striptags %}
{% set link_path = header_label | split(pat="%22") | safe%}
{% if header_label is containing("http") %}
<a href="{{link_path[1]}}" target="_blank" class="text-lg px-8 py-3 leading-6 font-normal text-white hover:text-white focus:outline-none focus:text-white transition ease-in-out duration-150">
{{link_label}}
</a>
{% else %}
<a href="{{link_path[1]}}" class="text-lg px-8 py-3 leading-6 font-normal text-white hover:text-white focus:outline-none focus:text-white transition ease-in-out duration-150">
{{link_label}}
</a>
{% endif %}
{% else %}
{% set button_id = header_label ~ "-mobile-menu-btn" | slugify %}
<button type="button" id="{{button_id}}" class="flex flex px-8 py-3 items-start text-left text-white group inline-flex space-x-2 text-lg leading-6 font-normal hover:text-white focus:outline-none focus:text-white transition ease-in-out duration-150">
<span>{{ header_label }}</span>
<div class="-rotate-90 transition-transform"><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg></div>
</button>
{% set menu_id = header_label ~ "-mobile-menu" | slugify %}
<div id="{{menu_id}}" class="z-50 leading-3 pl-12 pt-6 pb-4 inset-x-0 text-sm transform duration-200 ease-in opacity-0 -translate-y-1 hidden">
{{ header_arr[1] | safe }}
</div>
{% endif %}
{% endif %}
{% endfor %}
</nav>
</div>
</div>
</div>
</div>
</header>
<style>
#header-container .bg-custom-dark-blue {
background-color: #010a2d;
}
#hamburger .bg-custom-dark-blue {
background-color: #010a2d;
}
.bg-black {
color: #010a2d;
}
</style>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#A39B8D;" d="M406.261,155.826h-11.13V11.13h11.13V155.826z M261.565,11.13h-11.13v144.696h11.13V11.13z
M116.87,11.13h-11.13v144.696h11.13V11.13z"/>
<path style="fill:#F7F2CD;" d="M467.478,278.261H333.913l55.652-133.565h22.261L467.478,278.261z M267.13,144.696H244.87
l-55.652,133.565h133.565L267.13,144.696z M122.435,144.696h-22.261L44.522,278.261h133.565L122.435,144.696z"/>
<path style="fill:#FFFCE3;" d="M446.609,278.261h-91.826l40.812-122.435h10.203L446.609,278.261z M261.101,155.826h-10.203
l-40.811,122.435h91.826L261.101,155.826z M116.405,155.826h-10.203L65.391,278.261h91.826L116.405,155.826z"/>
<path style="fill:#F5D470;" d="M369.212,155.826c-1.231-3.483-1.908-7.227-1.908-11.13c0-18.442,14.949-33.391,33.391-33.391
s33.391,14.949,33.391,33.391c0,3.903-0.677,7.648-1.908,11.13H369.212z M287.484,155.826c1.231-3.483,1.908-7.227,1.908-11.13
c0-18.442-14.949-33.391-33.391-33.391s-33.391,14.949-33.391,33.391c0,3.903,0.677,7.648,1.908,11.13H287.484z M142.788,155.826
c1.231-3.483,1.908-7.227,1.908-11.13c0-18.442-14.949-33.391-33.391-33.391s-33.391,14.949-33.391,33.391
c0,3.903,0.677,7.648,1.908,11.13H142.788z"/>
<path style="fill:#D19B3F;" d="M434.087,144.696c0,3.903-0.677,7.648-1.908,11.13h-20.353v-11.13c0-6.147-4.983-11.13-11.13-11.13
c-6.147,0-11.13,4.983-11.13,11.13v11.13h-20.353c-1.231-3.483-1.908-7.227-1.908-11.13c0-18.442,14.949-33.391,33.391-33.391
S434.087,126.254,434.087,144.696z M256,111.304c-18.442,0-33.391,14.949-33.391,33.391c0,3.903,0.677,7.648,1.908,11.13h20.353
v-11.13c0-6.147,4.983-11.13,11.13-11.13s11.13,4.983,11.13,11.13v11.13h20.353c1.231-3.483,1.908-7.227,1.908-11.13
C289.391,126.254,274.442,111.304,256,111.304z M111.304,111.304c-18.442,0-33.391,14.949-33.391,33.391
c0,3.903,0.677,7.648,1.908,11.13h20.353v-11.13c0-6.147,4.983-11.13,11.13-11.13c6.147,0,11.13,4.983,11.13,11.13v11.13h20.353
c1.231-3.483,1.908-7.227,1.908-11.13C144.696,126.254,129.746,111.304,111.304,111.304z"/>
<path style="fill:#57544C;" d="M500.87,22.261H11.13C4.983,22.261,0,17.278,0,11.13l0,0C0,4.983,4.983,0,11.13,0H500.87
C507.017,0,512,4.983,512,11.13l0,0C512,17.278,507.017,22.261,500.87,22.261z"/>
<path style="fill:#D3C6A8;" d="M434.087,489.739L434.087,489.739c0,12.295-9.966,22.261-22.261,22.261H100.174
c-12.295,0-22.261-9.966-22.261-22.261l0,0c0-12.295,9.966-22.261,22.261-22.261h311.652
C424.121,467.478,434.087,477.444,434.087,489.739z"/>
<path style="fill:#6E5840;" d="M478.609,467.478H33.391V267.13h445.217V467.478z"/>
<path style="fill:#323030;" d="M500.87,478.609H11.13c-6.147,0-11.13-4.983-11.13-11.13l0,0c0-6.147,4.983-11.13,11.13-11.13H500.87
c6.147,0,11.13,4.983,11.13,11.13l0,0C512,473.626,507.017,478.609,500.87,478.609z M512,267.13L512,267.13
c0-6.147-4.983-11.13-11.13-11.13H11.13C4.983,256,0,260.983,0,267.13l0,0c0,6.147,4.983,11.13,11.13,11.13H500.87
C507.017,278.261,512,273.278,512,267.13z"/>
<path style="fill:#C6984F;" d="M125.217,500.87h-22.261l38.957-166.957h22.261L125.217,500.87z M347.826,333.913h-22.261
L286.609,500.87h22.261L347.826,333.913z"/>
<path style="fill:#AA8144;" d="M164.174,333.913h22.261l38.957,166.957H203.13L164.174,333.913z M386.783,500.87h22.261
l-38.957-166.957h-22.261L386.783,500.87z"/>
<path style="fill:#ADA58C;" d="M208.696,356.174h-89.043c-6.147,0-11.13-4.983-11.13-11.13v-22.261c0-6.147,4.983-11.13,11.13-11.13
h89.043c6.147,0,11.13,4.983,11.13,11.13v22.261C219.826,351.191,214.843,356.174,208.696,356.174z M403.478,345.043v-22.261
c0-6.147-4.983-11.13-11.13-11.13h-89.043c-6.147,0-11.13,4.983-11.13,11.13v22.261c0,6.147,4.983,11.13,11.13,11.13h89.043
C398.495,356.174,403.478,351.191,403.478,345.043z"/>
<path style="fill:#D3C6A8;" d="M108.522,322.783L108.522,322.783c0-6.147,4.983-11.13,11.13-11.13h89.043
c6.147,0,11.13,4.983,11.13,11.13l0,0H108.522z M403.478,322.783L403.478,322.783c0-6.147-4.983-11.13-11.13-11.13h-89.043
c-6.147,0-11.13,4.983-11.13,11.13l0,0H403.478z"/>
<path style="fill:#92393C;" d="M66.783,256c0,6.147-4.983,11.13-11.13,11.13h-11.13c-6.147,0-11.13-4.983-11.13-11.13v-33.391
h33.391V256z"/>
<path style="fill:#DB6D53;" d="M50.087,256L50.087,256c-3.073,0-5.565-2.492-5.565-5.565v-27.826h11.13v27.826
C55.652,253.508,53.16,256,50.087,256z"/>
<path style="fill:#C6984F;" d="M178.087,250.435v11.13c0,3.073-2.492,5.565-5.565,5.565h-66.783c-3.073,0-5.565-2.492-5.565-5.565
v-11.13c0-3.073,2.492-5.565,5.565-5.565h66.783C175.595,244.87,178.087,247.362,178.087,250.435z"/>
<path style="fill:#AA8144;" d="M178.087,250.435V256h-77.913v-5.565c0-3.073,2.492-5.565,5.565-5.565h66.783
C175.595,244.87,178.087,247.362,178.087,250.435z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#E4EAF8;" d="M494.345,472.276H17.655C7.904,472.276,0,464.372,0,454.621V57.379
c0-9.751,7.904-17.655,17.655-17.655h476.69c9.751,0,17.655,7.904,17.655,17.655v397.241
C512,464.372,504.096,472.276,494.345,472.276z"/>
<path style="fill:#5B5D6E;" d="M494.345,472.276H256V83.862h256v370.759C512,464.372,504.096,472.276,494.345,472.276z"/>
<path style="fill:#D5DCED;" d="M512,83.862H0V57.379c0-9.751,7.904-17.655,17.655-17.655h476.69c9.751,0,17.655,7.904,17.655,17.655
V83.862z"/>
<path style="fill:#E4EAF8;" d="M26.483,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C35.31,71.082,31.358,75.034,26.483,75.034z"/>
<path style="fill:#FF5050;" d="M423.724,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C432.552,71.082,428.599,75.034,423.724,75.034z"/>
<path style="fill:#FFF082;" d="M459.034,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C467.862,71.082,463.91,75.034,459.034,75.034z"/>
<path style="fill:#A0FFB4;" d="M494.345,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C503.172,71.082,499.22,75.034,494.345,75.034z"/>
<path style="fill:#00C3FF;" d="M144.898,150.826l-59.75,59.75c-3.229,3.229-3.463,8.386-0.54,11.893L256,428.138V145.655h-98.618
C152.7,145.655,148.209,147.516,144.898,150.826z"/>
<polygon style="fill:#80E1FF;" points="256,145.655 176.552,216.276 256,216.276 "/>
<g>
<path style="fill:#00AAF0;" d="M176.552,216.276l-25.97-69.254c-2.103,0.878-4.039,2.159-5.681,3.801L85.15,210.575
c-1.578,1.578-2.415,3.619-2.543,5.7L176.552,216.276L176.552,216.276z"/>
<polygon style="fill:#00AAF0;" points="176.552,216.276 256,428.138 256,216.276 "/>
</g>
<path style="fill:#AFB9D2;" d="M256,489.931c-4.879,0-8.828-3.953-8.828-8.828V30.897c0-4.875,3.948-8.828,8.828-8.828
c4.879,0,8.828,3.953,8.828,8.828v450.207C264.828,485.978,260.879,489.931,256,489.931z"/>
<g>
<path style="fill:#FF5050;" d="M317.793,163.31h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S322.673,163.31,317.793,163.31z"/>
<path style="fill:#FF5050;" d="M317.793,233.931h-17.655c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828C326.621,229.978,322.673,233.931,317.793,233.931z"/>
</g>
<path style="fill:#A0FFB4;" d="M344.276,198.621h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S349.155,198.621,344.276,198.621z"/>
<path style="fill:#FFFFFF;" d="M467.862,163.31H353.103c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h114.759
c4.879,0,8.828,3.953,8.828,8.828S472.742,163.31,467.862,163.31z"/>
<path style="fill:#FFF082;" d="M467.862,233.931H353.103c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h114.759
c4.879,0,8.828,3.953,8.828,8.828C476.69,229.978,472.742,233.931,467.862,233.931z"/>
<path style="fill:#D5DCED;" d="M467.862,198.621h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
c4.879,0,8.828,3.953,8.828,8.828S472.742,198.621,467.862,198.621z"/>
<path style="fill:#A0FFB4;" d="M344.276,269.241h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S349.155,269.241,344.276,269.241z"/>
<path style="fill:#D5DCED;" d="M467.862,269.241h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
c4.879,0,8.828,3.953,8.828,8.828S472.742,269.241,467.862,269.241z"/>
<g>
<path style="fill:#FF5050;" d="M317.793,304.552h-17.655c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828C326.621,300.599,322.673,304.552,317.793,304.552z"/>
<path style="fill:#FF5050;" d="M317.793,375.172h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S322.673,375.172,317.793,375.172z"/>
</g>
<path style="fill:#A0FFB4;" d="M344.276,339.862h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S349.155,339.862,344.276,339.862z"/>
<path style="fill:#FFFFFF;" d="M467.862,304.552H353.103c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h114.759
c4.879,0,8.828,3.953,8.828,8.828C476.69,300.599,472.742,304.552,467.862,304.552z"/>
<path style="fill:#FFF082;" d="M467.862,375.172H353.103c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h114.759
c4.879,0,8.828,3.953,8.828,8.828S472.742,375.172,467.862,375.172z"/>
<path style="fill:#D5DCED;" d="M467.862,339.862h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
c4.879,0,8.828,3.953,8.828,8.828S472.742,339.862,467.862,339.862z"/>
<path style="fill:#A0FFB4;" d="M344.276,410.483h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
c4.879,0,8.828,3.953,8.828,8.828S349.155,410.483,344.276,410.483z"/>
<path style="fill:#D5DCED;" d="M467.862,410.483h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
c4.879,0,8.828,3.953,8.828,8.828S472.742,410.483,467.862,410.483z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<g>
<g>
<path style="fill:#9F6459;" d="M416,32H272c0,8.836-7.164,16-16,16s-16-7.164-16-16H96c-22.055,0-40,17.945-40,40v400
c0,22.055,17.945,40,40,40h320c22.055,0,40-17.945,40-40V72C456,49.945,438.054,32,416,32z M416,464c0,4.418-3.582,8-8,8H104
c-4.418,0-8-3.582-8-8V80c0-4.418,3.582-8,8-8h304c4.418,0,8,3.582,8,8V464z"/>
</g>
<g>
<g>
<path style="fill:#D8DCE1;" d="M152,368c-1.891,0-3.789-0.664-5.312-2.023c-3.305-2.93-3.602-7.992-0.664-11.289l64-72
c2.328-2.625,6.094-3.422,9.289-1.969l80.445,36.57l52.844-128.336c1.688-4.078,6.359-6,10.445-4.352
c4.086,1.68,6.031,6.359,4.352,10.445l-56,136c-0.828,2.008-2.438,3.594-4.453,4.391s-4.273,0.742-6.258-0.156l-82.625-37.555
l-60.086,67.586C156.398,367.094,154.203,368,152,368z"/>
</g>
</g>
<g>
<circle style="fill:#FF4F19;" cx="152" cy="360" r="24"/>
</g>
<g>
<circle style="fill:#FF9600;" cx="216" cy="288" r="24"/>
</g>
<g>
<circle style="fill:#FFD200;" cx="304" cy="328" r="24"/>
</g>
<g>
<circle style="fill:#74D24F;" cx="360" cy="192" r="24"/>
</g>
<g>
<path style="fill:#B9BBC1;" d="M304,16h-20.391C277.969,6.242,267.484,0,256,0s-21.969,6.242-27.609,16H208
c-22.055,0-40,17.945-40,40v32c0,4.418,3.578,8,8,8h160c4.422,0,8-3.582,8-8V56C344,33.945,326.055,16,304,16z M256,40
c-4.418,0-8-3.582-8-8c0-4.418,3.582-8,8-8s8,3.582,8,8C264,36.418,260.418,40,256,40z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 496 496" style="enable-background:new 0 0 496 496;" xml:space="preserve">
<path style="fill:#996632;" d="M264,465.6c-4,4-10.4,6.4-16,6.4c-0.8,0-1.6,0-2.4,0c-12-1.6-21.6-12.8-21.6-25.6v-84
c0-32-26.4-58.4-58.4-58.4h-2.4c-14.4,0-26.4-12-26.4-26.4V256h224v21.6c0,14.4-12,26.4-26.4,26.4H332c-32,0-58.4,26.4-58.4,58.4
V448C272,454.4,268.8,461.6,264,465.6z M264,448c0-8.8-7.2-16-16-16c-8.8,0-16,7.2-16,16s7.2,16,16,16C256.8,464,264,456.8,264,448z
"/>
<path style="fill:#D9CDC1;" d="M364,232c6.4,0,12-5.6,12-12v-24c0-6.4-5.6-12-12-12h20h4c6.4,0,12,5.6,12,12v24c0,6.4-5.6,12-12,12
h-12H364z"/>
<circle style="fill:#42210B;" cx="328" cy="208" r="16"/>
<path style="fill:#CC9966;" d="M296,80c0-8.8,7.2-16,16-16s16,7.2,16,16v40c0,17.6,14.4,32,32,32c5.6,0,11.2-1.6,16-4.8V168h-91.2
c6.4-5.6,11.2-14.4,11.2-24V80z"/>
<g>
<circle style="fill:#42210B;" cx="248" cy="448" r="16"/>
<circle style="fill:#42210B;" cx="248" cy="208" r="16"/>
</g>
<path style="fill:#FFF8EF;" d="M248,192c-8.8,0-16,7.2-16,16s7.2,16,16,16c8.8,0,16-7.2,16-16S256.8,192,248,192z M364,184
c6.4,0,12,5.6,12,12v24c0,6.4-5.6,12-12,12H168c17.6,0,32-14.4,32-32v-16H364z M328,224c8.8,0,16-7.2,16-16s-7.2-16-16-16
s-16,7.2-16,16S319.2,224,328,224z"/>
<path style="fill:#CC9966;" d="M200,80c0-8.8,7.2-16,16-16s16,7.2,16,16v64c0,9.6,4,18.4,11.2,24H200V80z"/>
<path style="fill:#FF6600;" d="M360,136c-8.8,0-16-7.2-16-16V80c0-17.6-14.4-32-32-32s-32,14.4-32,32v64c0,8.8-7.2,16-16,16
s-16-7.2-16-16V80c0-17.6-14.4-32-32-32s-32,14.4-32,32v120c0,8.8-7.2,16-16,16s-16-7.2-16-16V96c0-19.2-13.6-35.2-32-39.2V56
c0-22.4,17.6-40,40-40h176c22.4,0,40,17.6,40,40v64C376,128.8,368.8,136,360,136z"/>
<path style="fill:#FF7D00;" d="M168,208c-4.8,0-8-3.2-8-8V96c0-20-12.8-38.4-31.2-44.8C131.2,35.2,144,24,160,24h176
c17.6,0,32,14.4,32,32v64c0,4.8-3.2,8-8,8s-8-3.2-8-8V80c0-22.4-17.6-40-40-40s-40,17.6-40,40v64c0,4.8-3.2,8-8,8s-8-3.2-8-8V80
c0-22.4-17.6-40-40-40s-40,17.6-40,40v120C176,204.8,172.8,208,168,208z"/>
<path style="fill:#CC9966;" d="M136,96v72h-16V73.6C129.6,76.8,136,85.6,136,96z"/>
<path style="fill:#FFF8EF;" d="M136,200c0,17.6,13.6,32,31.2,32h-34.4c-6.4,0-12-5.6-12-12v-24c0-6.4,5.6-12,12-12h3.2V200z"/>
<path style="fill:#875426;" d="M165.6,304c32,0,58.4,26.4,58.4,58.4v84c0,12.8,9.6,24,21.6,25.6c0.8,0,1.6,0,2.4,0
c6.4,0,12-2.4,16-6.4c4.8-4.8,8-11.2,8-17.6v-85.6c0-32,26.4-58.4,58.4-58.4h2.4c14.4,0,26.4-12,26.4-26.4V256H136v21.6
c0,14.4,12,26.4,26.4,26.4H165.6z M244.8,480c-16-1.6-28.8-16-28.8-33.6v-84c0-28-22.4-50.4-50.4-50.4h-2.4
c-19.2,0-34.4-15.2-34.4-34.4V248h240v29.6c0,19.2-15.2,34.4-34.4,34.4H332c-28,0-50.4,22.4-50.4,50.4V448c0,8.8-4,17.6-10.4,24
C262.4,477.6,253.6,480.8,244.8,480z"/>
<path style="fill:#D9CDC1;" d="M120.8,220c0,6.4,5.6,12,12,12H120h-12c-6.4,0-12-5.6-12-12v-24c0-6.4,5.6-12,12-12h4h20.8
c-6.4,0-12,5.6-12,12V220z"/>
<path style="fill:#42210B;" d="M136,96c0-10.4-6.4-19.2-16-22.4V168h16V96z M165.6,312c28,0,50.4,22.4,50.4,50.4v84
c0,17.6,12.8,32,28.8,33.6c8.8,0.8,17.6-2.4,24.8-8c6.4-6.4,10.4-14.4,10.4-24v-85.6c0-28,22.4-50.4,50.4-50.4h2.4
c19.2,0,34.4-15.2,34.4-34.4V248H128v29.6c0,19.2,15.2,34.4,34.4,34.4H165.6z M243.2,168c-6.4-5.6-11.2-14.4-11.2-24V80
c0-8.8-7.2-16-16-16s-16,7.2-16,16v88H243.2z M200,200c0,17.6-14.4,32-32,32h196h12h12c6.4,0,12-5.6,12-12v-24c0-6.4-5.6-12-12-12
h-4h-20H200V200z M330.4,328c-19.2,0-34.4,15.2-34.4,34.4V448c0,13.6-5.6,26.4-16,35.2c-8.8,8-20.8,12.8-32.8,12.8
c-1.6,0-3.2,0-4.8,0c-24-2.4-43.2-24-43.2-49.6v-84c0-19.2-15.2-34.4-34.4-34.4h-2.4c-28,0-50.4-22.4-50.4-50.4V248h-4
c-15.2,0-28-12.8-28-28v-24c0-14.4,10.4-25.6,24-27.2V56c0-31.2,24.8-56,56-56h176c31.2,0,56,24.8,56,56v112
c13.6,1.6,24,13.6,24,27.2v24c0,15.2-12.8,28-28,28h-4v29.6c0,28-22.4,50.4-50.4,50.4h-3.2V328z M296,144c0,9.6-4,18.4-11.2,24H376
v-20.8c-4.8,3.2-10.4,4.8-16,4.8c-17.6,0-32-14.4-32-32V80c0-8.8-7.2-16-16-16s-16,7.2-16,16V144z M120,232h12.8h34.4
c-17.6,0-31.2-14.4-31.2-32v-16h-3.2H112h-4c-6.4,0-12,5.6-12,12v24c0,6.4,5.6,12,12,12H120z M280,80c0-17.6,14.4-32,32-32
s32,14.4,32,32v40c0,8.8,7.2,16,16,16s16-7.2,16-16V56c0-22.4-17.6-40-40-40H160c-22.4,0-40,17.6-40,40v0.8c18.4,4,32,20,32,39.2
v104c0,8.8,7.2,16,16,16s16-7.2,16-16V80c0-17.6,14.4-32,32-32s32,14.4,32,32v64c0,8.8,7.2,16,16,16s16-7.2,16-16V80z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 407 B

View File

@@ -0,0 +1 @@
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>

After

Width:  |  Height:  |  Size: 435 B

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 865 B

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1 @@
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>

After

Width:  |  Height:  |  Size: 438 B

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path d="M19 0h-14c-2.76 0-5 2.24-5 5v14c0 2.76 2.24 5 5 5h14c2.76 0 5-2.24 5-5v-14c0-2.76-2.24-5-5-5zm-11.75 20h-3v-10h3v10zm-1.5-11.25c-0.97 0-1.75-0.78-1.75-1.75s0.78-1.75 1.75-1.75 1.75 0.78 1.75 1.75-0.78 1.75-1.75 1.75zm13.25 11.25h-3v-5.5c0-3.31-4-3.06-4 0v5.5h-3v-10h3v1.41c1.39-2.57 7-2.77 7 2.46v6.13z"/>
</svg>

After

Width:  |  Height:  |  Size: 405 B

View File

@@ -0,0 +1 @@
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(98,102,241);"/></g></svg>

After

Width:  |  Height:  |  Size: 437 B

View File

@@ -0,0 +1 @@
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(98,102,241);"/></g></svg>

After

Width:  |  Height:  |  Size: 434 B

View File

@@ -0,0 +1 @@
<svg data-v-14efe4a7="" xmlns="http://www.w3.org/2000/svg" width="1.2rem" height="1.2rem" fill="currentColor" viewBox="0 0 16 16" class="bi bi-telegram mt-1"><path data-v-14efe4a7="" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.093.06.183.125.27.187.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.426 1.426 0 0 0-.013-.315.337.337 0 0 0-.114-.217.526.526 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09z"></path></svg>

After

Width:  |  Height:  |  Size: 828 B

View File

@@ -0,0 +1,3 @@
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
</svg>

After

Width:  |  Height:  |  Size: 530 B

View File

@@ -0,0 +1,9 @@
{% block content %}
<div class="lg:mt-24 mb-6 mt-6">
<h2 class="mb-4 text-center text-4xl lg:text-5xl text-gray-100 md:mb-6">{{ section.title }}</h2>
<p class="mx-auto max-w-5xl text-center text-gray-200 text-base md:text-lg">
{{ section.description }}
</p>
</div>
<hr class="container border-gray-400 mx-auto my-4">
{% endblock content %}

View File

@@ -0,0 +1,85 @@
{% block content %}
{% if not paginator %}
{% set paginator = section %}
{% endif %}
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{% if path_array | length < 3%}
{% set category = "All" %}
{% endif %}
<div class="-mt-16">
{% include "partials/filter_bar.html" %}
<div class="text-center main-title px-0 md:w-full mx-8 md:mx-12">
<div class="my-4 flex flex-col items-start">
<h1 class="tracking-tight text-5xl text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal">
{{category | replace(from='-', to=' ' ) | title}}
</h1>
test
<div class="text-xl text-gray-800">
{{ paginator.total_pages ~ " People"}}
</div>
</div>
<hr/>
<div>
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-3 xl:grid-cols-4 lg:max-w-none">
{%- for page in paginator.pages %}
{% include "partials/person_card.html" %}
{%- endfor %}
</div>
<hr class="mt-6" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
</div>
{% endblock content %}

View File

@@ -1,104 +0,0 @@
<nav class="bg-gray-800">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<div class="flex items-center">
<div class="flex-shrink-0">
<a href="{{ config.base_url }}" class="text-white font-bold text-xl">{{ config.title }}</a>
</div>
<div class="hidden md:block">
<div class="ml-10 flex items-baseline space-x-4">
<a href="{{ config.base_url }}" class="{% if current_path == '/' %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} px-3 py-2 rounded-md text-sm font-medium">Home</a>
<a href="{{ get_url(path='why') }}" class="{% if current_path is starting_with('/why') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} px-3 py-2 rounded-md text-sm font-medium">Why</a>
<!-- Dropdown menu -->
<!-- <div class="dropdown">
<button class="{% if current_path is starting_with('/why') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} px-3 py-2 rounded-md text-sm font-medium inline-flex items-center" id="why-menu-button">
Why Us
<svg class="ml-1 h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</button>
<div class="dropdown-content">
<a href="{{ get_url(path='why') }}">Overview</a>
<a href="#">Our Approach</a>
<a href="#">Testimonials</a>
<a href="#">Case Studies</a>
</div>
</div> -->
<a href="{{ get_url(path='blog') }}" class="{% if current_path is starting_with('/blog') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} px-3 py-2 rounded-md text-sm font-medium">Blog</a>
<a href="{{ get_url(path='team') }}" class="{% if current_path is starting_with('/team') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} px-3 py-2 rounded-md text-sm font-medium">Team</a>
</div>
</div>
</div>
<div class="hidden md:block">
<div class="ml-4 flex items-center md:ml-6">
<a href="https://github.com/getzola/zola" target="_blank" rel="noopener" class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">
Zola Docs
</a>
<a href="https://tailwindcss.com/docs" target="_blank" rel="noopener" class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">
Tailwind Docs
</a>
<button id="theme-toggle" type="button" class="text-gray-300 hover:bg-gray-700 hover:text-white p-2 rounded-md ml-2 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<!-- Sun icon (light mode) -->
<svg id="theme-toggle-light-icon" class="hidden w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" fill-rule="evenodd" clip-rule="evenodd"></path>
</svg>
<!-- Moon icon (dark mode) -->
<svg id="theme-toggle-dark-icon" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path>
</svg>
</button>
</div>
</div>
<div class="-mr-2 flex md:hidden">
<!-- Mobile menu button -->
<button type="button" class="bg-gray-800 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-offset-2 focus:ring-offset-gray-800 focus:ring-white" aria-controls="mobile-menu" aria-expanded="false">
<span class="sr-only">Open main menu</span>
<!-- Icon when menu is closed -->
<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 -->
<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>
</div>
<!-- Mobile menu, show/hide based on menu state. -->
<div class="md:hidden hidden" id="mobile-menu">
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
<a href="{{ config.base_url }}" class="{% if current_path == '/' %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} block px-3 py-2 rounded-md text-base font-medium">Home</a>
<a href="{{ get_url(path='why') }}" class="{% if current_path is starting_with('/why') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} block px-3 py-2 rounded-md text-base font-medium">Why</a>
<!-- Mobile dropdown menu -->
<!-- <div class="relative" x-data="{ open: false }">
<button @click="open = !open" class="{% if current_path is starting_with('/why') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} w-full text-left flex justify-between items-center px-3 py-2 rounded-md text-base font-medium">
Why Us
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</button>
<div id="mobile-why-menu" class="hidden pl-4 py-2 space-y-1">
<a href="{{ get_url(path='why') }}" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Overview</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">Our Approach</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">Testimonials</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">Case Studies</a>
</div>
</div> -->
<a href="{{ get_url(path='blog') }}" class="{% if current_path is starting_with('/blog') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} block px-3 py-2 rounded-md text-base font-medium">Blog</a>
<a href="{{ get_url(path='team') }}" class="{% if current_path is starting_with('/team') %}bg-gray-900 text-white{% else %}text-gray-300 hover:bg-gray-700 hover:text-white{% endif %} block px-3 py-2 rounded-md text-base font-medium">Team</a>
<a href="https://github.com/getzola/zola" target="_blank" rel="noopener" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium">Zola Docs</a>
<button id="mobile-theme-toggle" type="button" class="text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium w-full text-left flex items-center">
<span>Toggle Dark Mode</span>
<svg id="mobile-theme-toggle-icon" class="w-5 h-5 ml-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path>
</svg>
</button>
</div>
</div>
</nav>

View File

@@ -0,0 +1,57 @@
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
<div class="flex-1">
<a href={{ post.permalink }} class="block">
<div class="flex-shrink-0">
{% if post.extra.imgPath %}
{% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %}
<img class="h-48 w-full mx-auto object-cover" src={{img_url}} alt="" />
{% endif %}
</div>
<div class="flex-1 bg-white p-4 flex flex-col justify-between">
<h3 class="mt-2 text-xl leading-7 font-medium text-white text-left not-italic">
{{ post.title }}
</h3>
{% if post.description %}
<p class="mt-3 text-sm font-normal leading-5 text-gray-500 text-left">
{{ post.description }}
</p>
{% endif %}
</a>
<div class="flex items-center">
<div class="flex justify-between items-center">
<ul class="list-none flex author-list my-10 mr-2 px-0">
{% if post.taxonomies.people %}
{% for author in post.taxonomies.people %}
{% set author_path = 'people/' ~ author ~ '/index.md' %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(author) %}
{% set author = get_page(path=author_path) %}
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
<li class="author-list-item">
<a href="{{ author.permalink }}" tooltip="{{ author.title }}">
<img src="{{ author_img }}" alt="{{ author.title }}" class="
w-8
h-8
rounded-full
bg-gray-200
border-2 border-white
" />
</a>
</li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
</div>
<p class="text-gray-50 text-xs">
<time datetime="{{post.date}}">
{{ post.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
</time>
</p>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,70 @@
{% block content %}
<div class="text-center main-title px-0 md:w-2/3 lg:w-2/3 mx-8 md:mx-12">
<h1
class="tracking-tight text-left text-2xl lg:text-4xl fw-500 leading-snug font-normal mb-10"
>
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
The Latest from Geomind
{% if taxonomy == "news-category" %} -
{{category | replace(from='-', to=' ' ) | title}}
{% endif %}
</h1>
<div>
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-3 lg:max-w-none">
{%- for post in paginator.pages %}
{% if "Engineering" == "Engineering"%}
{% include "partials/newsCard.html" %}
{%endif%} {%- endfor %}
</div>
<hr class="mt-6" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,38 @@
<div class="mx-8 md:mx-4 flex flex-col">
<div class="flex flex-col mb-12 mr-8 lg:mr-24">
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER NEWS BY</h4>
<a id="all" class="mb-3 text-black font-normal" href="/newsroom">All</a>
{% set taxonomy = get_taxonomy(kind="news-category") %}
{% set categories = taxonomy.items %}
{% for category in categories %}
{% set path = category.name | slugify %}
{% set fullpath = "/news-category/" ~ path %}
<a id="{{path}}" class="mb-3 text-black font-normal" href={{fullpath}}> {{category.name}} </a>
{% endfor %}
</div>
{% set section = get_section(path="newsroom/_index.md")%}
<div class="lg:pt-6 flex flex-col mb-12 w-64 mr-8 lg:mr-24">
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FEATURED NEWS</h4>
{% for page in section.pages %}
{% if page.extra.isFeatured %}
<a class="mb-3 text-blue-700" href={{page.permalink}}>{{ page.title }}</a>
{% endif %}
{% endfor %}
</div>
</div>
<script>
function setActiveCategory() {
let activeCategory = window.location.pathname.split("/")[2]
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
else { activeLink = document.getElementById(activeCategory)}
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
}
setActiveCategory()
</script>

View File

@@ -0,0 +1,9 @@
<div class="mb-8 flex flex-col">
<a href="{{page.permalink}}" class="text-lg font-medium cursor-pointer text-blue-400 py-4">
{{page.title | safe}}
</a>
{% include "partials/categories.html" %}
<p>
{{page.description | safe}}
</p>
</div>

View File

@@ -0,0 +1,19 @@
<div id="list"></div>
{% if section.extra.group_pages_by %}
<div class="flex flex-col md:grid md:grid-cols-2 md:gap-12 lg:flex lg:flex-row justify-around text-center">
{% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %}
{% set roles = taxonomy.items %}
{% for role in roles %}
<div class="flex flex-col items-start text-left my-8 mx-4 md:mx-8 lg:mx-4 flex-1 w-72">
{% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %}
<img src="{{icon_path}}" alt="role category icon" class="h-10 my-4">
{% set path = role.name | slugify %}
{% set fullpath = "/roles/" ~ path %}
<a href={{fullpath}} class="text-2xl text-black font-normal lg:mb-8 cursor-pointer"> {{role.name}} </a>
{% for page in role.pages %}
{% include "partials/pageBox.html"%}
{% endfor %}
</div>
{% endfor %}
</div>
{% endif %}

View File

@@ -0,0 +1,27 @@
<div class="flex flex-col px-0 sm:px-4 pb-2">
<a href="{{page.permalink}}" class="border-0 text-gray-50 hover:!text-gray-100 font-normal text-left">
{% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
<img class="mt-4 aspect-[4/4] rounded-xl" src="{{url}}" alt="{{page.title ~ ' Picture'}}" />
<div>
<br>
<h2 class="text-lg mt-2">{{page.title}}</h2>
<div class="text-gray-50 text-left line-clamp-3 text-ellipsis">
{% if page.description %}
{{page.description}}
{% else %}
{{page.content | safe}}
{% endif %}
</div>
<div class="my-2 flex flex-row items-start flex-wrap">
{% if page.taxonomies.memberships %}
{% for tag in page.taxonomies.memberships %}
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-2 text-xs font-light bg-transparent hover:text-indigo-400 py-1 px-2 mr-2 my-1 border hover:border-indigo-400 border-gray-600 text-gray-50 rounded-full ">
{{tag}}
</a>
{% endfor %}
{% endif %}
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,27 @@
<div class="flex flex-col px-0 sm:px-4 pb-2">
{# <a href="{{page.permalink}}" class="border-0 text-gray-700 hover:!text-gray-700 font-normal text-left"> #}
{% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
<img class="aspect-[14/13] w-full rounded-2xl object-cover" src="{{url}}" alt="{{page.title ~ ' Picture'}}" />
<div class="text-center mt-4">
<h2 class="text-xl">{{page.title}}</h2>
<div class="text-base text-gray-100 line-clamp-3 leading-5 text-ellipsis">
{% if page.description %}
{{page.description}}
{% else %}
{{page.content | safe}}
{% endif %}
</div>
{# <div class="my-2 flex flex-row items-start flex-wrap">
{% if page.taxonomies.memberships %}
{% for tag in page.taxonomies.memberships %}
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-1 text-xs font-light bg-transparent hover:text-blue-700 py-1 px-2 mr-2 my-1 border hover:border-blue-500 border-gray-600 text-gray-700 rounded-full ">
{{tag}}
</a>
{% endfor %}
{% endif %}
</div> #}
</div>
{# </a> #}
</div>

View File

@@ -0,0 +1,57 @@
{% if post.date %}
{% if post.taxonomies.people %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(post.taxonomies.people[0]) %}
{% set author_path = 'people/' ~ post.taxonomies.people[0] ~ '/index.md' %}
{% set author = get_page(path=author_path) %}
{% endif %}
{% endif %}
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden bg-white">
{% if post.extra.imgPath %}
{% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %}
<div class="flex-shrink-0">
<img class="h-30 w-full object-cover" src="{{ img_url }}" alt="{{ post.title ~ ' Picture' }}" />
</div>
{% endif %}
<div class="flex-1 p-6 flex flex-col">
<h3 class="text-base text-left font-medium text-gray-900 mb-2">
{{ post.title }}
</h3>
{% if post.description %}
<p class="text-sm text-left text-gray-500 mb-3">
{{ post.description }}
</p>
{% endif %}
<div class="article hidden">
{{ post.content | safe }}
</div>
<div class="mt-auto py-3">
<div class="flex items-center">
<div class="flex-shrink-0">
{% if author %}
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
<img alt="{{ author.title }}" src="{{ author_img }}" class="w-8 h-8 rounded-full border-2 border-white bg-gray-200" />
{% endif %}
</div>
<div class="ml-3 text-gray-50 text-xs flex flex-col">
{% if author %}
<p class="uppercase">{{ author.title }}</p>
{% endif %}
<p>
<time class="text-xs" datetime="{{ post.date }}">
{{ post.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
</time>
</p>
</div>
</div>
</div>
</div>
</div>
{% endif %}

View File

@@ -0,0 +1,25 @@
<div class="flex space-x-6 items-center justify-center">
{% for key, link in section.extra.socialLinks %}
<a href="{{link}}" target="_blank" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">{{key}}</span>
{% if key == "Facebook" %}
{% include "partials/icons/svgFacebookIcon.html" %}
{% elif key == "Github" %}
{% include "partials/icons/svgGithubIcon.html" %}
{% elif key == "Instagram" %}
{% include "partials/icons/svgInstagramIcon.html" %}
{% elif key == "Twitter" %}
{% include "partials/icons/svgTwitterIcon.html" %}
{% elif key == "Dribbble" %}
{% include "partials/icons/svgDribbbleIcon.html" %}
{% elif key == "Telegram" %}
{% include "partials/icons/svgTelegram.html" %}
{% elif key == "Linkedin" %}
{% include "partials/icons/svgLinkedinIcon.html" %}
{% endif %}
</a>
{% endfor %}
</div>

View File

@@ -0,0 +1,5 @@
<div class="flex mb-4">
{% for tag in page.taxonomies.categories %}
<div class="bg-gray-200 rounded font-semibold text-xs w-auto px-2 py-1 mr-2">{{tag}}</div>
{% endfor %}
</div>

View File

@@ -0,0 +1,70 @@
{% extends "_default/base.html" %}
{% block content %}
{%- set section = get_section(path="people/_index.md") %}
{% include "partials/intro.html" %}
<div class="mx-auto max-w-screen-lg px-6 lg:px-8">
{# {% include "partials/filter_bar.html" %} #}
<div class="text-center main-title px-0 md:w-full">
{# <h1 class="tracking-tight text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10">
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{{category | replace(from='-', to=' ' ) | title}}
</h1> #}
<div>
<div class="text-center mx-auto mt-6 grid max-w-2xl grid-cols-1 gap-x-4 gap-y-8 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-3 xl:grid-cols-4">
{% for person in section.pages %}
{% set page_path = person.path ~ 'index.md' | replace(from='-', to='_') | trim_start_matches(pat="/") %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(person.title) %}
{% set page = get_page(path=page_path) %}
{% if page.extra.private >= 0 %}
{% if page.title != "ThreeFold_Community"%}
{% include "partials/person_card.html" %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
</div>
{# <hr class="mt-6">
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a class="border-transparent" aria-label="First page" href="{{ paginator.first }}">
{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}
</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a class="border-transparent" aria-label="Previous page" href="{{ paginator.previous }}">
{% include "partials/icons/svgPrevPageIcon.html" %}
</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a class="border-transparent" aria-label="Next page" href="{{ paginator.next }}">
{% include "partials/icons/svgNextPageIcon.html" %}
</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a class="border-transparent" aria-label="Last page" href="{{ paginator.last }}">
{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}
</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p> #}
</div>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,88 @@
{% extends "index.html" %}
{% block content %}
{% if not paginator %}
{% set paginator = section %}
{% endif %}
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{% if path_array | length < 3%}
{% set category = "All" %}
{% endif %}
<div class="mt-16">
{% include "partials/filter_bar.html" %}
<div class="text-center main-title px-0 md:w-full mx-8 md:mx-12">
<div class="my-4 flex flex-col items-start">
<h1 class="tracking-tight text-5xl text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal">
{{category | replace(from='-', to=' ' ) | title}}
</h1>
<div class="text-xl text-gray-800">
{{ paginator.total_pages ~ " People"}}
</div>
</div>
<hr/>
<div>
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-3 xl:grid-cols-4 lg:max-w-none">
{%- for page in paginator.pages %}
{% include "partials/person_card.html" %}
{%- endfor %}
</div>
<hr class="mt-6" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,14 @@
{% extends "index.html" %}
{% block content %}
<main class="pt-16">
<div class="flex flex-col md:flex-row">
{% include "partials/newsPosts.html" %}
{% include "partials/newsSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,55 @@
{% extends "_default/base.html" %}
{% block content %}
{% set page_path = term.path ~ 'index.md' | replace(from='-', to='_') | trim_start_matches(pat="/") %}
{% set people = get_section(path="people/_index.md") %}
{% set pages_str = people.pages | json_encode() | as_str %}
{% if pages_str is containing(term.name) %}
{% set page = get_page(path=page_path) %}
<div class="container sm:pxi-0 lg:w-5/6 mx-auto min-h-screen overflow-x-hidden pt-24">
<div class="flex flex-row flex-wrap items-start mx-4 sm:mx-0">
<div class="w-full md:w-1/6 mx-auto sm:mx-0">
<img src="{{page.extra.imgPath}}" alt="" class="rounded bg-gray-200 w-48 border-2 border-gray-400 mx-auto md:mx-0 g-image g-image--lazy g-image--loaded my-4">
</div>
<div class="w-full md:w-5/6 text-center md:text-left md:pl-8">
<div class="flex flex-row items-center">
<h1 class="pb-0 mb-0 mt-0 text-4xl font-normal tracking-wide my-1">
{{page.title}}
</h1>
</div>
<div class="text-gray-50 my-4">
{{page.content | safe }}
</div>
<div class="flex items-center">
<div class="flex justify-between items-center">
<ul class="list-none flex author-list m-0 py-2">
{% for org in page.extra.organizations %}
<li>
<a href="">
<img src="" alt="">
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
{% if page.taxonomies.memberships %}
{% for tag in page.taxonomies.memberships %}
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-2 font-light text-xs bg-transparent hover:text-blue-700 py-2 px-4 mr-2 border hover:border-blue-500 border-gray-600 text-gray-50 rounded-full ">
{{tag}}
</a>
{% endfor %}
{% endif %}
</div>
</div>
<div class="my-8">
<hr/>
<br/>
<hr/>
</div>
</div>
{% endif %}
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,14 @@
{% extends "index.html" %}
{% block content %}
<main class="pt-16">
<div class="flex flex-col md:flex-row">
{% include "partials/tagsCards.html" %}
{% include "partials/tagsSidebar.html" %}
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,73 @@
{% extends "_default/base.html" %}
{% block content %}
<div class="container mx-auto">
{% include "partials/filter_bar.html" %}
<div class="text-center main-title px-0 md:w-full">
<h1
class="tracking-tight text-5xl text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
>
{% set path_array = current_path | split(pat="/") %}
{% set taxonomy = path_array[1] %}
{% set category = path_array[2] %}
{{category | replace(from='-', to=' ' ) | title}}
</h1>
<div>
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-4 lg:max-w-none">
{%- for page in paginator.pages %}
{% if "Engineering" == "Engineering"%}
{% include "partials/person_card.html" %}
{%endif%} {%- endfor %}
</div>
<hr class="mt-6" />
<p class="text-center text-sm mt-2 mb-16">
{% if paginator.previous %}
<a
class="border-transparent"
aria-label="First page"
href="{{ paginator.first }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
"partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Previous page"
href="{{ paginator.previous }}"
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% else %} {%
include "partials/icons/svgFirstPageIcon.html" %}{% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgFirstPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% endif %} {% if
paginator.next %}
<a
class="border-transparent"
aria-label="Next page"
href="{{ paginator.next }}"
>{% include "partials/icons/svgNextPageIcon.html" %}</a
>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a
class="border-transparent"
aria-label="Last page"
href="{{ paginator.last }}"
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
"partials/icons/svgNextPageIcon.html" %}</a
>
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% include
"partials/icons/svgLastPageIcon.html" %}{% include
"partials/icons/svgLastPageIcon.html" %} {% endif %}
</p>
</div>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,47 @@
{% extends "_default/base.html" %}
{% block content %}
<div class="container sm:pxi-0 lg:w-5/6 mx-auto min-h-screen overflow-x-hidden pt-24 mt-16">
<div class="flex flex-row flex-wrap items-start mx-4 sm:mx-0">
<div class="w-full md:w-1/6 mx-auto sm:mx-0">
<img src="{{page.extra.imgPath}}" alt="" class="rounded bg-gray-200 w-48 border-2 border-gray-400 mx-auto md:mx-0 g-image g-image--lazy g-image--loaded my-4">
</div>
<div class="w-full md:w-5/6 text-center md:text-left md:pl-8">
<div class="flex flex-row items-center">
<h1 class="pb-0 mb-0 mt-0 text-4xl font-normal tracking-wide my-1">
{{page.title}}
</h1>
<div class="ml-4">
{% include "partials/socialLinks.html" %}
</div>
</div>
<div class="text-gray-50 my-4">
{{page.content | safe }}
</div>
<div class="flex items-center">
<div class="flex justify-between items-center">
<ul class="list-none flex author-list m-0 py-2">
{% for org in page.extra.organizations %}
<li>
<a href="">
<img src="" alt="">
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
{% for tag in page.taxonomies.memberships %}
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-2 font-light text-xs bg-transparent hover:text-blue-700 py-2 px-4 mr-2 border hover:border-blue-500 border-gray-600 text-gray-50 rounded-full ">
{{tag}}
</a>
{% endfor %}
</div>
</div>
<div class="my-8">
<br/>
<hr/>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,31 @@
{% extends "_default/base.html" %}
{% block content %}
<!-- Default page template for blog posts and basic informative markdown files -->
<main>
{% set banner_path = config.extra.taxonomies["roles"][page.taxonomies.roles[0]].banner_path | as_str %}
{% set styles = "background: url('/" ~ banner_path ~ "'); background-size: cover; background-position: center" %}
<div class="w-screen -mx-8 sm:-mx-12 md:-mx-16 lg:-mx-20 -mt-6 max-w-none py-28 max-h-80" style="{{styles}}"></div>
<div class="flex flex-col lg:flex-row md:mx-4 lg:mx-6">
<article class="article mx-auto lg:w-1/2 lg:mr-8 lg:mt-10">
<div class="pt-8 lg:pt-8 2xl:pt-24">
<h3 class="text-2xl font-normal my-0 text-gray-600">Our World</h3>
<h1 class="text-left text-5xl font-normal my-2 font-medium">
{{ page.title }}
</h1>
<p class="my-4">{{page.description}}</p>
{% include "partials/categories.html" %}
</div>
{{ page.content | safe }}
</article>
<div class="mx-auto lg:mt-12">
{% include "partials/applicationForm.html"%}
</div>
</div>
</div>
</main>
{% endblock content %}

View File

@@ -0,0 +1,36 @@
{% extends "_default/base.html" %}
{% block content %}
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-6 px-4 text-center">
<div class="py-12">
<section class="
post-content
container
mx-auto
relative
font-serif
text-gray-900 text-center
">
<img class="mx-auto w-3/4" src={{page.extra.imgPath}} />
<div class="post-content-text text-xl text-center mx-auto my-5">{{ page.content | safe }}</div>
</section>
<button class="
inline-block
bg-white
text-lg
learn-button
hover:bg-gray-400
px-12
py-1
mr-5
my-8
border-2
shadow
border-black
capitalize
"><a href="{{page.extra.link}}">{{ page.extra.button }}</a></button>
</div>
</div>
{% endblock content %}

View File

@@ -0,0 +1,7 @@
{% extends "index.html" %}
{% block content %}
{{ terms }}
{% endblock content %}

View File

@@ -0,0 +1,35 @@
{% extends "index.html" %}
{% block content %}
<!-- Default page template for blog posts and basic informative markdown files -->
<main>
{% set banner_path = config.extra.taxonomies["roles"][term.name].banner_path | as_str %}
{% set styles = "background: url('/" ~ banner_path ~ "'); background-size: cover; background-position: center" %}
<div class="w-screen -mx-8 sm:-mx-12 md:-mx-16 lg:-mx-20 -mt-6 max-w-none py-28 max-h-80" style="{{styles}}"></div>
<div class="flex flex-col lg:flex-row md:mx-4 lg:mx-6">
<article class="article mx-auto lg:w-1/2 lg:mr-8 lg:mt-10">
<div class="pt-8 lg:pt-8 2xl:pt-24">
<h3 class="text-2xl font-normal my-0 text-gray-600">Our World</h3>
<h1 class="text-left font-normal my-2 font-medium">
{{ config.extra.taxonomies["roles"][term.name].title }}
</h1>
<p class="my-4">{{config.extra.taxonomies["roles"][term.name].description}}</p>
</div>
<hr />
<h3 class="text-black text-lg">{{term.name}} @ Geomind</h3>
{% for page in term.pages %}
{% include "partials/pageBox.html"%}
{% endfor %}
</article>
<div class="mx-auto lg:mt-12">
{% include "partials/applicationForm.html"%}
</div>
</div>
</div>
</main>
{% endblock content %}

View File

@@ -1,65 +1,11 @@
{% extends "base.html" %}
{% block title %}{{ section.title }} | {{ config.title }}{% endblock %}
{% extends "_default/base.html" %}
{% block content %}
<div class="bg-white shadow overflow-hidden sm:rounded-lg">
<div class="px-4 py-5 sm:px-6">
<h1 class="text-3xl font-bold text-gray-900">
{{ section.title }}
</h1>
{% if section.description %}
<p class="mt-1 max-w-2xl text-sm text-gray-500">
{{ section.description }}
</p>
{% endif %}
</div>
<div class="border-t border-gray-200">
<div class="px-4 py-5 sm:p-6">
<div class="prose prose-indigo lg:prose-xl text-gray-900">
{% if section.content %}
{{ section.content | safe }}
{% endif %}
</div>
</div>
</div>
</div>
<div class="container mx-auto mt-8 grid gap-6 grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
{% for page in section.pages %}
<a href="{{ page.permalink }}" class="bg-white overflow-hidden shadow rounded-lg hover:shadow-lg transition-shadow duration-300">
{% if page.extra.image %}
<div class="h-64 w-full overflow-hidden">
<img src="{{ page.extra.image }}" alt="{{ page.title }}" class="w-full h-full object-cover">
</div>
{% endif %}
<div class="px-4 py-5 sm:p-6">
<h3 class="text-lg font-medium text-gray-900 truncate">{{ page.title }}</h3>
{% if page.description %}
<p class="mt-1 text-sm text-gray-500">{{ page.description }}</p>
{% endif %}
<div class="mt-4 flex items-center text-sm text-gray-500">
{% if page.date %}
<span>{{ page.date | date(format="%B %e, %Y") }}</span>
{% endif %}
</div>
</div>
</a>
{% endfor %}
{% for subsection in section.subsections %}
{% set subsection_data = get_section(path=subsection) %}
<a href="{{ subsection_data.permalink }}" class="bg-white overflow-hidden shadow rounded-lg hover:shadow-lg transition-shadow duration-300">
<div class="px-4 py-5 sm:p-6">
<h3 class="text-lg font-medium text-gray-900 truncate">{{ subsection_data.title }}</h3>
{% if subsection_data.description %}
<p class="mt-1 text-sm text-gray-500">{{ subsection_data.description }}</p>
{% endif %}
<div class="mt-4 flex items-center text-sm text-gray-500">
<span>{{ subsection_data.pages | length }} pages</span>
</div>
</div>
</a>
{% endfor %}
</div>
{% endblock %}
<main class="lg:-mt-6">
{{ section.content | safe}}
<!-- <hr> -->
{% include "partials/page_list.html" %}
</main>
{% endblock content %}

View File

@@ -0,0 +1,65 @@
<!-- admonition shortcode for adding admonition in md-->
{% set classes = "" %}
{% set first_line = body | split(pat="\n") | first %}
{% set parsed_first_line = first_line | split(pat=" ") %}
{% set admonition = parsed_first_line | first %}
{% set style = "" %}
{% set content = body | split(pat="\n") | slice(start=2) | join(sep="\n") %}
<!-- sets admonition type depending on qualifiers and modifiers
hides content if doesn't adhere to admonition formatting -->
{% if admonition == "!!!" %}
{% set classes = "admonition" %}
{% elif admonition == "???" %}
{% set style = "collapsible closed" %}
{% set classes = "admonition" %}
{% elif admonition == "???+" %}
{% set style = "collapsible open" %}
{% set classes = "admonition" %}
{% else %}
{% set classes = "hidden" %}
{% endif %}
{% if "inline end" in first_line %}
{% set classes = classes ~ " inline end" %}
{% set parsed_first_line = parsed_first_line | slice(end=-2)%}
{% elif "inline" in first_line %}
{% set classes = classes ~ " inline" %}
{% set parsed_first_line = parsed_first_line | slice(end=-1)%}
{% endif %}
{% if classes != "hidden"%}
{% if parsed_first_line[1] %}
{% set classes = classes ~ " " ~ parsed_first_line[1] %}
{% endif %}
{% if parsed_first_line[2] %}
{% if not parsed_first_line[2] == '""' %}
{% set title = parsed_first_line | slice(start=2) | join(sep=" ") %}
{% endif %}
{% else %}
{% if parsed_first_line[1] %}
{% set title = parsed_first_line[1] | title %}
{% endif %}
{% endif %}
{% endif %}
{% if "collapsible" in style %}
<details class="{{classes}}"
{% if "open" in style %} {{ "open='open'" }} {% endif %}>
{% if title %}
<summary class="admonition-title">{{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }}</summary>
<p>{{ content }}</p>
{% endif %}
</details>
{% else %}
<div class="{{classes}}">
{% if title %}
<div class="admonition-title">{{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }}</div>
{% endif %}
<p>{{ content }}</p>
</div>
{% endif %}

View File

@@ -0,0 +1,5 @@
{% set path = body | split(pat="href=") | slice(start=1) | first | split(pat=">") | first | trim_start_matches(pat='"') | trim_end_matches(pat='"') %}
<button a href="{{path}}" class="border-transparent flex flex-col border-2 w-full items-start rounded h-16 md:h-24 transition hover:first:text-gray-500 hover:border-stone-200 hover:bg-stone-100 p-2 text-left">
{{ body | trim_start_matches(pat="<p>") | safe}}
</button>

View File

@@ -0,0 +1,31 @@
<div class="relative isolate mt-20">>
<div class="mx-auto grid max-w-4xl grid-cols-1 lg:grid-cols-1">
<div class="relative px-6 pb-20 lg:pt-4 pt-32 lg:static lg:px-8 lg:py-48">
<div class="mx-auto max-w-xl lg:mx-0 lg:max-w-2xl">
<h2 class="text-3xl font-bold tracking-tight text-white">Get in touch</h2>
<p class="mt-6 text-lg leading-8 text-gray-300">Whether you have a question about our services, need assistance, or just want to share feedback, our team is ready to help.</p>
<dl class="mt-10 space-y-4 text-base leading-7 text-gray-300">
<div class="flex gap-x-4">
<dt class="flex-none">
<span class="sr-only">Address</span>
<svg class="h-7 w-6 text-gray-400" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z" />
</svg>
</dt>
<dd>Antwerpse Steenweg 19 9000 - <br>Lochristi, Belgium.</dd>
</div>
<div class="flex gap-x-4">
<dt class="flex-none">
<span class="sr-only">Email</span>
<svg class="h-7 w-6 text-gray-400" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75" />
</svg>
</dt>
<dd><u><a class="hover:text-indigo-400" href="mailto:info@threefold.io">info@threefold.tech</a></u></dd>
</div>
</dl>
</div>
</div>
</div>
</div>

View File

@@ -1,31 +0,0 @@
{% set title = title | default(value="Call to Action") %}
{% set description = description | default(value="") %}
{% set button_text = button_text | default(value="Learn More") %}
{% set button_link = button_link | default(value="#") %}
{% set bg_color = bg_color | default(value="bg-indigo-100") %}
{% set text_color = text_color | default(value="text-indigo-800") %}
{% set button_color = button_color | default(value="bg-indigo-600") %}
{% set button_text_color = button_text_color | default(value="text-white") %}
<div class="relative {{ bg_color }} {{ text_color }} rounded-lg shadow-md overflow-hidden my-8">
<div class="px-6 py-8 md:p-10 md:flex md:items-center md:justify-between">
<div class="md:flex-1">
<h3 class="text-2xl font-bold">{{ title }}</h3>
{% if description %}
<p class="mt-2 text-base">{{ description }}</p>
{% endif %}
{% if caller %}
<div class="mt-4">
{{ caller() }}
</div>
{% endif %}
</div>
{% if button_text and button_link %}
<div class="mt-6 md:mt-0 md:ml-10 md:flex-shrink-0">
<a href="{{ button_link }}" class="block w-full md:w-auto rounded-md px-5 py-3 {{ button_color }} {{ button_text_color }} text-base font-medium text-center shadow hover:opacity-90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ button_text }}
</a>
</div>
{% endif %}
</div>
</div>

View File

@@ -1,22 +0,0 @@
{% set title = title | default(value="Feature") %}
{% set description = description | default(value="") %}
{% set icon = icon | default(value="") %}
{% set bg_color = bg_color | default(value="bg-white") %}
{% set hover_color = hover_color | default(value="hover:bg-gray-50") %}
<div class="relative {{ bg_color }} {{ hover_color }} shadow rounded-lg p-6 transition-all duration-300">
{% if icon %}
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white mb-4">
<span class="text-xl">{{ icon | safe }}</span>
</div>
{% endif %}
<h3 class="text-lg font-medium text-gray-900">{{ title }}</h3>
{% if description %}
<p class="mt-2 text-base text-gray-500">{{ description }}</p>
{% endif %}
{% if caller %}
<div class="mt-4">
{{ caller() }}
</div>
{% endif %}
</div>

View File

@@ -0,0 +1,26 @@
{% set title = title | default(value="") %}
{% set svg = svg | default(value="") %}
{% set svg2 = svg2 | default(value="") %}
{% set description = description | default(value="") %}
<!-- section 2 page templates -->
<div class="flex flex-col">
<div class="flex items-center gap-x-3 text-lg font-semibold leading-7 mb-2 tracking-tight">
{% if svg %}
<svg class="h-full w-6 object-cover flex-none text-indigo-400" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
{% if svg %}
<path fill-rule="evenodd" d="{{ svg }}" clip-rule="evenodd" />
{% endif %}
{% if svg2 %}
<path d="{{ svg2 }}" />
{% endif %}
</svg>
{% endif %}
{{ title }}
</div>
<p class="text-base">{{ description }}</p>
</div>

View File

@@ -4,8 +4,8 @@
<div class="flex gap-x-4 rounded-xl bg-white/5 p-6 ring-1 ring-inset ring-white/10">
<div class="text-base leading-7">
<h4 class="font-semibold ">{{ title }}</h4>
<p class="mt-2 text-lg">{{ description }}
<h4 class="font-semibold text-white">{{ title }}</h4>
<p class="mt-2 text-lg text-gray-300">{{ description }}
</p>
</div>
</div>

View File

@@ -0,0 +1,16 @@
{% set title = title | default(value="") %}
{% set svg = svg | default(value="") %}
{% set description = description | default(value="") %}
<article class="flex flex-col items-start justify-between">
<div class="max-w-xl">
<div class="group relative">
<div class="my-2 flex h-10 w-10 items-center justify-center rounded-lg">
<img src="{{ svg }}" alt="">
</div>
<h4 class="mb-0 font-semibold">{{ title }}</h4>
<p class="mt-1 text-base leading-6">{{ description }}</p>
</div>
</article>

View File

@@ -1,35 +0,0 @@
{% set title = title | default(value="Welcome") %}
{% set subtitle = subtitle | default(value="") %}
{% set button_text = button_text | default(value="") %}
{% set button_link = button_link | default(value="") %}
{% set bg_color = bg_color | default(value="bg-indigo-600") %}
{% set text_color = text_color | default(value="text-white") %}
<div class="relative {{ bg_color }} {{ text_color }} overflow-hidden">
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8 lg:py-20">
<div class="lg:grid lg:grid-cols-12 lg:gap-8">
<div class="sm:text-center md:max-w-2xl md:mx-auto lg:col-span-6 lg:text-left">
<h1 class="text-4xl font-extrabold tracking-tight sm:text-5xl xl:text-6xl">
{{ title }}
</h1>
{% if subtitle %}
<p class="mt-3 text-base sm:mt-5 sm:text-xl lg:text-lg xl:text-xl">
{{ subtitle }}
</p>
{% endif %}
{% if button_text and button_link %}
<div class="mt-8 sm:max-w-lg sm:mx-auto sm:text-center lg:text-left lg:mx-0">
<a href="{{ button_link }}" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md shadow-sm text-indigo-600 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ button_text }}
</a>
</div>
{% endif %}
</div>
<div class="mt-12 relative sm:max-w-lg sm:mx-auto lg:mt-0 lg:max-w-none lg:mx-0 lg:col-span-6 lg:flex lg:items-center">
{% if caller %}
{{ caller() }}
{% endif %}
</div>
</div>
</div>
</div>

View File

@@ -1,46 +0,0 @@
{% set title = title | default(value="Welcome") %}
{% set subtitle = subtitle | default(value="") %}
{% set button_text = button_text | default(value="") %}
{% set button_link = button_link | default(value="") %}
{% set bg_color = bg_color | default(value="bg-blue-700") %}
{% set text_color = text_color | default(value="text-white") %}
{% set image = image | default(value="") %}
<div class="relative {{ bg_color }} {{ text_color }} overflow-hidden my-12 lg:my-24">
<div class="absolute inset-0 z-0 opacity-20 bg-pattern"></div>
<div class="max-w-7xl mx-auto py-16 px-4 sm:py-24 sm:px-6 lg:px-8 relative z-10">
<div class="text-center">
<h1 class="text-4xl font-extrabold tracking-tight sm:text-5xl md:text-6xl">
{{ title }}
</h1>
{% if subtitle %}
<p class="mt-6 max-w-2xl mx-auto text-xl">
{{ subtitle }}
</p>
{% endif %}
{% if button_text and button_link %}
<div class="mt-10">
<a href="{{ button_link }}" class="inline-block px-8 py-3 border border-transparent text-base font-medium rounded-md shadow-sm bg-white text-blue-700 hover:bg-blue-50 sm:px-10">
{{ button_text }}
</a>
</div>
{% endif %}
</div>
{% if image %}
<div class="mt-10 max-w-xl mx-auto">
<img src="{{ image }}" alt="Hero image" class="rounded-lg shadow-xl">
</div>
{% endif %}
{% if caller %}
<div class="mt-8">
{{ caller() }}
</div>
{% endif %}
</div>
<style>
.bg-pattern {
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.2'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
</style>
</div>

View File

@@ -1,21 +0,0 @@
<div class="fade-in flex items-center justify-center ">
<div class="relative isolate px-6 pt-14 lg:px-8">
<div class="mx-auto max-w-7xl py-12">
<div class="hidden sm:mb-8 sm:flex sm:justify-center">
<div class="relative rounded-full px-3 py-1 text-sm/6 text-gray-300 ring-1 ring-gray-700 hover:ring-gray-500">
{{ announcement | safe }}
</div>
</div>
<div class="text-center">
<p class="text-base/7 font-light tracking-wide">{{ subheader }}</p>
<h1 class="lg:text-6xl text-4xl font-semibold tracking-tight text-balance">{{ title }}</h1>
<h2 class="fade-in text-balance lg:text-5xl text-4xl font-normal tracking-tight">{{ subtitle }}</h2>
<p class="mt-8 lg:text-lg font-light text-gray-50 sm:text-xl/8">{{ description }}</p>
<div class="mt-10 flex items-center justify-center gap-x-6">
<a href="{{ button1_link }}" class="rounded-2xl bg-gray-300 px-4 py-2 text-sm font-semibold text-black shadow-xs hover:bg-gray-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-200">{{ button1_text }}</a>
<a href="{{ button2_link }}" class="text-sm/6 font-semibold hover:text-gray-300">{{ button2_text }} <span aria-hidden="true"></span></a>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,23 @@
{% set title = title | default(value="") %}
{% set description = description | default(value="") %}
{% set subtitle = subtitle | default(value="") %}
{% set image_BG = image_BG | default(value="") %}
<div class="relative isolate overflow-hidden px-6 py-24 sm:py-32 lg:px-8">
<img src="{{ image_BG }}" alt="" class="absolute inset-0 -z-10 h-full w-full object-cover">
<div class="absolute -bottom-8 -left-96 -z-10 transform-gpu blur-3xl sm:-bottom-64 sm:-left-40 lg:-bottom-32 lg:left-8 xl:-left-10" aria-hidden="true">
<div class="aspect-[1266/975] w-[79.125rem] bg-gradient-to-tr from-[#ff4694] to-[#776fff] opacity-20" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"></div>
</div>
<div class="mx-auto max-w-2xl text-center">
<br>
<br>
<br>
<br>
{% if subtitle %}
<h5>{{ subtitle }}</h5>
{% endif %}
<h1 class="pt-30">{{ title }}</h1>
<p class="mt-6 text-lg leading-8 text-gray-300">{{ description }}</p>
</div>
</div>

View File

@@ -0,0 +1,36 @@
{% set title = title | default(value="") %}
{% set video_BG= video_BG| default(value="") %}
{% set subtitle = subtitle | default(value="") %}
{% set description = description | default(value="") %}
{% set button_text_1 = button_text_1 | default(value="") %}
{% set button_link_1 = button_link_1 | default(value="") %}
{% set button_text_2 = button_text_2 | default(value="") %}
{% set button_link_2 = button_link_2 | default(value="") %}
<div class="relative isolate overflow-hidden pt-14">
<!-- Video background -->
<video autoplay loop muted class="absolute inset-0 -z-10 h-full w-full object-fill">
<source src="{{ video_BG }}" type="video/mp4">
</video>
<!-- Gray transparent overlay -->
<div class="absolute inset-0 bg-gray-900/50 -z-10"></div>
<!-- Content on top -->
<div class="mx-auto max-w-3xl py-32 px-6">
<div class="text-center">
<h1 class="mb-4 text-white">{{ title }}</h1>
<h2 class="lg:text-4xl text-3xl mt-2 text-white">{{ subtitle }}</h2>
<p class="mt-4 leading-8 text-white">{{ description }}</p>
<div class="mt-10 flex items-center justify-center gap-x-6 text-white">
<a href="{{ button_link_1 }}" class="rounded-md bg-gray-900 px-3 py-2 font-semibold text-white shadow-sm hover:bg-gray-500 hover:text-white ">
{{ button_text_1 }}
</a>
<a href="{{ button_link_2 }}" class="text-sm font-semibold leading-6">
{{ button_text_2 }} <span aria-hidden="true"></span>
</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,25 @@
{% set title = title | default(value="") %}
{% set image = image | default(value="") %}
{% set description_1 = description_1 | default(value="") %}
{% set description_2 = description_2 | default(value="") %}
{% set description_3 = description_3 | default(value="") %}
<div class="relative py-2 bor">
<div class="relative lg:h-72 h-auto w-full overflow-hidden rounded-lg">
<img src="{{ image }}" alt="usecase" class="h-30 w-full object-cover object-center">
</div>
<div class="relative mt-4">
<h3 class="text-lg font-semibold">{{ title }}</h3>
<p class="mt-1 mb-4 text-base">{{ description_1 }}</p>
<p class="mt-1 mb-4 text-base">{{ description_2 }}</p>
<p class="mt-1 mb-4 text-base">{{ description_3 }}</p>
</div>
</div>

View File

@@ -0,0 +1,44 @@
<!-- row shortcode
Shortcode used in markdown for the creation of mobile compatible vertical rows
Divides markdown into columns by splitting content using column identifier "|||"
Creates equal width blocks in a flex row.
Parameters:
- style:
- lean: if style is lean, the row doesn't have outer margins
- bgPath: if bgPath is passed, the row has a full width background
-->
{% set columns = body | safe | markdown | split(pat="|||") %}
<!-- aligns columns depending on col number-->
{% set classes = "relative flex flex-col lg:flex-row items-baseline -mx-8 sm:-mx-12 lg:-mx-12 xl:-mx-8" %}
{% set column_classes = "flex-1 m-2 lg:m-4" %}
<!-- makes row full screen width and adds background img -->
<div class="{{classes}}">
{% for column in columns%}
<!-- Hides empty columns if displayed vertically in small screen -->
{% if column | as_str | length < 10 %}
<div class="hidden md:block flex-1 md:mb-0 md:mx-8 sm:flex-1">
{{column | split(pat="{% button() %}") | slice(end=1)}}
{% for button in column | split(pat="{% button() %}") | slice(start=1) | join(sep="") | split(pat="{%% end %%}") | slice(end=-1) %}
{% set body = button %}
{% include "shortcodes/button.html" %}
{% endfor %}
</div>
{% else %}
<div class="{{column_classes}}">
{{column | split(pat="{% button() %}") | slice(end=1) | first | safe}}
<hr class="border-t-2 mt-2">
<br/>
{% for button in column | split(pat="{% button() %}") | slice(start=1) | join(sep="") | split(pat="{%% end %%}") | slice(end=-1) %}
{% set body = button %}
{% include "shortcodes/button.html" %}
{% endfor %}
</div>
{% endif %}
{% endfor %}
</div>

View File

@@ -0,0 +1,3 @@
<div class="mermaid">
{{ body }}
</div>

View File

@@ -0,0 +1,265 @@
<!-- row shortcode
Shortcode used in markdown for the creation of mobile compatible vertical rows
Divides markdown into columns by splitting content using column identifier "|||"
Creates equal width blocks in a flex row.
Parameters:
- style:
- lean: if style is lean, the row doesn't have outer margins
- bgPath: if bgPath is passed, the row has a full width background
-->
<!-- This fixes link & img paths in local, prod, and wth prefix -->
{% if page %}
{% if "](" in body %}
{% set body_arr = body | split(pat="](") %}
{% set body = body_arr[0] %}
{% for i in body_arr %}
{% set prev_index = loop.index0 - 1 %}
{% if not loop.first %}
{% if "![" in body_arr[prev_index] %}
{% set_global body = body ~ '](' ~ page.permalink ~ i %}
{% else %}
{% if i is not starting_with("http") %}
{% set base_url = get_url(path="") %}
{% set_global body = body ~ '](' ~ base_url ~ i %}
{% else %}
{% set_global body = body ~ '](' ~ i %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
{% set columns = body | safe | markdown | split(pat="<p>|||</p>") %}
{% set row_class = "relative flex flex-col md:flex md:flex-row flex-wrap max-w-fit overflow-hidden"%}
<!-- aligns columns depending on col number-->
{% if 2 < columns | length %}
{% set row_class = row_class ~ " lg:items-start" %}
{% else %}
{% set row_class = row_class ~ " items-center" %}
{% endif %}
{% set col_class = "flex-1 mb-4 md:mb-12 lg:mb-0 mx-4" %}
{% set row_id = '' %}
{% if id %}
{% set row_id = id %}
{% endif %}
<!-- reverse col at mobile -->
{% if reverse %}
{% if "rightreserve" in reverse %}
{% set row_class = "flex flex-col-reverse md:flex-row items-center mx-0" %}
{% elif "leftreserve" in reverse %}
{% set row_class = "flex flex-col md:flex-row items-center mx-8" %}
{% endif %}
{% endif %}
<!-- Padding -->
{% set padding_class = " py-4 md:py-4 lg:py-24" %}
{% if padding %}
{% if "none" in padding %}
{% set padding_class = " py-0" %}
{% elif "top" in padding %}
{% set padding_class = " py-0 lg:pt-12" %}
{% elif "bottom" in padding %}
{% set padding_class = " py-2 md:py-4 lg:pb-12" %}
{% elif "both" in padding %}
{% set padding_class = " py-4 md:py-4 lg:py-16" %}
{% endif %}
{% if "hero" in padding %}
{% set padding_class = " py-4 md:py-4 lg:py-12" %}
{% endif %}
{% endif %}
{% if css %}
{% set padding_class = padding_class ~ " " ~ css %}
{% endif %}
{% set row_class = row_class ~ padding_class %}
<!-- Margins -->
{% set margin_class = " mx-4 md:mx-16 lg:mx-24" %}
{% if margin %}
{% if "none" in margin %}
{% set margin_class = " mx-0" %}
{% elif "wide" in margin %}
{% set margin_class = " mx-2 sm:mx-4 md:mx-6 lg:mx-8 xl:mx-10 " %}
{% elif "semiwide" in margin %}
{% set margin_class = " mx-2 sm:mx-8 md:mx-12 lg:mx-16 xl:mx-20 " %}
{% elif "moderate" in margin %}
{% set margin_class = " mx-4 sm:mx-16 md:mx-20 lg:mx-28" %}
{% elif "narrow" in margin %}
{% set margin_class = " mx-4 sm:mx-20 md:mx-28 lg:mx-40" %}
{% elif "tight" in margin %}
{% set margin_class = " mx-4 sm:mx-32 md:mx-40 lg:mx-80 xl:mx-96" %}
{% elif "header" in margin %}
{% set margin_class = " mx-4 sm:mx-20 md:mx-28 lg:mx-40 my-10" %}
{% elif "withContainer" in margin %}
{% set margin_class = " mx-4 " %}
{% endif %}
{% if "lean-left" in margin %}
{% set margin = margin_class | replace(from=" ", to=" first:")%}
{% set margin_left = margin | replace(from="mx", to="-ml") %}
{% set margin_right = margin | replace(from="mx", to="mr") %}
{% set col_class = col_class ~ " md:last:px-8 lg:last:px-20 lg:max-w-[50%] lg:mx-0 " ~ margin_left ~ margin_right %}
{% set row_class = row_class ~ " sm:gap-0 " %}
{% elif "lean-right" in margin %}
{% set margin = margin_class | replace(from=" ", to=" last:")%}
{% set margin_left = margin | replace(from="mx", to="ml") %}
{% set margin_right = margin | replace(from="mx", to="-mr") %}
{% set col_class = col_class ~ " md:first:px-8 lg:first:px-20 lg:max-w-[50%] lg:mx-0 " ~ margin_left ~ margin_right %}
{% set row_class = row_class ~ " sm:gap-0 " %}
{% endif %}
{% if "hero" in margin %}
{% set margin_class = " mx-4 md:mx-16 lg:mx-24" %}
{% endif %}
{% endif %}
{% if css %}
{% set margin_class = margin_class ~ " " ~ css %}
{% endif %}
{% set row_class = row_class ~ margin_class %}
{% if style %}
{% if "center" in style %}
{% set row_class = row_class ~ " text-center items-center " %}
{% set col_class = col_class ~ " flex-1 " %}
{% endif %}
{% if "right" in style %}
{% set row_class = row_class ~ " text-center lg:text-right md:text-right justify-center " %}
{% set col_class = col_class ~ " flex-1" %}
{% endif %}
{% if "left" in style %}
{% set row_class = row_class ~ " text-center lg:text-left md:text-left justify-center " %}
{% set col_class = col_class ~ " flex-1" %}
{% endif %}
{% if "items-end" in style %}
{% set row_class = row_class ~ " lg:items-end" %}
{% set col_class = col_class ~ " flex-1 " %}
{% endif %}
<!-- makes row semi-full screen width, strips margins -->
{% if "between" in style %}
{% set row_class = row_class ~ " lg:max-w-6xl " %}
{% elif "moderate" in style %}
{% set row_class = row_class ~ " " %}
{% endif %}
<!-- makes row full screen width, strips margins -->
{% if "narrow" in style %}
{% set row_class = row_class ~ " lg:max-w-3xl " %}
{% elif "tight" in style %}
{% set row_class = row_class ~ " lg:max-w-sm " %}
{% elif "moderate" in style %}
{% set row_class = row_class ~ " mx-20 " %}
{% endif %}
{% if "invert-color" in style %}
{% set row_class = row_class ~ " text-white lg:text-white " %}
{% endif %}
{% else %}
{% set row_class = row_class ~ " " %}
{% endif %}
{% set anchor_link = ""%}
{% if anchor %}
{% set anchor_link = anchor %}
{% endif %}
<!-- makes row full screen width and adds background img -->
{% set styles = "" %}
{% set div_class = " " %}
{% if bgPath %}
{% set background_url = page.permalink ~ bgPath %}
{% set styles = "background: url('" ~ background_url ~ "'); background-size: cover; background-position: center;" %}
{% if "#desktop" in bgPath %}
{% set bgStyle = false %}
{% set div_class = " !bg-[length:0px_0px] !bg-no-repeat lg:!bg-cover " %}
{% set row_class = row_class | replace(from='text-white', to='text-black') %}
{% if "invert-color" in style %}
{% if "#desktop" in bgPath %}
{% set row_class = row_class ~ " lg:text-white " %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% if bgStyle %}
{% if "full" in bgStyle %}
{% set styles = styles ~ "height: -webkit-fill-available; height: 100vh;" %}
{% elif "hero" in bgStyle %}
{% set div_class = div_class ~ " -mt-24 pt-12 " %}
{% endif %}
{% endif %}
{% if bgColor %}
{% set styles = "background-color: " ~ bgColor ~ "; background-size: cover" %}
{% set row_class = row_class %}
{% endif %}
{% if class %}
{% set styles = "background-color: " ~ bgColor ~ "; background-size: cover" %}
{% set row_class = row_class %}
{% endif %}
<!-- Cancels page margins so that rows can have separate margins -->
{% set no_margins = " -mx-8 md:-mx-12 lg:-mx-16 xl:-mx-20" %}
<div id="{{anchor_link}}" class="{{'relative justify-center flex overflow-hidden ' ~ div_class }}" style="{{styles}}">
<div id="{{row_id}}" class="{{row_class}}" style="min-width: -webkit-fill-available; min-width: -moz-available">
{% for column in columns%}
<!-- Hides empty columns if displayed vertically in small screen -->
{% if column | as_str | length < 10 %}
<div class="hidden md:block flex-1 md:mb-0 md:mx-8 sm:flex-1 ">
{{ column | safe }}
</div>
{% else %}
<div class="{{col_class}}">
<!-- handles mermaid markdown content display -->
{% if "{% mermaid() %}" in column %}
{% set mermaid_section = column | safe | markdown | split(pat="{% mermaid() %}") %}
{% set mermaid_content = mermaid_section[1] | striptags | replace(from="", to="--")%}
<div class="mermaid">
{{mermaid_content | safe }}
</div>
{% else %}
{{ column | safe }}
{% endif %}
</div>
{% endif %}
{% endfor %}
</div>
</div>

View File

@@ -0,0 +1,8 @@
{% set height = 52 %}
{% if size %}
{% if size == "small" %}
{% set height = 28 %}
{% endif %}
{% endif %}
<div class="h-20 lg:h-{{height}}"></div>

View File

@@ -0,0 +1,165 @@
<div class="">
<section aria-labelledby="features-heading" class="mx-auto max-w-7xl py-12 lg:py-24 sm:px-2 lg:px-8">
<div class="mx-auto max-w-2xl px-4 lg:max-w-none lg:px-0">
<div class="max-w-3xl">
<h2 id="features-heading">Technical Specifications</h2>
<p class="mt-4">Dive into the technical details that empower our revolutionary cloud platform, Offering Compute (GPU, CPU), Storage and Network.</p>
</div>
<div class="mt-4">
<div class="-mx-4 flex overflow-x-auto sm:mx-0">
<div class="flex-auto border-b border-gray-200 px-4 sm:px-0">
<div class="-mb-px flex space-x-2 lg:space-x-10" aria-orientation="horizontal" role="tablist">
<!-- Current: "border-indigo-400 text-indigo-400", Default: "border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700" -->
<button id="features-tab-1" class="whitespace-nowrap border-b-2 border-transparent py-6 text-base font-medium text-gray-50 hover:text-gray-300" aria-controls="features-panel-1" role="tab" type="button">3Nodes</button>
<button id="features-tab-2" class="whitespace-nowrap border-b-2 border-transparent py-6 text-base font-medium text-gray-50 hover:text-gray-300" aria-controls="features-panel-2" role="tab" type="button">Zero-OS</button>
<button id="features-tab-3" class="whitespace-nowrap border-b-2 border-transparent py-6 text-base font-medium text-gray-50 hover:text-gray-300" aria-controls="features-panel-3" role="tab" type="button">Mycelium</button>
<button id="features-tab-4" class="whitespace-nowrap border-b-2 border-transparent py-6 text-base font-medium text-gray-50 hover:text-gray-300" aria-controls="features-panel-4" role="tab" type="button">QSS</button>
</div>
</div>
</div>
<div id="features-panel-1" class="space-y-6 pt-4" aria-labelledby="features-tab-1" role="tabpanel" tabindex="0">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8">
<div class="mt-6 lg:col-span-7 lg:mt-0">
<h3 class="">3Nodes</h3>
<p class="mt-2 ">3Nodes are the hardware building blocks of our stack and are installed in data centres, offices or homes.
</p>
<dl class="mt-6 space-y-4">
<div>
<h5 class="text-lg mb-0">&#8226; Plug & Play</h5>
<p class="text-base">Simply connect your certified node to the internet.</p>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Peer-to-peer</h5>
<p class="text-base">Consumes up to 10x less energy for certain workloads.</p>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Scalable</h5>
<p class="text-base">Nodes can be deployed on any level providing unlimited scalability.</p>
</div>
</dl>
</div>
<div class="lg:col-span-5">
{# <div class="lg:aspect-h-1 lg:aspect-w-1 overflow-hidden rounded-lg">
<img src="/technology/img/3node.png" alt="Maple organizer base with slots, supporting white polycarbonate trays of various sizes." class="object-cover object-center">
</div> #}
</div>
</div>
</div>
<div id="features-panel-2" class="space-y-6 pt-4" aria-labelledby="features-tab-2" role="tabpanel" tabindex="0">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8">
<div class="mt-6 lg:col-span-7 lg:mt-0">
<h3>Zero-OS</h3>
<p class="mt-2 text-base text-gray-50">Zero-OS is a bare-metal, stateless, and efficient operating system designed to host AI, Web2, and Web3 workloads in a more sovereign manner, without compromising on security, control, and monitoring.</p>
<dl class="mt-6 space-y-4">
<div>
<h5 class="text-lg mb-0">&#8226; CORE-0</h5>
<p class="mt-2 text-base text-gray-100">First process launched on the Zero-OS. This process kicks off all activities on the node and allows the full OS to be booted over the network maintening full integrity and hacking surfaces </p>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Hardware Support</h5>
<p class="mt-2 text-base text-gray-100">Support for INTEL, AMD or ARM Based CPUs. Support any amount of GPU/CPU/Memory</p>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Kernel</h5>
<p class="mt-2 text-base text-gray-100">Zero-OS uses the well known Linux Kernel because it has device drivers for almost any hardware that exists.</p>
</div>
</dl>
</div>
<div class="lg:col-span-5">
{# <div class="lg:aspect-h-1 lg:aspect-w-1 overflow-hidden rounded-lg">
<img src="/technology/img/zos.png" alt="" class="object-cover object-center">
</div> #}
</div>
</div>
</div>
<div id="features-panel-3" class="space-y-6 pt-4" aria-labelledby="features-tab-3" role="tabpanel" tabindex="0">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8">
<div class="mt-6 lg:col-span-7 lg:mt-0">
<h3>Mycelium</h3>
<p class="mt-2 text-base text-gray-50">
Mycelium is the culmination of a decade-long quest for a more efficient network system, enabling faster and more reliable communication between machines and people.
</p>
<dl class="mt-6 space-y-4">
<div>
<h5 class="text-lg mb-0">&#8226; Shortest Path Route</h5>
<dd class="mt-2 text-base text-gray-100">Mycelium optimizes data transmission by identifying and utilizing the fastest and most direct routes.</dd>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; End-to-End Encrypted</h5>
<dd class="mt-2 text-base text-gray-100">All data is secured with end-to-end encryption, ensuring protection against interception.</dd>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Ultra Compatible</h5>
<dd class="mt-2 text-base text-gray-100">Mycelium seamlessly integrates with any existing internet connection, including peer-to-peer networks.</dd>
</div>
</dl>
</div>
<div class="lg:col-span-5">
{# <div class="lg:aspect-h-1 lg:aspect-w-1 overflow-hidden rounded-lg">
<img src="/technology/img/mycelium.png" alt="" class="object-cover object-center">
</div> #}
</div>
</div>
</div>
<div id="features-panel-4" class="space-y-6 pt-4" aria-labelledby="features-tab-4" role="tabpanel" tabindex="0">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8">
<div class="mt-6 lg:col-span-7 lg:mt-0">
<h3>QSS</h3>
<p class="mt-2 text-base text-gray-100">A decentralized, globally distributed data storage system that is up to 10 times more efficient in terms of power and hardware usage. It is highly reliable, ensuring that data cannot be lost or corrupted. Additionally, it is safe, private, and scalable.
</p>
<dl class="mt-6 space-y-4">
<div>
<h5 class="text-lg mb-0">&#8226; Always Consistent</h5>
<dd class="mt-2 text-base text-gray-100">It employs advanced storage algorithms that fragment files into multiple pieces distributed across numerous nodes and sites.</dd>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Self-healing</h5>
<dd class="mt-2 text-base text-gray-100">The storage layer is equipped with automatic data integrity checks that promptly detect and correct any corruption, ensuring continuous data health..</dd>
</div>
<div>
<h5 class="text-lg mb-0">&#8226; Ultra Secure</h5>
<dd class="mt-2 text-base text-gray-100">With its sophisticated encryption and redundancy protocols, data remains secure, protected from loss, and impervious to corruption.</dd>
</div>
</dl>
</div>
<div class="lg:col-span-5">
{# <div class="lg:aspect-h-1 lg:aspect-w-1 overflow-hidden rounded-lg">
<img src="/technology/img/fungistor.png" alt="Walnut organizer system on black leather desk mat on top of white desk." class="object-cover object-center">
</div> #}
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const tabs = document.querySelectorAll('[role="tab"]');
const panels = document.querySelectorAll('[role="tabpanel"]');
tabs.forEach((tab, index) => {
tab.addEventListener('click', function () {
tabs.forEach(t => t.classList.remove('border-indigo-400', 'text-indigo-400'));
panels.forEach(panel => panel.style.display = 'none');
tab.classList.add('border-indigo-400', 'text-indigo-400');
const panelId = tab.getAttribute('aria-controls');
document.getElementById(panelId).style.display = 'block';
});
// Hide all panels except the first one on load
if (index === 0) {
tab.classList.add('border-indigo-400', 'text-indigo-400');
panels[index].style.display = 'block';
} else {
panels[index].style.display = 'none';
}
});
});
</script>

7
templates/tags/list.html Normal file
View File

@@ -0,0 +1,7 @@
{% extends "index.html" %}
{% block content %}
{{ terms }}
{% endblock content %}

View File

@@ -0,0 +1,12 @@
{% extends "index.html" %}
{% block content %}
{% set section = get_section(path="blog/_index.md")%}
<main class="pt-16">
{{ section.content | safe}}
<hr>
{% include "partials/page_list.html" %}
</main>
{% endblock content %}

View File

@@ -0,0 +1,4 @@
{% extends "index.html" %}
{% block content %}
{% endblock content %}

View File

@@ -0,0 +1,22 @@
{% extends "index.html" %}
{% block content %}
<main class="pt-16">
<div class="flex flex-col md:flex-row">
{% if current_path is containing("tags") %}
{% include "partials/tagsCards.html" %}
{% include "partials/tagsSidebar.html" %}
{% elif current_path is containing("memberships") %}
{% include "partials/memberships.html" %}
{% elif current_path is containing("people") %}
{% else %}
{% include "partials/newsPosts.html" %}
{% include "partials/newsSidebar.html" %}
{% endif %}
</div>
</main>
{% endblock content %}