- Begin moving auth to route definition where practical - Fix typo on post list page
99 lines
4.5 KiB
Plaintext
99 lines
4.5 KiB
Plaintext
<h2 class="my-3">{{ page_title }}</h2>
|
|
<article>
|
|
<a href="{{ "admin/post/new/edit" | relative_link }}" class="btn btn-primary btn-sm mb-3">Write a New Post</a>
|
|
{%- assign post_count = model.posts | size -%}
|
|
{%- if post_count > 0 %}
|
|
<form method="post" class="container mb-3" hx-target="body">
|
|
<input type="hidden" name="{{ csrf.form_field_name }}" value="{{ csrf.request_token }}">
|
|
{%- assign date_col = "col-xs-12 col-md-3 col-lg-2" -%}
|
|
{%- assign title_col = "col-xs-12 col-md-7 col-lg-6 col-xl-5 col-xxl-4" -%}
|
|
{%- assign author_col = "col-xs-12 col-md-2 col-lg-1" -%}
|
|
{%- assign tag_col = "col-lg-3 col-xl-4 col-xxl-5 d-none d-lg-inline-block" -%}
|
|
<div class="row mwl-table-heading">
|
|
<div class="{{ date_col }}">
|
|
<span class="d-md-none">Post</span><span class="d-none d-md-inline">Date</span>
|
|
</div>
|
|
<div class="{{ title_col }} d-none d-md-inline-block">Title</div>
|
|
<div class="{{ author_col }} d-none d-md-inline-block">Author</div>
|
|
<div class="{{ tag_col }}">Tags</div>
|
|
</div>
|
|
{% for post in model.posts -%}
|
|
<div class="row mwl-table-detail">
|
|
<div class="{{ date_col }} no-wrap">
|
|
<small class="d-md-none">
|
|
{%- if post.published_on -%}
|
|
Published {{ post.published_on | date: "MMMM d, yyyy" }}
|
|
{%- else -%}
|
|
Not Published
|
|
{%- endif -%}
|
|
{%- if post.published_on != post.updated_on -%}
|
|
<em class="text-muted"> (Updated {{ post.updated_on | date: "MMMM d, yyyy" }})</em>
|
|
{%- endif %}
|
|
</small>
|
|
<span class="d-none d-md-inline">
|
|
{%- if post.published_on -%}
|
|
{{ post.published_on | date: "MMMM d, yyyy" }}
|
|
{%- else -%}
|
|
Not Published
|
|
{%- endif -%}
|
|
{%- if post.published_on != post.updated_on %}<br>
|
|
<small class="text-muted"><em>{{ post.updated_on | date: "MMMM d, yyyy" }}</em></small>
|
|
{%- endif %}
|
|
</span>
|
|
</div>
|
|
<div class="{{ title_col }}">
|
|
{%- if post.episode %}<span class="badge bg-success float-end text-uppercase mt-1">Episode</span>{% endif -%}
|
|
{{ post.title }}<br>
|
|
<small>
|
|
<a href="{{ post | relative_link }}" target="_blank">View Post</a>
|
|
{% if is_editor or is_author and user_id == post.author_id %}
|
|
<span class="text-muted"> • </span>
|
|
<a href="{{ post | edit_post_link }}">Edit</a>
|
|
{% endif %}
|
|
{% if is_web_log_admin %}
|
|
<span class="text-muted"> • </span>
|
|
{%- assign post_del_link = "admin/post/" | append: post.id | append: "/delete" | relative_link -%}
|
|
<a href="{{ post_del_link }}" hx-post="{{ post_del_link }}" class="text-danger"
|
|
hx-confirm="Are you sure you want to delete the post “{{ post.title | strip_html | escape }}”? This action cannot be undone.">
|
|
Delete
|
|
</a>
|
|
{% endif %}
|
|
</small>
|
|
</div>
|
|
<div class="{{ author_col }}">
|
|
{%- assign tag_count = post.tags | size -%}
|
|
<small class="d-md-none">
|
|
Authored by {{ model.authors | value: post.author_id }} |
|
|
{% if tag_count == 0 -%}
|
|
No
|
|
{%- else -%}
|
|
{{ tag_count }}
|
|
{%- endif %} Tag{% unless tag_count == 1 %}s{% endunless %}
|
|
</small>
|
|
<span class="d-none d-md-inline">{{ model.authors | value: post.author_id }}</span>
|
|
</div>
|
|
<div class="{{ tag_col }}">
|
|
<span class="no-wrap">{{ post.tags | join: "</span>, <span class='no-wrap'>" }}</span>
|
|
</div>
|
|
</div>
|
|
{%- endfor %}
|
|
</form>
|
|
{% if model.newer_link or model.older_link %}
|
|
<div class="d-flex justify-content-evenly mb-3">
|
|
<div>
|
|
{% if model.newer_link %}
|
|
<p><a class="btn btn-secondary" href="{{ model.newer_link.value }}">« Newer Posts</a></p>
|
|
{% endif %}
|
|
</div>
|
|
<div class="text-right">
|
|
{% if model.older_link %}
|
|
<p><a class="btn btn-secondary" href="{{ model.older_link.value }}">Older Posts »</a></p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% else %}
|
|
<p class="text-muted fst-italic text-center">This web log has no posts</p>
|
|
{% endif %}
|
|
</article>
|