141 lines
No EOL
4.6 KiB
ReStructuredText
141 lines
No EOL
4.6 KiB
ReStructuredText
Initial Subscription
|
|
====================
|
|
|
|
Your first subscription file should look something like this:
|
|
|
|
.. code-block:: yaml
|
|
:linenos:
|
|
|
|
__preset__:
|
|
overrides:
|
|
tv_show_directory: "/tv_shows"
|
|
music_directory: "/music"
|
|
|
|
# Can choose between:
|
|
# - Plex TV Show by Date:
|
|
# - Jellyfin TV Show by Date:
|
|
# - Kodi TV Show by Date:
|
|
#
|
|
Jellyfin TV Show by Date:
|
|
= Documentaries:
|
|
"NOVA PBS": "https://www.youtube.com/@novapbs"
|
|
|
|
= Kids | = TV-Y:
|
|
"Jake Trains": "https://www.youtube.com/@JakeTrains"
|
|
|
|
YouTube Releases:
|
|
= Jazz: # Sets genre tag to "Jazz"
|
|
"Thelonious Monk": "https://www.youtube.com/@theloniousmonk3870/releases"
|
|
|
|
YouTube Full Albums:
|
|
= Lofi:
|
|
"Game Chops": "https://www.youtube.com/playlist?list=PLBsm_SagFMmdWnCnrNtLjA9kzfrRkto4i"
|
|
|
|
Let's break this down:
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 1
|
|
|
|
__preset__:
|
|
overrides:
|
|
tv_show_directory: "/tv_shows"
|
|
music_directory: "/music"
|
|
|
|
|
|
The first :ref:`__preset__ <config_reference/subscription_yaml:File Preset>` section is where we
|
|
can set modifications that apply to every subscription in this file.
|
|
|
|
This snippet specifically adds two :ref:`override <config_reference/plugins:Overrides>` variables,
|
|
which are used by the presets below.
|
|
|
|
.. note::
|
|
It is tempting to put any override underneath ``overrides``. Keep in mind that this section
|
|
is solely for variable defining. Other :ref:`plugins <config_reference/plugins:Plugins>` need to be
|
|
set at the same indentation level as ``overrides``, not within it.
|
|
|
|
|
|
-------------------------------------
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 6
|
|
|
|
# Can choose between:
|
|
# - Plex TV Show by Date:
|
|
# - Jellyfin TV Show by Date:
|
|
# - Kodi TV Show by Date:
|
|
#
|
|
|
|
Lines 6-10 are comments that get ignored when parsing YAML since they are prefixed with ``#``.
|
|
It is good practice to leave informative comments in your config or subscription files to remind
|
|
yourself of various things.
|
|
|
|
-------------------------------------
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 11
|
|
|
|
Jellyfin TV Show by Date:
|
|
|
|
On line 11, we set the key to ``Jellyfin TV Show by Date``. This is a
|
|
:ref:`prebuilt preset <prebuilt_presets/index:prebuilt presets>` that configures
|
|
subscriptions to look like TV shows in the Jellyfin media player (can be changed to
|
|
one of the presets outlined in the comment above). Setting it as a YAML key implies that all
|
|
subscriptions underneath it will *inherit* this preset.
|
|
|
|
This preset expects the variable ``tv_show_directory`` to be set, which we do above.
|
|
|
|
-------------------------------------
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 11
|
|
|
|
Jellyfin TV Show by Date:
|
|
= Documentaries:
|
|
|
|
Line 12 sets the key to ``= Documentaries``. When keys are prefixed with ``=``, it means we are
|
|
setting the genre. This value will get written to the respective metadata tags for both TV show
|
|
and music presets.
|
|
|
|
Behind the scenes, this sets the override variable ``subscription_indent_1``. Further documentation
|
|
can be found here for
|
|
:ref:`subscription syntax <config_reference/subscription_yaml:Subscription File>` and
|
|
:ref:`subscription variables <config_reference/scripting/static_variables:Subscription Variables>`.
|
|
|
|
-------------------------------------
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 11
|
|
|
|
Jellyfin TV Show by Date:
|
|
= Documentaries:
|
|
"NOVA PBS": "https://www.youtube.com/@novapbs"
|
|
|
|
Line 13 is where we define our first subscription. We set the subscription name to ``NOVA PBS``,
|
|
and the subscription value to ``https://www.youtube.com/@novapbs``.
|
|
|
|
To see how presets ingest subscription definitions, refer to the
|
|
:ref:`preset references <config_reference/prebuilt_presets/tv_show:TV Show>`,
|
|
we can see that ``{subscription_name}`` is used to set the ``tv_show_name`` variable.
|
|
|
|
-------------------------------------
|
|
|
|
.. code-block:: yaml
|
|
:lineno-start: 11
|
|
|
|
Jellyfin TV Show by Date:
|
|
= Documentaries:
|
|
"NOVA PBS": "https://www.youtube.com/@novapbs"
|
|
|
|
= Kids | = TV-Y:
|
|
"Jake Trains": "https://www.youtube.com/@JakeTrains"
|
|
|
|
Line 15 underneath ``Jellyfin TV Show by Date``, but at the same level as ``= Documentaries``.
|
|
This means we'll inherit the TV show preset, but not the documentaries indent variable. We instead
|
|
set the indent variables to ``= Kids | = TV-Y``. This sets two indent variables. We can set
|
|
multiple presets and/or indent variables on the same key by using ``|`` as a separator.
|
|
|
|
Referring to the
|
|
:ref:`TV show preset reference <config_reference/prebuilt_presets/tv_show:TV Show>`, the first
|
|
two indent variables map to the TV show genre and TV show content rating.
|
|
|
|
The above info should be enough to understand the rest of the subscription file. |