repos

blog.bythewood.me-rust

mirror archived upstream

Single-binary self-hosted Markdown blog on Rust axum: no database, live search, Typst PDF export, and strong SEO.

axumblogdockermarkdownminijinjarustself-hostedtypstvite

2.5 KB · 74 lines · HTML Raw History
 1{% extends 'base.html' %}
 2
 3
 4{% block extra_head %}
 5{% include "includes/social.html" %}
 6{% endblock %}
 7
 8
 9{% block main %}
10<div class="container mt-5">
11  <div class="row">
12    <div class="col">
13      <h1>{{ page.title }}</h1>
14    </div>
15  </div>
16</div>
17<div class="container">
18  <div class="row">
19    <div class="col-sm-6">
20      {% include 'includes/search_form.html' %}
21    </div>
22  </div>
23</div>
24<div class="container mt-5">
25  <div class="row">
26    {% if results %}
27    {% for blog_post in results %}
28    <div class="col-12 col-sm-6 col-md-4 mb-5">
29      {% include "includes/blog_post_card.html" %}
30    </div>
31    {% endfor %}
32    {% elif q %}
33    <div class="col">
34      <div class="alert alert-warning d-flex align-items-center row g-1">
35        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-exclamation-circle-fill col-2 col-md-1" viewBox="0 0 16 16">
36          <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/>
37        </svg>
38        <div class="col-10 col-md-11">No results found, please try something else.</div>
39      </div>
40    </div>
41    {% else %}
42    <div class="col">
43      <div class="alert alert-info d-flex align-items-center row g-1">
44        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-info-circle-fill col-2 col-md-1" viewBox="0 0 16 16">
45          <path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
46        </svg>
47        <div class="col-10 col-md-11">Submit a query above to see some results.</div>
48      </div>
49    </div>
50    {% endif %}
51
52    {% if random_posts %}
53    <div class="container mt-5 d-print-none">
54      <div class="row">
55        <div class="col">
56          <div class="section-label mb-1">
57            Random Posts
58          </div>
59          <p class="text-muted">If you don't know what to search for check out some of these posts.</p>
60        </div>
61      </div>
62      <div class="row">
63        {% for blog_post in random_posts %}
64        <div class="col-12 col-sm-6 col-md-4 mb-5">
65          {% include "includes/blog_post_card.html" %}
66        </div>
67        {% endfor %}
68      </div>
69    </div>
70    {% endif %}
71  </div>
72</div>
73{% endblock %}