repos

blog.bythewood.me-flask

mirror archived upstream

Markdown blog on Flask with Vite-built assets and WeasyPrint PDF export, rewritten from the Wagtail build that preceded it.

blogdockerflaskmarkdownpythonself-hostedvite

1.6 KB · 43 lines · HTML Raw History
 1<div class="container mt-5">
 2  <div class="row">
 3    <div class="col">
 4      <div class="section-label mb-2">Latest post</div>
 5    </div>
 6  </div>
 7  <div class="row">
 8    <div class="col-12 col-md-6 col-lg-5 pb-5" style="border-bottom: 1px solid rgba(255,255,255,0.06);">
 9      <a href="{{ url_for('blog_post', slug=blog_post.slug) }}" class="text-decoration-none" style="color: #f0f0f5;">
10        <h2 class="fw-bolder">{{ blog_post.title }}</h2>
11      </a>
12      <div class="mb-3">
13        {% for tag in blog_post.tags %}
14          <a href="{{ url_for('blog_tag', tag=tag) }}" class="btn btn-tag btn-sm rounded-pill">
15            {{ tag|title }}
16          </a>
17        {% endfor %}
18      </div>
19      <p class="h5 text-muted mb-3" style="font-weight: 400;">{{ blog_post.description }}</p>
20      <div class="d-flex align-items-center">
21        <img class="rounded-circle me-3" src="{{ url_for('content_images', filename='avatar.webp') }}" alt="Isaac Bythewood" width="35" height="35">
22        <strong class="me-2">
23          Isaac Bythewood
24        </strong>
25        <div class="d-inline text-muted">
26          {{ blog_post.date }}
27        </div>
28      </div>
29    </div>
30    {% if blog_post.cover_image %}
31    <div class="col-12 col-md-6 col-lg-7 pb-5" style="border-bottom: 1px solid rgba(255,255,255,0.06);">
32      <a href="{{ url_for('blog_post', slug=blog_post.slug) }}">
33        <img
34          src="{{ url_for('content_images', filename=blog_post.cover_image) }}"
35          class="img-fluid rounded"
36          alt="{{ blog_post.title }}"
37        >
38      </a>
39    </div>
40    {% endif %}
41  </div>
42</div>