{% extends "base.html" %} {% block title %}Content library · LibreSignage{% endblock %} {% block head %} {% if has_processing %} {% endif %} {% endblock %} {% block content %}

Content library

Add images, video, PDFs, text, clocks, web pages, and RSS feeds.

Recycle bin Create from template Manage playlists

Add content

Display profile: {% if selected_screen %}{{ selected_screen[1].resolution_label }} · {{ selected_screen[1].orientation }}{% endif %}
{% for folder in folders %}
Separate up to 10 tags with commas.
After this date, the asset is retained but automatically skipped in playback.

Bulk actions

{% if items %}
{% for item in items %} {% set item_usage = usage[item.id] %}
{{ item.display_kind|upper }}

{{ item.title }}

{{ item.duration_seconds }} seconds {% if item.filename %} · uploaded file{% endif %} {% if item.template_slug %} · {{ item.template_slug }}{% endif %} {% if item.widget_type %} · {{ item.source }}{% endif %}
{% if item.processing_status in ("pending", "processing") %} Video processing… {{ item.processing_progress }}% {% elif item.processing_status == "failed" %} Conversion failed {% endif %} {% if item.processing_status == "cancelled" %}Cancelled{% endif %} {% if item.folder %} {{ item.folder }} {% endif %} {% for tag in item.tag_list %} {{ tag }} {% endfor %} {% if item.expired %} Expired {{ item.expires_on }} {% elif item.expires_on %} Expires {{ item.expires_on }} {% endif %} Used in {{ item_usage.playlist_count }} {{ "playlist" if item_usage.playlist_count == 1 else "playlists" }}
Edit / replace Usage {% if item.processing_status in ('pending', 'processing') %}
{% elif item.processing_status in ('failed', 'cancelled') and item.kind == 'video' %}
{% endif %}
{% if item_usage.playlist_count %}
{% endif %}
{% endfor %}
{% else %}

The library is empty

{% if query or selected_folder %} No assets match these filters. {% else %} Add content, then arrange it in a playlist. {% endif %}

{% endif %}
{% endblock %} {% block scripts %} {% if has_processing %}{% endif %} {% endblock %}