12 lines
601 B
HTML
12 lines
601 B
HTML
<div id="plugins" class="panel">
|
|
<div class="muted small">plugins load from <span class="mono">app/plugins/</span> — each module exposes a <span class="mono">Plugin</span> instance</div>
|
|
{% for item in items %}
|
|
<div class="plugin-card">
|
|
<h3>{{ item.p.title }}</h3>
|
|
<p class="muted small">{{ item.p.description }}</p>
|
|
<div class="plugin-body" hx-get="/api/plugins/{{ item.p.id }}/fragment" hx-trigger="every {{ item.p.poll_seconds }}s" hx-swap="innerHTML">{{ item.frag | safe }}</div>
|
|
</div>
|
|
{% else %}
|
|
<div class="muted">no plugins registered</div>
|
|
{% endfor %}
|
|
</div>
|