--- layout: layouts/base.njk title: YouTube Channels permalink: /youtube/ withSidebar: true ---

YouTube Channels

Latest videos and live streams from my YouTube channels.

{# Multi-channel tabs #} {% if youtubeChannel.isMultiChannel and youtubeChannel.channels.length > 1 %}
{% for channel in youtubeChannel.channels %} {% endfor %}
{% endif %} {# Channel sections #} {% for channel in youtubeChannel.channels %}
{# Channel Header #}
{% if channel.thumbnail %} {% else %}
{% endif %}

{{ channel.title }}

{% if channel.customUrl %}

{{ channel.customUrl }}

{% endif %}
{{ channel.subscriberCountFormatted }} subscribers {{ channel.videoCountFormatted }} videos {{ channel.viewCountFormatted }} views
{# Live Status Badge for this channel #} {% set channelLiveStatus = youtubeChannel.liveStatuses | selectattr("channelConfigName", "equalto", channel.configName) | first %}
{% if channelLiveStatus and channelLiveStatus.isLive %} LIVE {% elif channelLiveStatus and channelLiveStatus.isUpcoming %} Upcoming {% else %} Offline {% endif %}
{# Live Stream Section for this channel #} {% set channelLiveStatus = youtubeChannel.liveStatuses | selectattr("channelConfigName", "equalto", channel.configName) | first %} {% if channelLiveStatus and channelLiveStatus.stream and (channelLiveStatus.isLive or channelLiveStatus.isUpcoming) %}

{% if channelLiveStatus.isLive %} Live Now {% else %} Upcoming Stream {% endif %}

{% if channelLiveStatus.stream.thumbnail %} {% endif %}

{{ channelLiveStatus.stream.title }}

Watch Now

{% if channelLiveStatus.isLive %}
LIVE
{% endif %}
{% endif %} {# Videos Grid for this channel #}

Latest Videos

{% set channelName = channel.configName or channel.title %} {% set channelVideos = youtubeChannel.videosByChannel[channelName] %} {% if channelVideos and channelVideos.length %} {% else %}

No videos available yet.

{% endif %}
{% endfor %} {# Fallback for no channels #} {% if not youtubeChannel.channels.length %}

No YouTube channels configured.

{% endif %}