summaryrefslogtreecommitdiff
path: root/website/templates
diff options
context:
space:
mode:
Diffstat (limited to 'website/templates')
-rw-r--r--website/templates/404.html16
-rw-r--r--website/templates/anchor-link.html2
-rw-r--r--website/templates/base.html83
-rw-r--r--website/templates/index.html11
-rw-r--r--website/templates/macros.html46
-rw-r--r--website/templates/page.html11
6 files changed, 169 insertions, 0 deletions
diff --git a/website/templates/404.html b/website/templates/404.html
new file mode 100644
index 0000000..ecee207
--- /dev/null
+++ b/website/templates/404.html
@@ -0,0 +1,16 @@
+{% extends "base.html" %}
+
+{% import "macros.html" as macros %}
+
+{% block content %}
+ <div class="flex flex-col mx-auto text-center">
+ <h1>DON'T PANIC!</h1>
+ <h2>404: Page not found!</h2>
+
+ <img class="max-h-[50vh]"
+ src="{{ get_url(path='images/panic.svg') | safe }}"
+ alt="">
+
+ {{ macros::btn(link=get_url(path="/") , content="Back to the homepage") }}
+ </div>
+{% endblock %}
diff --git a/website/templates/anchor-link.html b/website/templates/anchor-link.html
new file mode 100644
index 0000000..c8644d9
--- /dev/null
+++ b/website/templates/anchor-link.html
@@ -0,0 +1,2 @@
+<a class="text-white no-underline transition-none hover:underline"
+ href="#{{ id }}"></a>
diff --git a/website/templates/base.html b/website/templates/base.html
new file mode 100644
index 0000000..64beaab
--- /dev/null
+++ b/website/templates/base.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ {%- set timestamp = now(timestamp=true) -%}
+
+ {%- if page.title -%}
+ {% set_global title = page.title %}
+ {%- elif section.title -%}
+ {% set_global title = section.title %}
+ {%- else -%}
+ {% set_global title = config.title %}
+ {%- endif -%}
+
+ {%- if page.description -%}
+ {% set_global description = page.description %}
+ {%- elif section.description -%}
+ {% set_global description = section.description %}
+ {%- else -%}
+ {% set_global description = config.description %}
+ {%- endif -%}
+
+ {%- if page.permalink -%}
+ {% set_global permalink = page.permalink %}
+ {%- elif section.permalink -%}
+ {% set_global permalink = section.permalink %}
+ {%- endif %}
+
+ <title>{%- block title -%}{{- title -}}{%- endblock -%}</title>
+
+ <meta name="description"
+ content="{%- block description -%}{{- description -}}{%- endblock -%}">
+
+ <link rel="icon"
+ type="image/x-icon"
+ href="{{ get_url(path=config.extra.logo_path) | safe }}?v={{ timestamp }}">
+
+ <link href="{{ get_url(path='main.css') | safe }}?v={{ timestamp }}"
+ rel="stylesheet">
+
+ <meta property="og:title" content="{{ title }}">
+ <meta property="og:description" content="{{ description }}">
+ <meta property="og:image"
+ content="{{ get_url(path=config.extra.logo_path) | safe }}?v={{ timestamp }}">
+ {% if permalink %}<meta property="og:url" content="{{ permalink | safe }}">{% endif %}
+ </head>
+
+ <body class="flex flex-col p-3 mx-auto min-h-screen text-lg text-white break-words bg-[#2A3439] lg:px-5 2xl:container">
+ <header class="flex gap-x-6 items-center py-2 px-2.5 mb-1 bg-black/30 rounded-full">
+ <a class="transition duration-500 hover:scale-110"
+ href="{{ get_url(path='/') | safe }}"
+ aria-hidden="true">
+ <img class="m-0 w-12 h-12 rounded-full"
+ src="{{ get_url(path=config.extra.logo_path) | safe }}"
+ alt="">
+ </a>
+
+ <nav class="flex gap-x-6 items-center font-bold">
+ {% for menu_item in config.extra.menu_items %}
+ <a class="p-1 no-underline" href="{{ menu_item.url | safe }}">{{ menu_item.name }}</a>
+ {% endfor %}
+ </nav>
+ </header>
+
+ <main class="leading-relaxed">
+ {% block content %}{% endblock %}
+ </main>
+
+ <footer class="pt-2 pb-3 mt-auto">
+ <img class="m-0 mx-auto w-20 h-20"
+ src="{{ get_url(path='images/happy_ferris.svg') | safe }}"
+ alt="">
+
+ <nav class="flex flex-col gap-y-3 justify-around py-3 text-center bg-black/30 rounded-sm sm:flex-row sm:rounded-full">
+ {% for footer_item in config.extra.footer_items %}
+ <a class="text-sm no-underline" href="{{ footer_item.url | safe }}">{{ footer_item.name }}</a>
+ {% endfor %}
+ </nav>
+ </footer>
+ </body>
+</html>
diff --git a/website/templates/index.html b/website/templates/index.html
new file mode 100644
index 0000000..5877765
--- /dev/null
+++ b/website/templates/index.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% import "macros.html" as macros %}
+
+{% block content %}
+ <div class="m-3">
+ <h1>Rustlings</h1>
+
+ {{ section.content | replace(from="<!-- toc -->", to=macros::toc() ) | safe }}
+ </div>
+{% endblock %}
diff --git a/website/templates/macros.html b/website/templates/macros.html
new file mode 100644
index 0000000..c40abe5
--- /dev/null
+++ b/website/templates/macros.html
@@ -0,0 +1,46 @@
+{% macro toc() %}
+ <p class="p-1 my-4 text-base rounded-sm sm:hidden bg-yellow-200/20">Landscape mode recommended on mobile devices</p>
+
+ {%- if page.toc -%}
+ {% set_global toc = page.toc %}
+ {%- else -%}
+ {% set_global toc = section.toc %}
+ {%- endif -%}
+
+ {% if toc %}
+ <div class="px-4 py-0.5 my-3 border-s-4 rounded-xl border-double">
+ <nav>
+ <ul class="ml-0 list-none">
+ {% for parent in toc %}
+ {% if parent.level == 2 %}
+ <li>
+ {#- -#}
+ <a href="{{ parent.permalink | safe }}">{{ parent.title }}</a>
+ {#- -#}
+ {% if parent.children %}
+ <ul class="my-0 ml-5 list-none">
+ {% for child in parent.children %}
+ {% if child.level == 3 %}
+ <li>
+ {#- -#}
+ <a class="text-base" href="{{ child.permalink | safe }}">{{ child.title }}</a>
+ {#- -#}
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ {% endif %}
+ {#- -#}
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ </nav>
+ </div>
+ {% endif %}
+{% endmacro %}
+
+{% macro btn(link, content) %}
+ <a class="py-1.5 px-3 my-2 no-underline bg-gray-800 rounded-xl transition duration-500 hover:scale-[1.02]"
+ href="{{ link | safe }}">{{ content | safe }}</a>
+{% endmacro %}
diff --git a/website/templates/page.html b/website/templates/page.html
new file mode 100644
index 0000000..90b269d
--- /dev/null
+++ b/website/templates/page.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% import "macros.html" as macros %}
+
+{% block content %}
+ <article>
+ <h1>{{ page.title }}</h1>
+
+ {{ page.content | replace(from="<!-- toc -->", to=macros::toc() ) | safe }}
+ </article>
+{% endblock %}