* docs(docker): Clarify where the configuration is The docs move from installation with Docker straight to modifying the configuration without detailing where those files are. * docs(start): Defining comments is discracting This one is squarely me with my editor's red pen, do what you will. I whole heartedly agree with this statement about comments and the intention (I assume) to encourage new users to comment their configurations early and often. I just think this isn't the right place for it and makes this document less focused and effective. * docs(start): Less technical YAML key description * docs(intro): Update and clarify goals/motivation To help calibrate our collaboration, I went uninhibited with these changes including: - assumptions about history I don't actually know: "this project was one of the early entrants" - description of the yt-dlp/ytdl-sub division of labor I'm not actually certain about - max opinion, both about this project and the domain in general - max cheeky/fun writing tone, with the intention of being personable - max editor's red pen, cut mercilessly IOW, review carefully and reject early and often to help me submit future changes that require less review and revision. To that end, give me more rather than less feedback on this change in particular. I include an endorsement of Pinchflat because [they do the same for ytdl-sub](https://github.com/kieraneglin/pinchflat?tab=readme-ov-file#what-it-does). It would be my next choice if ytdl-sub couldn't meet my needs or vanquished me. More than that link, in other Reddit comments and the like, the Pinchflat author clearly expresses preference for ytdl-sub as their own "next option".
126 lines
4.2 KiB
ReStructuredText
126 lines
4.2 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: 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.
|