Added clips module.
Dependency Audit / Dependency Audit (push) Successful in 18s
CI / Formatting (push) Successful in 14s
CI / Linting (push) Successful in 15s
CI / Tests (Python 3.12) (push) Successful in 29s
CI / Tests (Python 3.13) (push) Successful in 28s
CI / Tests (Python 3.14) (push) Successful in 27s
CI / Type Checking (push) Successful in 25s
CI / Spelling (push) Successful in 15s

This commit is contained in:
2026-03-03 19:29:23 -05:00
parent 4de187ba6c
commit 84b057a400
17 changed files with 1930 additions and 2 deletions
@@ -0,0 +1,30 @@
{% extends "base.html" %}
{% block title %}{{ title or "Clip #" ~ clip_id }}{% endblock %}
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ list_url }}">Clips</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ title or "Clip #" ~ clip_id }}</li>
</ol>
</nav>
<h1 class="mb-3">{{ title or "Clip #" ~ clip_id }}</h1>
<div class="text-body-secondary mb-3">
<p>Created by <strong>{{ creator }}</strong> on <time datetime="{{ created_at }}">{{ created_at }}</time></p>
</div>
<video class="w-100 rounded" controls preload="metadata">
<source src="{{ video_url }}" type="video/mp4">
Your browser does not support the video tag.
</video>
{% endblock %}
{% block scripts %}
<script>
document.querySelectorAll("time[datetime]").forEach(function(el) {
var d = new Date(el.getAttribute("datetime"));
var month = d.toLocaleString(undefined, { month: "long" });
var day = d.getDate();
var year = d.getFullYear();
var time = d.toLocaleString(undefined, { hour: "2-digit", minute: "2-digit" });
el.textContent = month + " " + day + ", " + year + " at " + time;
});
</script>
{% endblock %}