Ich versuche zu verstehen, wie das Konzept der „Shows“ funktioniert.
Jede Episode kann einer Show zugeordnet sein. Aber nur eine. Jede Show hat ihren eigenen Feed (bzw. mehrere: m4a, mp3, usw.)
Kann ich:
auf den Episoden Seiten den Namen der Show mit anzeigen?
Den Namen der Show mit in den Episoden Titel nehmen?
alle Episoden zu einer Show anzeigen?
alle Feeds zu einer Show anzeigen?
eine (halb)automatisch generierte Seite pro Show haben? Samt subscribe Button?
eine Liste aller Shows haben
auf die Show Episoden Episoden Template zugreifen?
schaarsen
(Jörn Schaar)
3. März 2021 um 06:22
3
Das geht über die Podlove-Templates. Nicht ganz leicht zu verstehen, aber sehr mächtig. Grundlagen stehen auf joernschaar.de in einem inzwischen achtteiligen Tutorial. Zu den Shows steht da noch nicht viel, aber wenn Du die Grundlagen verstehst, kannst Du das leicht bauen. Bei Fragen helfe ich gern weiter.
4 „Gefällt mir“
Hey Danke! Da hast Du dir ja echt Arbeit mit dem Tutorial gemacht. Mit {% for show in podcast.shows %}
und der Dokumentation unter https://docs.podlove.org/podlove-publisher/reference/template-tags komme ich schon deutlich weiter.
1 „Gefällt mir“
schaarsen
(Jörn Schaar)
3. März 2021 um 13:22
5
Ich hab im Wesentlichen meinen eigenen Lernfortschritt dokumentiert. Viel. Paß mit den Templates.
1 „Gefällt mir“
Ein Template, dass die Shows auflistet sieht dann etwa so aus:
{% for show in podcast.shows %}
<div class="podcast_show" id="{{show.slug}}">
<h3>
<div class="subscribe">
{{ podcast.subscribeButton({format: 'cover', style: 'outline', size: 'small', show: show.slug}) }}
</div>
<a href="/show/{{show.slug}}/">{{ show.title}}</a>
</h3>
<div class="subtitle">{{show.subtitle}}</div>
<p class="summary">{{show.summary}}</p>
{% set episodes = [] %}
{% for episode in podcast.episodes %}
{% if episode.show.slug == show.slug %}
{% set episodes = episodes|merge([episode]) %}
{% endif %}
{% endfor %}
{% if episodes|length > 0 %}
<table>
<thead>
<th></th>
<th>Date</th>
<th>Title</th>
<th>Duration</th>
</thead>
<tbody>
{% for episode in episodes %}
<tr class="podcast_archive_element">
<td class="thumbnail">
{{ episode.image({fallback: true}).html({width: 64, height: 64}) }}
</td>
<td class="date">
<span class="release_date">
{{ episode.publicationDate }}
</span>
</td>
<td class="title">
<a href="{{ episode.url }}">
<strong>{{ episode.title }}</strong><br>
{{ episode.subtitle }}
</a>
</td>
<td class="duration">
{% set duration = episode.duration %}
{{ duration.hours }}:{{ duration.minutes|padLeft("0",2) }}:{{ duration.seconds|padLeft("0",2) }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p><em>Noch keine Folge erschienen.</em></p>
{% endif %}
</div>
{% endfor %}
{# Der Code für die Tabelle stammt aus include '@core/shortcode/episode-list.twig' #}
<style type="text/css">
.podcast_show {
padding-bottom: 3em;
}
.podcast_show h3 a {
color: #222;
text-decoration: none;
}
.podcast_show .subscribe {
float: right;
}
.podcast_show .subtitle {
font-weight: bold;
}
.podcast_show .summary {
font-size: 100%;
}
.podcast_archive_element .thumbnail {
width: 64px;
padding: 5px !important;
}
.podcast_archive_element td {
vertical-align: top;
}
</style>
Dann eine Seite erstellen, in der man das entsprechne Template nutzt: [podlove-template template="Shows"]
.
Das Ergebnis ist dann unter http://audio.antiberg.de/show/ zu bewundern.
4 „Gefällt mir“
Raumwelle
(Sascha Markmann [LautFunk])
5. März 2021 um 20:04
7
vielen lieben dank @mdornseif