- Add full chapter support (#6) - Add built-in redirect functionality (#39) - Support building Docker containers for release (#38) - Support canonical domain configuration (#37) - Add unit tests for domain/models and integration tests for all three data stores - Convert SQLite storage to use JSON documents, similar to PostgreSQL - Convert admin templates to Giraffe View Engine (from Liquid) - Add .NET 8 support
56 lines
2.4 KiB
Plaintext
56 lines
2.4 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang=en>
|
|
<meta charset=utf-8>
|
|
<meta name=viewport content="width=device-width">
|
|
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
|
|
integrity=sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3 crossorigin=anonymous>
|
|
<title>{{ page_title | strip_html }}{% if page_title %} « {% endif %}{{ web_log.name | strip_html }}</title>
|
|
{% page_head -%}
|
|
<header>
|
|
<nav class="navbar navbar-light bg-light navbar-expand-md justify-content-start px-2">
|
|
<div class=container-fluid>
|
|
<a class=navbar-brand href="{{ "" | relative_link }}">{{ web_log.name }}</a>
|
|
<button class=navbar-toggler type=button data-bs-toggle=collapse data-bs-target=#navbarText
|
|
aria-controls=navbarText aria-expanded=false aria-label="Toggle navigation">
|
|
<span class=navbar-toggler-icon></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id=navbarText>
|
|
{% if web_log.subtitle -%}
|
|
<span class=navbar-text>{{ web_log.subtitle.value }}</span>
|
|
{%- endif %}
|
|
<ul class=navbar-nav>
|
|
{% unless web_log.default_page == "posts" %}{{ "page/1" | nav_link: "Posts" }}{% endunless %}
|
|
{% if page_list -%}
|
|
{% for pg in page_list %}{{ pg.permalink | nav_link: pg.title }}{% endfor %}
|
|
{%- endif %}
|
|
</ul>
|
|
{% user_links %}
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<main class=mx-3>
|
|
{% if messages %}
|
|
<div class=messages>
|
|
{% for msg in messages %}
|
|
<div role=alert class="alert alert-{{ msg.level }} alert-dismissible fade show">
|
|
{{ msg.message }}
|
|
<button type=button class=btn-close data-bs-dismiss=alert aria-label=Close></button>
|
|
{% if msg.detail %}<hr><p>{{ msg.detail.value }}{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{{ content }}
|
|
</main>
|
|
<footer>
|
|
<hr>
|
|
<div class="container-fluid text-end">
|
|
<img src="{{ "themes/admin/logo-dark.png" | relative_link }}" alt=myWebLog width=120 height=34>
|
|
</div>
|
|
</footer>
|
|
<script src=https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js
|
|
integrity=sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p
|
|
crossorigin=anonymous></script>
|
|
</html>
|