diff --git a/docs/home/guides/task-scheduler/02-open-task-scheduler.png b/docs/assets/02-open-task-scheduler.png
similarity index 100%
rename from docs/home/guides/task-scheduler/02-open-task-scheduler.png
rename to docs/assets/02-open-task-scheduler.png
diff --git a/docs/home/guides/task-scheduler/03-task-scheduler-main.png b/docs/assets/03-task-scheduler-main.png
similarity index 100%
rename from docs/home/guides/task-scheduler/03-task-scheduler-main.png
rename to docs/assets/03-task-scheduler-main.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-01.png b/docs/assets/04-basic-task-01.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-01.png
rename to docs/assets/04-basic-task-01.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-02.png b/docs/assets/04-basic-task-02.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-02.png
rename to docs/assets/04-basic-task-02.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-03.png b/docs/assets/04-basic-task-03.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-03.png
rename to docs/assets/04-basic-task-03.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-04.png b/docs/assets/04-basic-task-04.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-04.png
rename to docs/assets/04-basic-task-04.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-05.png b/docs/assets/04-basic-task-05.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-05.png
rename to docs/assets/04-basic-task-05.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-06.png b/docs/assets/04-basic-task-06.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-06.png
rename to docs/assets/04-basic-task-06.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-07.png b/docs/assets/04-basic-task-07.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-07.png
rename to docs/assets/04-basic-task-07.png
diff --git a/docs/home/guides/task-scheduler/04-basic-task-09.png b/docs/assets/04-basic-task-09.png
similarity index 100%
rename from docs/home/guides/task-scheduler/04-basic-task-09.png
rename to docs/assets/04-basic-task-09.png
diff --git a/docs/home/guides/task-scheduler/06-basic-task-02.png b/docs/assets/06-basic-task-02.png
similarity index 100%
rename from docs/home/guides/task-scheduler/06-basic-task-02.png
rename to docs/assets/06-basic-task-02.png
diff --git a/docs/home/guides/task-scheduler/06-basic-task-03.png b/docs/assets/06-basic-task-03.png
similarity index 100%
rename from docs/home/guides/task-scheduler/06-basic-task-03.png
rename to docs/assets/06-basic-task-03.png
diff --git a/docs/home/guides/task-scheduler/06-basic-task-04.png b/docs/assets/06-basic-task-04.png
similarity index 100%
rename from docs/home/guides/task-scheduler/06-basic-task-04.png
rename to docs/assets/06-basic-task-04.png
diff --git a/docs/home/guides/task-scheduler/06-basic-task-05.png b/docs/assets/06-basic-task-05.png
similarity index 100%
rename from docs/home/guides/task-scheduler/06-basic-task-05.png
rename to docs/assets/06-basic-task-05.png
diff --git a/docs/home/guides/task-scheduler/06-basic-task-06.png b/docs/assets/06-basic-task-06.png
similarity index 100%
rename from docs/home/guides/task-scheduler/06-basic-task-06.png
rename to docs/assets/06-basic-task-06.png
diff --git a/docs/404.gif b/docs/assets/404.gif
similarity index 100%
rename from docs/404.gif
rename to docs/assets/404.gif
diff --git a/docs/assets/anidb-1.png b/docs/assets/anidb-1.png
new file mode 100644
index 00000000..8ee0c11d
Binary files /dev/null and b/docs/assets/anidb-1.png differ
diff --git a/docs/assets/anidb-2.png b/docs/assets/anidb-2.png
new file mode 100644
index 00000000..2d9afd4e
Binary files /dev/null and b/docs/assets/anidb-2.png differ
diff --git a/docs/assets/anidb-3.png b/docs/assets/anidb-3.png
new file mode 100644
index 00000000..0d337930
Binary files /dev/null and b/docs/assets/anidb-3.png differ
diff --git a/docs/assets/anilist.png b/docs/assets/anilist.png
new file mode 100644
index 00000000..c815f606
Binary files /dev/null and b/docs/assets/anilist.png differ
diff --git a/docs/assets/audio_codec.png b/docs/assets/audio_codec.png
new file mode 100644
index 00000000..bef5aa7a
Binary files /dev/null and b/docs/assets/audio_codec.png differ
diff --git a/docs/assets/audio_codec2.png b/docs/assets/audio_codec2.png
new file mode 100644
index 00000000..b936c6dc
Binary files /dev/null and b/docs/assets/audio_codec2.png differ
diff --git a/docs/assets/audio_language.png b/docs/assets/audio_language.png
new file mode 100644
index 00000000..8970881a
Binary files /dev/null and b/docs/assets/audio_language.png differ
diff --git a/docs/assets/awardother.png b/docs/assets/awardother.png
new file mode 100644
index 00000000..c01675dc
Binary files /dev/null and b/docs/assets/awardother.png differ
diff --git a/docs/assets/awardseparator.png b/docs/assets/awardseparator.png
new file mode 100644
index 00000000..c577e0ea
Binary files /dev/null and b/docs/assets/awardseparator.png differ
diff --git a/docs/assets/bafta.png b/docs/assets/bafta.png
new file mode 100644
index 00000000..6f601349
Binary files /dev/null and b/docs/assets/bafta.png differ
diff --git a/docs/assets/based.png b/docs/assets/based.png
new file mode 100644
index 00000000..bd2bcddb
Binary files /dev/null and b/docs/assets/based.png differ
diff --git a/docs/assets/basic.png b/docs/assets/basic.png
new file mode 100644
index 00000000..331f4400
Binary files /dev/null and b/docs/assets/basic.png differ
diff --git a/docs/assets/blur.png b/docs/assets/blur.png
new file mode 100644
index 00000000..9defcfb7
Binary files /dev/null and b/docs/assets/blur.png differ
diff --git a/docs/assets/cannes.png b/docs/assets/cannes.png
new file mode 100644
index 00000000..29d47ec2
Binary files /dev/null and b/docs/assets/cannes.png differ
diff --git a/docs/assets/chartother.png b/docs/assets/chartother.png
new file mode 100644
index 00000000..546110cb
Binary files /dev/null and b/docs/assets/chartother.png differ
diff --git a/docs/assets/chartseparator.png b/docs/assets/chartseparator.png
new file mode 100644
index 00000000..41fd17d9
Binary files /dev/null and b/docs/assets/chartseparator.png differ
diff --git a/docs/assets/choice.png b/docs/assets/choice.png
new file mode 100644
index 00000000..8ee67052
Binary files /dev/null and b/docs/assets/choice.png differ
diff --git a/docs/home/scripts/cleanup.png b/docs/assets/cleanup.png
similarity index 100%
rename from docs/home/scripts/cleanup.png
rename to docs/assets/cleanup.png
diff --git a/docs/assets/collectionless.png b/docs/assets/collectionless.png
new file mode 100644
index 00000000..7e3866c9
Binary files /dev/null and b/docs/assets/collectionless.png differ
diff --git a/docs/assets/commonsense.png b/docs/assets/commonsense.png
new file mode 100644
index 00000000..1db37960
Binary files /dev/null and b/docs/assets/commonsense.png differ
diff --git a/docs/assets/content_rating_cs.png b/docs/assets/content_rating_cs.png
new file mode 100644
index 00000000..6e1bccb1
Binary files /dev/null and b/docs/assets/content_rating_cs.png differ
diff --git a/docs/assets/content_rating_mal.png b/docs/assets/content_rating_mal.png
new file mode 100644
index 00000000..3248ca88
Binary files /dev/null and b/docs/assets/content_rating_mal.png differ
diff --git a/docs/assets/content_rating_uk.png b/docs/assets/content_rating_uk.png
new file mode 100644
index 00000000..bd4766d0
Binary files /dev/null and b/docs/assets/content_rating_uk.png differ
diff --git a/docs/assets/content_rating_uk1.png b/docs/assets/content_rating_uk1.png
new file mode 100644
index 00000000..29f6dcd1
Binary files /dev/null and b/docs/assets/content_rating_uk1.png differ
diff --git a/docs/assets/content_rating_us_movie.png b/docs/assets/content_rating_us_movie.png
new file mode 100644
index 00000000..436d646a
Binary files /dev/null and b/docs/assets/content_rating_us_movie.png differ
diff --git a/docs/assets/content_rating_us_show.png b/docs/assets/content_rating_us_show.png
new file mode 100644
index 00000000..8a4ba85f
Binary files /dev/null and b/docs/assets/content_rating_us_show.png differ
diff --git a/docs/assets/country1.png b/docs/assets/country1.png
new file mode 100644
index 00000000..31f67ff5
Binary files /dev/null and b/docs/assets/country1.png differ
diff --git a/docs/assets/country2.png b/docs/assets/country2.png
new file mode 100644
index 00000000..d011fadd
Binary files /dev/null and b/docs/assets/country2.png differ
diff --git a/docs/assets/decade.png b/docs/assets/decade.png
new file mode 100644
index 00000000..207e408b
Binary files /dev/null and b/docs/assets/decade.png differ
diff --git a/docs/home/guides/default-collections.png b/docs/assets/default-collections.png
similarity index 100%
rename from docs/home/guides/default-collections.png
rename to docs/assets/default-collections.png
diff --git a/docs/assets/direct_play.png b/docs/assets/direct_play.png
new file mode 100644
index 00000000..cfb54650
Binary files /dev/null and b/docs/assets/direct_play.png differ
diff --git a/docs/home/guides/synology/dsm6-01.png b/docs/assets/dsm6-01.png
similarity index 100%
rename from docs/home/guides/synology/dsm6-01.png
rename to docs/assets/dsm6-01.png
diff --git a/docs/home/guides/synology/dsm6-02.png b/docs/assets/dsm6-02.png
similarity index 100%
rename from docs/home/guides/synology/dsm6-02.png
rename to docs/assets/dsm6-02.png
diff --git a/docs/home/guides/synology/dsm6-03.png b/docs/assets/dsm6-03.png
similarity index 100%
rename from docs/home/guides/synology/dsm6-03.png
rename to docs/assets/dsm6-03.png
diff --git a/docs/home/guides/synology/dsm6-04.png b/docs/assets/dsm6-04.png
similarity index 100%
rename from docs/home/guides/synology/dsm6-04.png
rename to docs/assets/dsm6-04.png
diff --git a/docs/home/guides/synology/dsm6-05.png b/docs/assets/dsm6-05.png
similarity index 100%
rename from docs/home/guides/synology/dsm6-05.png
rename to docs/assets/dsm6-05.png
diff --git a/docs/home/guides/synology/dsm7-01.png b/docs/assets/dsm7-01.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-01.png
rename to docs/assets/dsm7-01.png
diff --git a/docs/home/guides/synology/dsm7-02.png b/docs/assets/dsm7-02.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-02.png
rename to docs/assets/dsm7-02.png
diff --git a/docs/home/guides/synology/dsm7-03.png b/docs/assets/dsm7-03.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-03.png
rename to docs/assets/dsm7-03.png
diff --git a/docs/home/guides/synology/dsm7-04.png b/docs/assets/dsm7-04.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-04.png
rename to docs/assets/dsm7-04.png
diff --git a/docs/home/guides/synology/dsm7-05.png b/docs/assets/dsm7-05.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-05.png
rename to docs/assets/dsm7-05.png
diff --git a/docs/home/guides/synology/dsm7-06.png b/docs/assets/dsm7-06.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-06.png
rename to docs/assets/dsm7-06.png
diff --git a/docs/home/guides/synology/dsm7-07.png b/docs/assets/dsm7-07.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-07.png
rename to docs/assets/dsm7-07.png
diff --git a/docs/home/guides/synology/dsm7-08.png b/docs/assets/dsm7-08.png
similarity index 100%
rename from docs/home/guides/synology/dsm7-08.png
rename to docs/assets/dsm7-08.png
diff --git a/docs/assets/emmy.png b/docs/assets/emmy.png
new file mode 100644
index 00000000..a14cdaa2
Binary files /dev/null and b/docs/assets/emmy.png differ
diff --git a/docs/assets/episode_info.png b/docs/assets/episode_info.png
new file mode 100644
index 00000000..661600d2
Binary files /dev/null and b/docs/assets/episode_info.png differ
diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png
new file mode 100644
index 00000000..947d8f39
Binary files /dev/null and b/docs/assets/favicon.png differ
diff --git a/docs/home/guides/finished.png b/docs/assets/finished.png
similarity index 100%
rename from docs/home/guides/finished.png
rename to docs/assets/finished.png
diff --git a/docs/assets/flixpatrol.png b/docs/assets/flixpatrol.png
new file mode 100644
index 00000000..c52715b3
Binary files /dev/null and b/docs/assets/flixpatrol.png differ
diff --git a/docs/assets/flixpatrol1.png b/docs/assets/flixpatrol1.png
new file mode 100644
index 00000000..0f4f8085
Binary files /dev/null and b/docs/assets/flixpatrol1.png differ
diff --git a/docs/assets/genre.png b/docs/assets/genre.png
new file mode 100644
index 00000000..dd4b7031
Binary files /dev/null and b/docs/assets/genre.png differ
diff --git a/docs/home/guides/git-install.png b/docs/assets/git-install.png
similarity index 100%
rename from docs/home/guides/git-install.png
rename to docs/assets/git-install.png
diff --git a/docs/assets/golden.png b/docs/assets/golden.png
new file mode 100644
index 00000000..9799fea8
Binary files /dev/null and b/docs/assets/golden.png differ
diff --git a/docs/assets/icon.png b/docs/assets/icon.png
new file mode 100644
index 00000000..2fe13596
Binary files /dev/null and b/docs/assets/icon.png differ
diff --git a/docs/assets/imdb.png b/docs/assets/imdb.png
new file mode 100644
index 00000000..e6009874
Binary files /dev/null and b/docs/assets/imdb.png differ
diff --git a/docs/assets/language.png b/docs/assets/language.png
new file mode 100644
index 00000000..136cfdfd
Binary files /dev/null and b/docs/assets/language.png differ
diff --git a/docs/assets/language2.png b/docs/assets/language2.png
new file mode 100644
index 00000000..1a0dff6f
Binary files /dev/null and b/docs/assets/language2.png differ
diff --git a/docs/assets/language3.png b/docs/assets/language3.png
new file mode 100644
index 00000000..0fb66b3e
Binary files /dev/null and b/docs/assets/language3.png differ
diff --git a/docs/assets/language_count.png b/docs/assets/language_count.png
new file mode 100644
index 00000000..1b647273
Binary files /dev/null and b/docs/assets/language_count.png differ
diff --git a/docs/assets/localhost-fail.png b/docs/assets/localhost-fail.png
new file mode 100644
index 00000000..7dea6723
Binary files /dev/null and b/docs/assets/localhost-fail.png differ
diff --git a/docs/assets/logo-dark.png b/docs/assets/logo-dark.png
new file mode 100644
index 00000000..7407243f
Binary files /dev/null and b/docs/assets/logo-dark.png differ
diff --git a/docs/assets/logo-full.webp b/docs/assets/logo-full.webp
new file mode 100644
index 00000000..4dd9ed0f
Binary files /dev/null and b/docs/assets/logo-full.webp differ
diff --git a/docs/assets/logo.png b/docs/assets/logo.png
new file mode 100644
index 00000000..ec05ba24
Binary files /dev/null and b/docs/assets/logo.png differ
diff --git a/docs/assets/logomark.png b/docs/assets/logomark.png
new file mode 100644
index 00000000..cf03a804
Binary files /dev/null and b/docs/assets/logomark.png differ
diff --git a/docs/assets/mal.png b/docs/assets/mal.png
new file mode 100644
index 00000000..68e52f4f
Binary files /dev/null and b/docs/assets/mal.png differ
diff --git a/docs/assets/mediastinger.png b/docs/assets/mediastinger.png
new file mode 100644
index 00000000..3e62b05e
Binary files /dev/null and b/docs/assets/mediastinger.png differ
diff --git a/docs/home/movie-collection-preview.png b/docs/assets/movie-collection-preview.png
similarity index 100%
rename from docs/home/movie-collection-preview.png
rename to docs/assets/movie-collection-preview.png
diff --git a/docs/home/movie-library-preview.png b/docs/assets/movie-library-preview.png
similarity index 100%
rename from docs/home/movie-library-preview.png
rename to docs/assets/movie-library-preview.png
diff --git a/docs/assets/movie-overlays1-annotated.png b/docs/assets/movie-overlays1-annotated.png
new file mode 100644
index 00000000..cde942d4
Binary files /dev/null and b/docs/assets/movie-overlays1-annotated.png differ
diff --git a/docs/assets/movie-overlays2-annotated.png b/docs/assets/movie-overlays2-annotated.png
new file mode 100644
index 00000000..ed3753a9
Binary files /dev/null and b/docs/assets/movie-overlays2-annotated.png differ
diff --git a/docs/assets/moviecontent_rating_us.png b/docs/assets/moviecontent_rating_us.png
new file mode 100644
index 00000000..e1252c0f
Binary files /dev/null and b/docs/assets/moviecontent_rating_us.png differ
diff --git a/docs/assets/moviefranchise.png b/docs/assets/moviefranchise.png
new file mode 100644
index 00000000..ab86dc7e
Binary files /dev/null and b/docs/assets/moviefranchise.png differ
diff --git a/docs/assets/myanimelist.png b/docs/assets/myanimelist.png
new file mode 100644
index 00000000..70575ef0
Binary files /dev/null and b/docs/assets/myanimelist.png differ
diff --git a/docs/assets/network.png b/docs/assets/network.png
new file mode 100644
index 00000000..76a17e5c
Binary files /dev/null and b/docs/assets/network.png differ
diff --git a/docs/assets/network1.png b/docs/assets/network1.png
new file mode 100644
index 00000000..80be0796
Binary files /dev/null and b/docs/assets/network1.png differ
diff --git a/docs/assets/oscars.png b/docs/assets/oscars.png
new file mode 100644
index 00000000..25374728
Binary files /dev/null and b/docs/assets/oscars.png differ
diff --git a/docs/home/guides/overlays.png b/docs/assets/overlays.png
similarity index 100%
rename from docs/home/guides/overlays.png
rename to docs/assets/overlays.png
diff --git a/docs/assets/person_bw.png b/docs/assets/person_bw.png
new file mode 100644
index 00000000..f33aef77
Binary files /dev/null and b/docs/assets/person_bw.png differ
diff --git a/docs/assets/person_diiivoy.png b/docs/assets/person_diiivoy.png
new file mode 100644
index 00000000..5ee7c5c9
Binary files /dev/null and b/docs/assets/person_diiivoy.png differ
diff --git a/docs/assets/person_diiivoycolor.png b/docs/assets/person_diiivoycolor.png
new file mode 100644
index 00000000..7b35329c
Binary files /dev/null and b/docs/assets/person_diiivoycolor.png differ
diff --git a/docs/assets/person_rainier.png b/docs/assets/person_rainier.png
new file mode 100644
index 00000000..e460a28c
Binary files /dev/null and b/docs/assets/person_rainier.png differ
diff --git a/docs/assets/person_signature.png b/docs/assets/person_signature.png
new file mode 100644
index 00000000..e5c5842f
Binary files /dev/null and b/docs/assets/person_signature.png differ
diff --git a/docs/assets/playlist.png b/docs/assets/playlist.png
new file mode 100644
index 00000000..54222608
Binary files /dev/null and b/docs/assets/playlist.png differ
diff --git a/docs/home/guides/qnap/qnap1.png b/docs/assets/qnap1.png
similarity index 100%
rename from docs/home/guides/qnap/qnap1.png
rename to docs/assets/qnap1.png
diff --git a/docs/home/guides/qnap/qnap2.png b/docs/assets/qnap2.png
similarity index 100%
rename from docs/home/guides/qnap/qnap2.png
rename to docs/assets/qnap2.png
diff --git a/docs/home/guides/qnap/qnap3.png b/docs/assets/qnap3.png
similarity index 100%
rename from docs/home/guides/qnap/qnap3.png
rename to docs/assets/qnap3.png
diff --git a/docs/home/guides/qnap/qnap4.png b/docs/assets/qnap4.png
similarity index 100%
rename from docs/home/guides/qnap/qnap4.png
rename to docs/assets/qnap4.png
diff --git a/docs/home/guides/qnap/qnap5.png b/docs/assets/qnap5.png
similarity index 100%
rename from docs/home/guides/qnap/qnap5.png
rename to docs/assets/qnap5.png
diff --git a/docs/home/guides/qnap/qnap7.png b/docs/assets/qnap7.png
similarity index 100%
rename from docs/home/guides/qnap/qnap7.png
rename to docs/assets/qnap7.png
diff --git a/docs/assets/radarr.png b/docs/assets/radarr.png
new file mode 100644
index 00000000..f458edfc
Binary files /dev/null and b/docs/assets/radarr.png differ
diff --git a/docs/metadata/details/radarr.png b/docs/assets/radarr1.png
similarity index 100%
rename from docs/metadata/details/radarr.png
rename to docs/assets/radarr1.png
diff --git a/docs/home/guides/ratings/ratings-01.png b/docs/assets/ratings-01.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-01.png
rename to docs/assets/ratings-01.png
diff --git a/docs/home/guides/ratings/ratings-02.png b/docs/assets/ratings-02.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-02.png
rename to docs/assets/ratings-02.png
diff --git a/docs/home/guides/ratings/ratings-03.png b/docs/assets/ratings-03.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-03.png
rename to docs/assets/ratings-03.png
diff --git a/docs/home/guides/ratings/ratings-04.png b/docs/assets/ratings-04.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-04.png
rename to docs/assets/ratings-04.png
diff --git a/docs/home/guides/ratings/ratings-05.png b/docs/assets/ratings-05.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-05.png
rename to docs/assets/ratings-05.png
diff --git a/docs/home/guides/ratings/ratings-06.png b/docs/assets/ratings-06.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-06.png
rename to docs/assets/ratings-06.png
diff --git a/docs/home/guides/ratings/ratings-07.png b/docs/assets/ratings-07.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-07.png
rename to docs/assets/ratings-07.png
diff --git a/docs/home/guides/ratings/ratings-08.png b/docs/assets/ratings-08.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-08.png
rename to docs/assets/ratings-08.png
diff --git a/docs/home/guides/ratings/ratings-09.png b/docs/assets/ratings-09.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-09.png
rename to docs/assets/ratings-09.png
diff --git a/docs/home/guides/ratings/ratings-10.png b/docs/assets/ratings-10.png
similarity index 100%
rename from docs/home/guides/ratings/ratings-10.png
rename to docs/assets/ratings-10.png
diff --git a/docs/assets/ratings_operations.png b/docs/assets/ratings_operations.png
new file mode 100644
index 00000000..fe541c97
Binary files /dev/null and b/docs/assets/ratings_operations.png differ
diff --git a/docs/assets/ratings_overlay.png b/docs/assets/ratings_overlay.png
new file mode 100644
index 00000000..ca5f256b
Binary files /dev/null and b/docs/assets/ratings_overlay.png differ
diff --git a/docs/assets/ratings_overlay_path.png b/docs/assets/ratings_overlay_path.png
new file mode 100644
index 00000000..2ade4248
Binary files /dev/null and b/docs/assets/ratings_overlay_path.png differ
diff --git a/docs/assets/ratings_source.png b/docs/assets/ratings_source.png
new file mode 100644
index 00000000..0e84e4ec
Binary files /dev/null and b/docs/assets/ratings_source.png differ
diff --git a/docs/assets/ratings_spot.png b/docs/assets/ratings_spot.png
new file mode 100644
index 00000000..dc3c0cea
Binary files /dev/null and b/docs/assets/ratings_spot.png differ
diff --git a/docs/assets/resolution.png b/docs/assets/resolution.png
new file mode 100644
index 00000000..79c9d6a3
Binary files /dev/null and b/docs/assets/resolution.png differ
diff --git a/docs/assets/resolution1.png b/docs/assets/resolution1.png
new file mode 100644
index 00000000..efaef256
Binary files /dev/null and b/docs/assets/resolution1.png differ
diff --git a/docs/assets/resolution_standards.png b/docs/assets/resolution_standards.png
new file mode 100644
index 00000000..08c1dc7d
Binary files /dev/null and b/docs/assets/resolution_standards.png differ
diff --git a/docs/assets/ribbon.png b/docs/assets/ribbon.png
new file mode 100644
index 00000000..e16cdc9d
Binary files /dev/null and b/docs/assets/ribbon.png differ
diff --git a/docs/assets/runtimes.png b/docs/assets/runtimes.png
new file mode 100644
index 00000000..b376e18d
Binary files /dev/null and b/docs/assets/runtimes.png differ
diff --git a/docs/assets/seasonal.png b/docs/assets/seasonal.png
new file mode 100644
index 00000000..fa9624a4
Binary files /dev/null and b/docs/assets/seasonal.png differ
diff --git a/docs/home/guides/separators.jpg b/docs/assets/separators.jpg
similarity index 100%
rename from docs/home/guides/separators.jpg
rename to docs/assets/separators.jpg
diff --git a/docs/assets/separators2.jpg b/docs/assets/separators2.jpg
new file mode 100644
index 00000000..5bac8026
Binary files /dev/null and b/docs/assets/separators2.jpg differ
diff --git a/docs/home/show-collection-preview.png b/docs/assets/show-collection-preview.png
similarity index 100%
rename from docs/home/show-collection-preview.png
rename to docs/assets/show-collection-preview.png
diff --git a/docs/home/show-library-preview.png b/docs/assets/show-library-preview.png
similarity index 100%
rename from docs/home/show-library-preview.png
rename to docs/assets/show-library-preview.png
diff --git a/docs/assets/showfranchise.png b/docs/assets/showfranchise.png
new file mode 100644
index 00000000..3c198b9f
Binary files /dev/null and b/docs/assets/showfranchise.png differ
diff --git a/docs/assets/sonarr.png b/docs/assets/sonarr.png
new file mode 100644
index 00000000..f04376fc
Binary files /dev/null and b/docs/assets/sonarr.png differ
diff --git a/docs/metadata/details/sonarr.png b/docs/assets/sonarr1.png
similarity index 100%
rename from docs/metadata/details/sonarr.png
rename to docs/assets/sonarr1.png
diff --git a/docs/assets/spirit.png b/docs/assets/spirit.png
new file mode 100644
index 00000000..e1d1f80b
Binary files /dev/null and b/docs/assets/spirit.png differ
diff --git a/docs/assets/status.png b/docs/assets/status.png
new file mode 100644
index 00000000..62396933
Binary files /dev/null and b/docs/assets/status.png differ
diff --git a/docs/assets/streaming.png b/docs/assets/streaming.png
new file mode 100644
index 00000000..527dd3d3
Binary files /dev/null and b/docs/assets/streaming.png differ
diff --git a/docs/assets/streaming1.png b/docs/assets/streaming1.png
new file mode 100644
index 00000000..be99dc86
Binary files /dev/null and b/docs/assets/streaming1.png differ
diff --git a/docs/assets/studio.png b/docs/assets/studio.png
new file mode 100644
index 00000000..8ae3d4c9
Binary files /dev/null and b/docs/assets/studio.png differ
diff --git a/docs/assets/studio_anime.png b/docs/assets/studio_anime.png
new file mode 100644
index 00000000..daf69709
Binary files /dev/null and b/docs/assets/studio_anime.png differ
diff --git a/docs/assets/subtitle_language.png b/docs/assets/subtitle_language.png
new file mode 100644
index 00000000..2397282f
Binary files /dev/null and b/docs/assets/subtitle_language.png differ
diff --git a/docs/assets/sundance.png b/docs/assets/sundance.png
new file mode 100644
index 00000000..13b2dfb9
Binary files /dev/null and b/docs/assets/sundance.png differ
diff --git a/docs/home/guides/synology/synology-01.png b/docs/assets/synology-01.png
similarity index 100%
rename from docs/home/guides/synology/synology-01.png
rename to docs/assets/synology-01.png
diff --git a/docs/home/guides/synology/synology-02.png b/docs/assets/synology-02.png
similarity index 100%
rename from docs/home/guides/synology/synology-02.png
rename to docs/assets/synology-02.png
diff --git a/docs/home/guides/synology/synology-03.png b/docs/assets/synology-03.png
similarity index 100%
rename from docs/home/guides/synology/synology-03.png
rename to docs/assets/synology-03.png
diff --git a/docs/home/guides/synology/synology-04.png b/docs/assets/synology-04.png
similarity index 100%
rename from docs/home/guides/synology/synology-04.png
rename to docs/assets/synology-04.png
diff --git a/docs/home/guides/synology/synology-05.png b/docs/assets/synology-05.png
similarity index 100%
rename from docs/home/guides/synology/synology-05.png
rename to docs/assets/synology-05.png
diff --git a/docs/home/guides/synology/synology-06.png b/docs/assets/synology-06.png
similarity index 100%
rename from docs/home/guides/synology/synology-06.png
rename to docs/assets/synology-06.png
diff --git a/docs/assets/tautulli.png b/docs/assets/tautulli.png
new file mode 100644
index 00000000..24a9a9e9
Binary files /dev/null and b/docs/assets/tautulli.png differ
diff --git a/docs/assets/tmdb.png b/docs/assets/tmdb.png
new file mode 100644
index 00000000..b4fe3e70
Binary files /dev/null and b/docs/assets/tmdb.png differ
diff --git a/docs/assets/trakt.png b/docs/assets/trakt.png
new file mode 100644
index 00000000..6fc6bf60
Binary files /dev/null and b/docs/assets/trakt.png differ
diff --git a/docs/assets/trakt1.png b/docs/assets/trakt1.png
new file mode 100644
index 00000000..fa5aee41
Binary files /dev/null and b/docs/assets/trakt1.png differ
diff --git a/docs/assets/tvshow-poster-annotated.png b/docs/assets/tvshow-poster-annotated.png
new file mode 100644
index 00000000..e74602a0
Binary files /dev/null and b/docs/assets/tvshow-poster-annotated.png differ
diff --git a/docs/assets/tvshow-poster-episode-annotated.png b/docs/assets/tvshow-poster-episode-annotated.png
new file mode 100644
index 00000000..fed5cb6f
Binary files /dev/null and b/docs/assets/tvshow-poster-episode-annotated.png differ
diff --git a/docs/assets/tvshow-poster-season-annotated.png b/docs/assets/tvshow-poster-season-annotated.png
new file mode 100644
index 00000000..33db33de
Binary files /dev/null and b/docs/assets/tvshow-poster-season-annotated.png differ
diff --git a/docs/assets/universe.png b/docs/assets/universe.png
new file mode 100644
index 00000000..2b1f45ea
Binary files /dev/null and b/docs/assets/universe.png differ
diff --git a/docs/assets/version.png b/docs/assets/version.png
new file mode 100644
index 00000000..eef1cb86
Binary files /dev/null and b/docs/assets/version.png differ
diff --git a/docs/assets/video_format.png b/docs/assets/video_format.png
new file mode 100644
index 00000000..fe99e888
Binary files /dev/null and b/docs/assets/video_format.png differ
diff --git a/docs/assets/year.png b/docs/assets/year.png
new file mode 100644
index 00000000..69f9606d
Binary files /dev/null and b/docs/assets/year.png differ
diff --git a/docs/metadata/builders/anidb.md b/docs/builders/anidb.md
similarity index 100%
rename from docs/metadata/builders/anidb.md
rename to docs/builders/anidb.md
diff --git a/docs/metadata/builders/anilist.md b/docs/builders/anilist.md
similarity index 100%
rename from docs/metadata/builders/anilist.md
rename to docs/builders/anilist.md
diff --git a/docs/metadata/details/arr.md b/docs/builders/details/arr.md
similarity index 96%
rename from docs/metadata/details/arr.md
rename to docs/builders/details/arr.md
index d05e702d..e288ccfc 100644
--- a/docs/metadata/details/arr.md
+++ b/docs/builders/details/arr.md
@@ -2,7 +2,7 @@
## Radarr Definition Settings
-All the following attributes can override the global/library [Radarr](../../config/radarr) attributes which are the default unless otherwise specified.
+All the following attributes can override the global/library [Radarr](../../config/radarr.md) attributes which are the default unless otherwise specified.
| Attribute | Description & Values |
|:--------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -22,7 +22,7 @@ All the following attributes can override the global/library [Radarr](../../conf
## Sonarr Definition Settings
-All the following attributes can override the global/library [Sonarr](../../config/sonarr) attributes which are the default unless otherwise specified.
+All the following attributes can override the global/library [Sonarr](../../config/sonarr.md) attributes which are the default unless otherwise specified.
| Attribute | Description & Values |
|:--------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -56,7 +56,7 @@ When `radarr_add_missing`/`sonarr_add_missing` are true the items missing from t
When `radarr_add_existing`/`sonarr_add_existing` are true the items that exist in the collection/playlist will be added to Radarr/Sonarr.
-If your Radarr/Sonarr has different file system mappings from your plex use `radarr_path`/`sonarr_path` along with `plex_path` from your [Radarr](../../config/radarr)/[Sonarr](../../config/sonarr) global config settings.
+If your Radarr/Sonarr has different file system mappings from your plex use `radarr_path`/`sonarr_path` along with `plex_path` from your [Radarr](../../config/radarr.md)/[Sonarr](../../config/sonarr.md) global config settings.
### Radarr Add Details
diff --git a/docs/metadata/details/definition.md b/docs/builders/details/definition.md
similarity index 73%
rename from docs/metadata/details/definition.md
rename to docs/builders/details/definition.md
index 2407fb23..0afb6f1a 100644
--- a/docs/metadata/details/definition.md
+++ b/docs/builders/details/definition.md
@@ -1,37 +1,41 @@
+---
+search:
+ boost: 3
+---
# Definition Settings
All the following attributes serve various functions as how the definition functions inside of Plex Meta Manager.
-| Attribute | Description & Values |
-|:-----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `name` | **Description:** Used to specify the name of the definition in Plex as different than the mapping name. **Values:** Any String |
-| `limit` | **Description:** Used to specify the max number of items for the definition **Values:** Number greater than 0 |
-| `template` | **Description:** Used to specify a template and template variables to use for this definition. See the [Templates Page](../templates) for more information. **Values:** Dictionary |
-| `run_again` | **Description:** Used to try and add all the missing items to the definition again after the daily run. **Default:** `false` **Values:** `true` or `false` |
-| `sync_mode` | **Description:** Used to change how builders sync with this definition. **Default:** `sync_mode` [settings value](../../config/settings) in the Configuration File **Values:**
`append`
Only Add Items to the Collection
`sync`
Add & Remove Items from the Collection
|
-| `minimum_items` | **Description:** Minimum items that must be found to add to a definition. **Default:** `minimum_items` [settings value](../../config/settings) in the Configuration File **Values:** number greater than 0 |
-| `delete_below_minimum` | **Description:** Deletes the definition if below the minimum. **Default:** `delete_below_minimum` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `delete_not_scheduled` | **Description:** Deletes the definition if its skipped because its not scheduled. **Default:** `delete_not_scheduled` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `tmdb_region` | **Description:** Sets the region for `tmdb_popular`, `tmdb_now_playing`, `tmdb_top_rated`, and `tmdb_upcoming` |
-| `validate_builders` | **Description:** When set to false the definition will not fail if one builder fails. **Default:** `true` **Values:** `true` or `false` |
-| `cache_builders` | **Description:** Caches the items found by the builders for a number of days. This is useful if you run the same configuration on multiple libraries/servers in one run just set the value to `1`. **Default:** `0` **Values:** number 0 or greater |
-| `blank_collection` | **Description:** When set to true the collection will be created with no builders and no items added. **Default:** `false` **Values:** `true` or `false` |
-| `build_collection` | **Description:** When set to false the collection won't be created but items can still be added to Radarr/Sonarr. Does not work for playlists. **Default:** `true` **Values:** `true` or `false` |
-| `server_preroll` | **Description:** Used to set the `Movie pre-roll video` Text box in Plex under Settings -> Extras. You can run this with a [schedule](schedule) to change the pre-rolls automatically. **Values:** Any String |
-| `missing_only_released` | **Description:** definition Level `missing_only_released` toggle. **Default:** `missing_only_released` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `only_filter_missing` | **Description:** definition Level `only_filter_missing` toggle. **Default:** `only_filter_missing` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `show_filtered` | **Description:** definition level `show_filtered` toggle. **Default:** `show_filtered` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `show_missing` | **Description:** definition level `show_missing` toggle. **Default:** `show_missing` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `save_report` | **Description:** definition level `save_report` toggle. **Default:** `save_report` [settings value](../../config/settings) in the Configuration File **Values:** `true` or `false` |
-| `ignore_ids` | **Description:** definition level `ignore_ids` which is combined with the library and global `ignore_ids`. **Default:** `ignore_ids` [settings value](../../config/settings) in the Configuration File **Values:** List or comma-separated String of TMDb/TVDb IDs |
-| `ignore_imdb_ids` | **Description:** definition level `ignore_imdb_ids` which is combined with the library and global `ignore_imdb_ids`. **Default:** `ignore_imdb_ids` [settings value](../../config/settings) in the Configuration File **Values:** List or comma-separated String of IMDb IDs |
-| `name_mapping` | **Description:** Used to specify the folder name in the [Image Assets Directory](../../home/guides/assets) i.e. if your definition name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `?`, `*` cannot be in the file path), but you want them in your name you can this to specify the name in the file system. **Values:** Any String |
-| `test` | **Description:** When running in Test Mode (`--run-tests` [option](../../home/environmental)) only definitions with `test: true` will be run. **Default:** `false` **Values:** `true` or `false` |
-| `changes_webhooks` | **Description:** Used to specify a definition changes webhook for just this definition. **Values:** List of webhooks |
-| `sync_to_trakt_list` | **Description:** Used to specify a trakt list you want the definition synced to. **Values:** Trakt List Slug you want to sync to |
-| `sync_missing_to_trakt_list` | **Description:** Used to also sync missing items to the Trakt List specified by `sync_to_trakt_list`. **Default:** `false` **Values:** `true` or `false` |
-| `run_definition` | **Description:** Used to specify if this definition runs. Multiple can be used for one definition as a list or comma separated string. One `false` or unmatched library type will cause it to fail. **Values:** `movie`, `show`, `artist`, `true`, `false` |
-| `default_percent` | **Description:** Used to declare the default percent for `episodes`, `seasons`, `tracks`, and `albums` [special filters](../filters.md#special-filters). Default is 50. **Values:** Integer between 1 and 100 |
-| `ignore_blank_results` | **Description:** Used to not have Errors resulting from blank results from builders. **Default:** `false` **Values:** `true` or `false` |
-| `only_run_on_create` | **Description:** Used to only run the collection definition if the collection doesn't already exist. **Default:** `false` **Values:** `true` or `false` |
-| `delete_collections_named` | **Description:** Used to delete any collections in your plex named one of the given collections. **Values:** List of Collection Names to delete |
\ No newline at end of file
+| Attribute | Description & Values |
+|:-----------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `name` | **Description:** Used to specify the name of the definition in Plex as different than the mapping name. **Values:** Any String |
+| `limit` | **Description:** Used to specify the max number of items for the definition **Values:** Number greater than 0 |
+| `template` | **Description:** Used to specify a template and template variables to use for this definition. See the [Templates Page](../templates.md) for more information. **Values:** Dictionary |
+| `run_again` | **Description:** Used to try and add all the missing items to the definition again after the daily run. **Default:** `false` **Values:** `true` or `false` |
+| `sync_mode` | **Description:** Used to change how builders sync with this definition. **Default:** `sync_mode` [settings value](../../config/settings.md) in the Configuration File **Values:**
`append`
Only Add Items to the Collection
`sync`
Add & Remove Items from the Collection
|
+| `minimum_items` | **Description:** Minimum items that must be found to add to a definition. **Default:** `minimum_items` [settings value](../../config/settings.md) in the Configuration File **Values:** number greater than 0 |
+| `delete_below_minimum` | **Description:** Deletes the definition if below the minimum. **Default:** `delete_below_minimum` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `delete_not_scheduled` | **Description:** Deletes the definition if its skipped because its not scheduled. **Default:** `delete_not_scheduled` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `tmdb_region` | **Description:** Sets the region for `tmdb_popular`, `tmdb_now_playing`, `tmdb_top_rated`, and `tmdb_upcoming` |
+| `validate_builders` | **Description:** When set to false the definition will not fail if one builder fails. **Default:** `true` **Values:** `true` or `false` |
+| `cache_builders` | **Description:** Caches the items found by the builders for a number of days. This is useful if you run the same configuration on multiple libraries/servers in one run just set the value to `1`. **Default:** `0` **Values:** number 0 or greater |
+| `blank_collection` | **Description:** When set to true the collection will be created with no builders and no items added. **Default:** `false` **Values:** `true` or `false` |
+| `build_collection` | **Description:** When set to false the collection won't be created but items can still be added to Radarr/Sonarr. Does not work for playlists. **Default:** `true` **Values:** `true` or `false` |
+| `server_preroll` | **Description:** Used to set the `Movie pre-roll video` Text box in Plex under Settings -> Extras. You can run this with a [schedule](schedule.md) to change the pre-rolls automatically. **Values:** Any String |
+| `missing_only_released` | **Description:** definition Level `missing_only_released` toggle. **Default:** `missing_only_released` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `only_filter_missing` | **Description:** definition Level `only_filter_missing` toggle. **Default:** `only_filter_missing` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `show_filtered` | **Description:** definition level `show_filtered` toggle. **Default:** `show_filtered` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `show_missing` | **Description:** definition level `show_missing` toggle. **Default:** `show_missing` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `save_report` | **Description:** definition level `save_report` toggle. **Default:** `save_report` [settings value](../../config/settings.md) in the Configuration File **Values:** `true` or `false` |
+| `ignore_ids` | **Description:** definition level `ignore_ids` which is combined with the library and global `ignore_ids`. **Default:** `ignore_ids` [settings value](../../config/settings.md) in the Configuration File **Values:** List or comma-separated String of TMDb/TVDb IDs |
+| `ignore_imdb_ids` | **Description:** definition level `ignore_imdb_ids` which is combined with the library and global `ignore_imdb_ids`. **Default:** `ignore_imdb_ids` [settings value](../../config/settings.md) in the Configuration File **Values:** List or comma-separated String of IMDb IDs |
+| `name_mapping` | **Description:** Used to specify the folder name in the [Image Assets Directory](../../pmm/install/guides/assets.md) i.e. if your definition name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `?`, `*` cannot be in the file path), but you want them in your name you can this to specify the name in the file system. **Values:** Any String |
+| `test` | **Description:** When running in Test Mode (`--run-tests` [option](../../pmm/essentials//environmental.md)) only definitions with `test: true` will be run. **Default:** `false` **Values:** `true` or `false` |
+| `changes_webhooks` | **Description:** Used to specify a definition changes webhook for just this definition. **Values:** List of webhooks |
+| `sync_to_trakt_list` | **Description:** Used to specify a trakt list you want the definition synced to. **Values:** Trakt List Slug you want to sync to |
+| `sync_missing_to_trakt_list` | **Description:** Used to also sync missing items to the Trakt List specified by `sync_to_trakt_list`. **Default:** `false` **Values:** `true` or `false` |
+| `run_definition` | **Description:** Used to specify if this definition runs. Multiple can be used for one definition as a list or comma separated string. One `false` or unmatched library type will cause it to fail. **Values:** `movie`, `show`, `artist`, `true`, `false` |
+| `default_percent` | **Description:** Used to declare the default percent for `episodes`, `seasons`, `tracks`, and `albums` [special filters](../filters.md#special-filters). Default is 50. **Values:** Integer between 1 and 100 |
+| `ignore_blank_results` | **Description:** Used to not have Errors resulting from blank results from builders. **Default:** `false` **Values:** `true` or `false` |
+| `only_run_on_create` | **Description:** Used to only run the collection definition if the collection doesn't already exist. **Default:** `false` **Values:** `true` or `false` |
+| `delete_collections_named` | **Description:** Used to delete any collections in your plex named one of the given collections. **Values:** List of Collection Names to delete |[environmental.md](..%2F..%2Fpmm%2Fessentials%2Fenvironmental.md)
\ No newline at end of file
diff --git a/docs/metadata/details/display.png b/docs/builders/details/display.png
similarity index 100%
rename from docs/metadata/details/display.png
rename to docs/builders/details/display.png
diff --git a/docs/metadata/details/item_metadata.md b/docs/builders/details/item_metadata.md
similarity index 99%
rename from docs/metadata/details/item_metadata.md
rename to docs/builders/details/item_metadata.md
index 4660846b..cfd2b942 100644
--- a/docs/metadata/details/item_metadata.md
+++ b/docs/builders/details/item_metadata.md
@@ -1,3 +1,7 @@
+---
+search:
+ boost: 3
+---
# Item Metadata Updates
All the following attributes update various details of the metadata for every item in the collection.
diff --git a/docs/metadata/details/metadata.md b/docs/builders/details/metadata.md
similarity index 87%
rename from docs/metadata/details/metadata.md
rename to docs/builders/details/metadata.md
index 9bac9012..ca01edc7 100644
--- a/docs/metadata/details/metadata.md
+++ b/docs/builders/details/metadata.md
@@ -4,25 +4,25 @@ All the following attributes update various details of the definition's Metadata
**Only `tmdb_person` works with Playlists.**
-| Attribute | Description & Values |
-|:-----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `tmdb_person` | **Description:** Changes summary and poster to a TMDb Person's biography and profile to the first specified person as well as allow the people specified to be used in [Plex Searches](../builders/plex.md#plex-search). **Values:** TMDb Person ID or Actor Name (Will pull the first ID from the TMDb search results) (List or Comma-separated string) |
-| `tmdb_person_offset` | **Description:** Offsets which search results are used by `tmdb_person`. **Values:** Any number greater than 0 **Default:** 0 |
-| `tmdb_birthday` | **Description:** Controls if the Definition is run based on `tmdb_person`'s Birthday. Has 3 possible attributes `this_month`, `before` and `after`. **Values:**
`this_month`
Run's if Birthday is in current Month
`true`/`false`
`before`
Run if X Number of Days before the Birthday
Number 0 or greater
`after`
Run if X Number of Days after the Birthday
Number 0 or greater
|
-| `sort_title` | **Description:** Changes the sort title. You can "promote" certain collections to the top of a library by creating a sort title starting with a `+` or "demote" certain collections to the bottom of a library by creating a sort title starting with a `~`. **Values:** Text to change Sort Title |
-| `content_rating` | **Description:** Changes the content rating. **Values:** Text to change Content Rating |
-| `label` | **Description:** Appends new labels. **Values:** Comma-separated string of labels to append |
-| `label.remove` | **Description:** Removes existing labels from the collection. **Values:** Comma-separated string of labels to remove |
-| `label.sync` | **Description:** Matches the labels of the collection to the labels provided (Leave blank to remove all labels) **Values:** Comma-separated string of labels to sync |
-| `collection_mode` | **Description:** Changes the Collection Mode **Values:**
`default`
Library default
`hide`
Hide Collection
`hide_items`
Hide Items in this Collection
`show_items`
Show this Collection and its Items
|
-| `collection_order` | **Description:** Changes the Collection Order **Normal Collections Only** When using `custom.asc`/`custom.desc` you can only have a single builder in the collection. **Values:**
`release`
Order Collection by Release Dates
`alpha`
Order Collection Alphabetically
`custom.asc`/`custom.desc`
Order Collection Via the Builder Order ascending or descending
|
-| `builder_level` | **Description:** Make season, episode, album or track collections/overlays from `plex_all`, `plex_search`, `trakt_list`, or `imdb_list` Builders and Filters **Values:**
`season`
Collection contains seasons
`episode`
Collection contains episodes
`album`
Collection contains albums
`track`
Collection contains tracks
|
-| `visible_library` | **Description:** Changes collection visible on Library Recommended Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule)
Visible When Scheduled
|
-| `visible_home` | **Description:** Changes collection visible on Home Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule)
Visible When Scheduled
|
-| `visible_shared` | **Description:** Changes collection visible on Shared Users' Home Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule)
Visible When Scheduled
|
-| `url_theme` | **Description:** Changes the Collection Theme to the URL provided. **Values:** URL to mp3 file |
-| `file_theme` | **Description:** Changes the Collection Theme to the file location provided. **Values:** Path to mp3 file |
+| Attribute | Description & Values |
+|:-----------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `tmdb_person` | **Description:** Changes summary and poster to a TMDb Person's biography and profile to the first specified person as well as allow the people specified to be used in [Plex Searches](../plex.md#plex-search). **Values:** TMDb Person ID or Actor Name (Will pull the first ID from the TMDb search results) (List or Comma-separated string) |
+| `tmdb_person_offset` | **Description:** Offsets which search results are used by `tmdb_person`. **Values:** Any number greater than 0 **Default:** 0 |
+| `tmdb_birthday` | **Description:** Controls if the Definition is run based on `tmdb_person`'s Birthday. Has 3 possible attributes `this_month`, `before` and `after`. **Values:**
`this_month`
Run's if Birthday is in current Month
`true`/`false`
`before`
Run if X Number of Days before the Birthday
Number 0 or greater
`after`
Run if X Number of Days after the Birthday
Number 0 or greater
|
+| `sort_title` | **Description:** Changes the sort title. You can "promote" certain collections to the top of a library by creating a sort title starting with a `+` or "demote" certain collections to the bottom of a library by creating a sort title starting with a `~`. **Values:** Text to change Sort Title |
+| `content_rating` | **Description:** Changes the content rating. **Values:** Text to change Content Rating |
+| `label` | **Description:** Appends new labels. **Values:** Comma-separated string of labels to append |
+| `label.remove` | **Description:** Removes existing labels from the collection. **Values:** Comma-separated string of labels to remove |
+| `label.sync` | **Description:** Matches the labels of the collection to the labels provided (Leave blank to remove all labels) **Values:** Comma-separated string of labels to sync |
+| `collection_mode` | **Description:** Changes the Collection Mode **Values:**
`default`
Library default
`hide`
Hide Collection
`hide_items`
Hide Items in this Collection
`show_items`
Show this Collection and its Items
|
+| `collection_order` | **Description:** Changes the Collection Order **Normal Collections Only** When using `custom.asc`/`custom.desc` you can only have a single builder in the collection. **Values:**
`release`
Order Collection by Release Dates
`alpha`
Order Collection Alphabetically
`custom.asc`/`custom.desc`
Order Collection Via the Builder Order ascending or descending
|
+| `builder_level` | **Description:** Make season, episode, album or track collections/overlays from `plex_all`, `plex_search`, `trakt_list`, or `imdb_list` Builders and Filters **Values:**
`season`
Collection contains seasons
`episode`
Collection contains episodes
`album`
Collection contains albums
`track`
Collection contains tracks
|
+| `visible_library` | **Description:** Changes collection visible on Library Recommended Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule.md)
Visible When Scheduled
|
+| `visible_home` | **Description:** Changes collection visible on Home Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule.md)
Visible When Scheduled
|
+| `visible_shared` | **Description:** Changes collection visible on Shared Users' Home Tab (Only works with Plex Pass) **Values:**
`true`
Visible
`false`
Not Visible
[Any `schedule` Option](schedule.md)
Visible When Scheduled
|
+| `url_theme` | **Description:** Changes the Collection Theme to the URL provided. **Values:** URL to mp3 file |
+| `file_theme` | **Description:** Changes the Collection Theme to the file location provided. **Values:** Path to mp3 file |
* Here's an example of how the collections can look on the Home Page.
@@ -49,7 +49,7 @@ All the following attributes update the poster of the collection/playlist from v
**All of these details work with Playlists.**
-If no poster is specified the script will look in the library's [Image Asset Directories](../../home/guides/assets) for a folder named either the collection/playlist name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension).
+If no poster is specified the script will look in the library's [Image Asset Directories](../../pmm/install/guides/assets.md) for a folder named either the collection/playlist name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension).
| Attribute | Description & Values |
|:-------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -67,7 +67,7 @@ All the following attributes update the background of the collection/playlist fr
**All of these details work with Playlists.**
-If no background is specified the script will look in the library's [Image Asset Directories](../../home/guides/assets) for a folder named either the collection/playlist name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension).
+If no background is specified the script will look in the library's [Image Asset Directories](../../pmm/install/guides/assets.md) for a folder named either the collection/playlist name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension).
| Attribute | Description & Values |
|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
diff --git a/docs/builders/details/radarr.png b/docs/builders/details/radarr.png
new file mode 100644
index 00000000..d95bad1c
Binary files /dev/null and b/docs/builders/details/radarr.png differ
diff --git a/docs/metadata/details/schedule.md b/docs/builders/details/schedule.md
similarity index 98%
rename from docs/metadata/details/schedule.md
rename to docs/builders/details/schedule.md
index 9fea4971..e4254f60 100644
--- a/docs/metadata/details/schedule.md
+++ b/docs/builders/details/schedule.md
@@ -23,7 +23,7 @@ The scheduling options are:
| All | Requires that all comma separated scheduling options inside its brackets be meet in order to run | all[Options] | `all[weekly(sunday), hourly(17)]` |
* `daily` is the default when `schedule` is not specified.
-* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](../../home/environmental.md#time-to-run).
+* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](../../pmm/essentials/environmental.md#time-to-run).
* You can have multiple scheduling options as a list.
* You can use the `delete_not_scheduled` setting to delete Collections that are skipped due to not being scheduled.
diff --git a/docs/builders/details/sonarr.png b/docs/builders/details/sonarr.png
new file mode 100644
index 00000000..dce2ff2c
Binary files /dev/null and b/docs/builders/details/sonarr.png differ
diff --git a/docs/builders/filters.md b/docs/builders/filters.md
new file mode 100644
index 00000000..7329c040
--- /dev/null
+++ b/docs/builders/filters.md
@@ -0,0 +1,299 @@
+# Filters
+
+Filters allow for you to filter every item added to the collection/overlay/playlist from every builder using the `filters` attribute.
+
+## Using Filters
+
+Filters cannot do anything alone they require the use of at least one [Builder](../metadata/builders.md) to function.
+You can have multiple filters in each set but an item must match at least one value from **each** filter to not be ignored. The values for each must match what Plex has including special characters in order to match.
+
+```yaml
+filters:
+ genre: Action
+ country: Germany
+```
+
+Anything that doesn't have both the Genre `Action` and the Country `Germany` will be ignored.
+
+Multiple Filter Sets can be given as a list. With multiple sets only one of the sets must pass for the item to not be ignored.
+
+```yaml
+filters:
+ - genre: Action
+ country: Germany
+ - genre: Comedy
+ country: France
+```
+
+Anything that doesn't have either both the Genre `Action` and the Country `Germany` or the Genre `Comedy` and the Country `France` will be ignored.
+
+All filter options are listed below. To display items filtered out add `show_filtered: true` to the definition.
+
+You can use the `plex_all: true` builder to filter from your entire library.
+
+**Filters can be very slow. Try to build or narrow your items using [Plex Search](plex.md#plex-search) or another [Builder](../metadata/builders.md) if possible.**
+[definition.md](details%2Fdefinition.md)
+## Table Annotations
+
+**1** Filters using the special `episodes`/`tracks` [filter](#special-filters) with the [default percent](details/definition.md).
+
+**2** Also filters out missing movies/shows from being added to Radarr/Sonarr. These Values also cannot use the `count` modifiers.
+
+**3** You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
+
+**4** The actual numbers are pulled from the [PMM-Mediastingers](https://github.com/meisnate12/PMM-Mediastingers) Repo.
+
+**5** Also is a Tag Filter and can use all of those modifiers.
+
+## String Filters
+
+String filters can be used with either no modifier or with `.not`, `.is`, `.isnot`, `.begins`, `.ends`, or `.regex`.
+
+String filters can take multiple values **only as a list**.
+
+### Modifier
+
+| String Modifier | Description |
+|:----------------|:-------------------------------------------------------------------------------|
+| No Modifier | Matches every item where the attribute contains the given string |
+| `.not` | Matches every item where the attribute does not contain the given string |
+| `.is` | Matches every item where the attribute exactly matches the given string |
+| `.isnot` | Matches every item where the attribute does not exactly match the given string |
+| `.begins` | Matches every item where the attribute begins with the given string |
+| `.ends` | Matches every item where the attribute ends with the given string |
+| `.regex` | Matches every item where the attribute matches the regex given |
+
+### Attribute
+
+| String Filter | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:---------------------------------------------------|:-----------------------------------------|:--------:|:---------------------------------------------:|:---------------------------------------------:|:---------:|:---------------------------------------------:|:---------------------------------------------:|:--------:|
+| `title` | Uses the title attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `tmdb_title`**[2](#table-annotations)** | Uses the title from TMDb to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `summary` | Uses the summary attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `studio` | Uses the studio attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `edition` | Uses the edition attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `record_label` | Uses the record label attribute to match | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `folder` | Uses the item's folder to match | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `filepath` | Uses the item's filepath to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } |
+| `audio_track_title` | Uses the audio track titles to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } |
+| `video_codec` | Uses the video codec tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `video_profile` | Uses the video profile tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `audio_codec` | Uses the audio codec tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `audio_profile` | Uses the audio profile tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Tag Filters
+
+Tag filters can be used with either no modifier or with `.not`.
+
+Tag filters can take multiple values as a **list or a comma-separated string**.
+
+### Modifier
+
+| Tag Modifier | Description |
+|:-------------|:------------------------------------------------------------------------------------------|
+| No Modifier | Matches every item where the attribute matches the given string |
+| `.not` | Matches every item where the attribute does not match the given string |
+| `.regex` | Matches every item where one value of this attribute matches the regex. |
+| `.count_lt` | Matches every item where the attribute count is less than the given number |
+| `.count_lte` | Matches every item where the attribute count is less than the given number |
+| `.count_gt` | Matches every item where the attribute count is greater than the given number |
+| `.count_gte` | Matches every item where the attribute count is greater than or equal to the given number |
+
+### Attribute
+
+| Tag Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:-------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|:---------------------------------------------:|:---------------------------------------------:|:--------:|:--------:|:--------:|:--------:|
+| `actor` | Uses the actor tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `collection` | Uses the collection tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `content_rating` | Uses the content rating tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `network` | Uses the network tags to match | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `country` | Uses the country tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `director` | Uses the director tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `genre` | Uses the genre tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `label` | Uses the label tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `producer` | Uses the actor tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `year`**[3](#table-annotations)** | Uses the year tag to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `writer` | Uses the writer tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `resolution` | Uses the resolution tag to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `audio_language` | Uses the audio language tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `subtitle_language` | Uses the subtitle language tags to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tmdb_genre`**[2](#table-annotations)** | Uses the genres from TMDb to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tmdb_keyword`**[2](#table-annotations)** | Uses the keywords from TMDb to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `origin_country`**[2](#table-annotations)** | Uses TMDb origin country [ISO 3166-1 alpha-2 codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to match Example: `origin_country: us` | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `imdb_keyword`**[2](#table-annotations)** | Uses the keywords from IMDb to match See [Special](#special-filters) for more attributes | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Boolean Filters
+
+Boolean Filters have no modifiers.
+
+### Attribute
+
+| Boolean Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:-------------------|:---------------------------------------------------------------------------------------------------------|:-------:|:---------------------------------------------:|:---------------------------------------------:|:--------:|:--------:|:--------:|:--------:|
+| `has_collection` | Matches every item that has or does not have a collection | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `has_edition` | Matches every item that has or does not have an edition | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `has_stinger` | Matches every item that has a [media stinger](http://www.mediastinger.com/) (After/During Credits Scene) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `has_dolby_vision` | Matches every item that has or does not have a dolby vision | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `has_overlay` | Matches every item that has or does not have an overlay | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Date Filters
+
+Date filters can be used with either no modifier or with `.not`, `.before`, `.after`, or `.regex`.
+
+Date filters can **NOT** take multiple values.
+
+### Modifier
+
+| Date Modifier | Description | Format |
+|:--------------|:----------------------------------------------------------------------|:--------------------------------------------------------------------------:|
+| No Modifier | Matches every item where the date attribute is in the last X days | **Format:** number of days e.g. `30` |
+| `.not` | Matches every item where the date attribute is not in the last X days | **Format:** number of days e.g. `30` |
+| `.before` | Matches every item where the date attribute is before the given date | **Format:** MM/DD/YYYY or `today` for the current day e.g. `01/01/2000` |
+| `.after` | Matches every item where the date attribute is after the given date | **Format:** MM/DD/YYYY or `today` for the current day e.g. `01/01/2000` |
+| `.regex` | Matches every item where the attribute matches the regex given | N/A |
+
+### Attribute
+
+| Date Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:----------------------------------------------------------------|:-------------------------------------------------------------------------------|:--------:|:-------:|:--------:|:--------:|:--------:|:--------:|:--------:|
+| `release` | Uses the release date attribute (originally available) to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `added` | Uses the date added attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `last_played` | Uses the date last played attribute to match | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `first_episode_aired`**[2](#table-annotations)** | Uses the first episode aired date to match | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `last_episode_aired`**[2](#table-annotations) | Uses the last episode aired date to match | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `last_episode_aired_or_never`[2](#table-annotations) | Similar to `last_episode_aired` but also includes those that haven't aired yet | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Number Filters
+
+Number filters must use `.gt`, `.gte`, `.lt`, or `.lte` as a modifier.
+
+Number filters can **NOT** take multiple values.
+
+### Modifier
+
+| Number Modifier | Description | Format |
+|:----------------|:-------------------------------------------------------------------------------------------|:-------------------------------------------------:|
+| No Modifier | Matches every item where the number attribute is equal to the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+| `.not` | Matches every item where the number attribute is not equal to the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+| `.gt` | Matches every item where the number attribute is greater than the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+| `.gte` | Matches every item where the number attribute is greater than or equal to the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+| `.lt` | Matches every item where the number attribute is less than the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+| `.lte` | Matches every item where the number attribute is less than or equal to the given number | **Format:** number e.g. `30`, `1995`, or `7.5` |
+
+### Attribute
+
+| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:----------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------:|:---------------------------------------------:|:---------------------------------------------:|:--------:|:---------------------------------------------:|:---------------------------------------------:|:--------:|
+| `year`**[3](#table-annotations)** | Uses the year attribute to match minimum: `1` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `tmdb_year`**[2](#table-annotations)****[3](#table-annotations)** | Uses the year on TMDb to match minimum: `1` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `critic_rating` | Uses the critic rating attribute to match `0.0` - `10.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `audience_rating` | Uses the audience rating attribute to match `0.0` - `10.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `user_rating` | Uses the user rating attribute to match `0.0` - `10.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `tmdb_vote_count`**[2](#table-annotations)** | Uses the tmdb vote count to match minimum: `1` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tmdb_vote_average`**[2](#table-annotations)** | Uses the tmdb vote average rating to match minimum: `0.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `plays` | Uses the plays attribute to match minimum: `1` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
+| `duration` | Uses the duration attribute to match using minutes minimum: `0.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } |
+| `channels` | Uses the audio channels attribute to match minimum: `0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `height` | Uses the height attribute to match minimum: `0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `width` | Uses the width attribute to match minimum: `0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `aspect` | Uses the aspect attribute to match minimum: `0.0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `versions` | Uses the number of versions found to match minimum: `0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green }**[1](#table-annotations)** | :fontawesome-solid-circle-check:{ .green } |
+| `stinger_rating`**[4](#table-annotations)** | Uses the [media stinger](http://www.mediastinger.com/) rating to match. The media stinger rating is if the after/during credits scene is worth staying for. minimum: `0` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Special Filters
+
+Special Filters each have their own set of rules for how they're used.
+
+### Attribute
+
+| Special Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
+|:---------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
+| `history` | Uses the release date attribute (originally available) to match dates throughout history `day`: Match the Day and Month to Today's Date `month`: Match the Month to Today's Date `1-30`: Match the Day and Month to Today's Date or `1-30` days before Today's Date | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `episodes` | Uses the item's episodes attributes to match Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items episodes that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `seasons` | Uses the item's seasons attributes to match Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items seasons that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tracks` | Uses the item's tracks attributes to match Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items tracks that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
+| `albums` | Uses the item's albums attributes to match Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items albums that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `original_language`**[2](#table-annotations)** `original_language.not`**[2](#table-annotations)** | Uses TMDb original language [ISO 639-1 codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) to match Example: `original_language: en, ko` | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tmdb_status`**[2](#table-annotations)** `tmdb_status.not`**[2](#table-annotations)** | Uses TMDb Status to match **Values:** `returning`, `planned`, `production`, `ended`, `canceled`, `pilot` | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `tmdb_type`**[2](#table-annotations)** `tmdb_type.not`**[2](#table-annotations)** | Uses TMDb Type to match **Values:** `documentary`, `news`, `production`, `miniseries`, `reality`, `scripted`, `talk_show`, `video` | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+| `imdb_keyword`**[2](#table-annotations)****[5](#table-annotations)** | Uses the keywords from IMDb to match `keywords`: list of keywords to match `minimum_votes`: minimum number of votes keywords must have `minimum_relevant`: minimum number of relevant votes keywords must have `minimum_percentage`: minimum percentage of relevant votes keywords must have | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
+
+## Collection Filter Examples
+
+A few examples are listed below:
+
+```yaml
+collections:
+ 1080p Documentaries:
+ plex_search:
+ all:
+ genre: Documentary
+ summary: A collection of 1080p Documentaries
+ filters:
+ resolution: 1080
+```
+```yaml
+collections:
+ Daniel Craig only James Bonds:
+ imdb_list: https://www.imdb.com/list/ls006405458/
+ filters:
+ actor: Daniel Craig
+```
+```yaml
+collections:
+ French Romance:
+ plex_search:
+ all:
+ genre: Romance
+ filters:
+ audio_language: Français
+```
+```yaml
+collections:
+ Romantic Comedies:
+ plex_search:
+ all:
+ genre: Romance
+ filters:
+ genre: Comedy
+```
+```yaml
+collections:
+ 9.0 Movies:
+ plex_all: true
+ filters:
+ rating.gte: 9
+```
+```yaml
+collections:
+ Summer 2020 Movies:
+ plex_all: true
+ filters:
+ release.after: 5/1/2020
+ release.before: 8/31/2020
+```
+```yaml
+collections:
+ Movies Released in the Last 180 Days:
+ plex_all: true
+ filters:
+ release: 180
+```
+```yaml
+collections:
+ Good Adam Sandler Romantic Comedies:
+ plex_search:
+ all:
+ genre: Romance
+ actor: Adam Sandler
+ filters:
+ genre: Comedy
+ rating.gte: 7
+```
+```yaml
+collections:
+ Movies with Commentary:
+ plex_all: true
+ filters:
+ audio_track_title: Commentary
+```
diff --git a/docs/metadata/builders/flixpatrol.md b/docs/builders/flixpatrol.md
similarity index 100%
rename from docs/metadata/builders/flixpatrol.md
rename to docs/builders/flixpatrol.md
diff --git a/docs/metadata/builders/icheckmovies.md b/docs/builders/icheckmovies.md
similarity index 100%
rename from docs/metadata/builders/icheckmovies.md
rename to docs/builders/icheckmovies.md
diff --git a/docs/metadata/builders/imdb.md b/docs/builders/imdb.md
similarity index 100%
rename from docs/metadata/builders/imdb.md
rename to docs/builders/imdb.md
diff --git a/docs/metadata/builders/letterboxd.md b/docs/builders/letterboxd.md
similarity index 100%
rename from docs/metadata/builders/letterboxd.md
rename to docs/builders/letterboxd.md
diff --git a/docs/metadata/builders/mdblist.md b/docs/builders/mdblist.md
similarity index 100%
rename from docs/metadata/builders/mdblist.md
rename to docs/builders/mdblist.md
diff --git a/docs/metadata/builders/myanimelist.md b/docs/builders/myanimelist.md
similarity index 99%
rename from docs/metadata/builders/myanimelist.md
rename to docs/builders/myanimelist.md
index b7e7cb66..77d075f0 100644
--- a/docs/metadata/builders/myanimelist.md
+++ b/docs/builders/myanimelist.md
@@ -2,7 +2,7 @@
You can find anime using the features of [MyAnimeList.net](https://myanimelist.net/) (MyAnimeList).
-[Configuring MyAnimeList](../../config/myanimelist) in the config is required for any of these builders.
+[Configuring MyAnimeList](../config/myanimelist.md) in the config is required for any of these builders.
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------------------|:------------------------------------------------------------------------------------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
diff --git a/docs/metadata/builders/plex.md b/docs/builders/plex.md
similarity index 96%
rename from docs/metadata/builders/plex.md
rename to docs/builders/plex.md
index 94e8e828..ee7948cb 100644
--- a/docs/metadata/builders/plex.md
+++ b/docs/builders/plex.md
@@ -4,17 +4,17 @@ This builder finds its items by using the features of Plex.
No configuration is required for these builders.
-| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
-|:----------------------------------------------|:-------------------------------------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
-| [`plex_all`](#plex-all) | Gets every movie/show in your library. Useful with [Filters](../filters) | ✅ | ✅ | ❌ |
-| [`plex_watchlist`](#plex-watchlist) | Gets every movie/show in your Watchlist. | ✅ | ✅ | ✅ |
-| [`plex_pilots`](#plex-pilots) | Gets the first episode of every show in your library | ❌ | ✅ | ✅ |
-| [`plex_collectionless`](#plex-collectionless) | Gets every movie/show that is not in a collection | ✅ | ✅ | ❌ |
-| [`plex_search`](#plex-search) | Gets every movie/show based on the search parameters provided | ✅ | ✅ | ✅ |
+| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
+|:----------------------------------------------|:-----------------------------------------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
+| [`plex_all`](#plex-all) | Gets every movie/show in your library. Useful with [Filters](filters.md) | ✅ | ✅ | ❌ |
+| [`plex_watchlist`](#plex-watchlist) | Gets every movie/show in your Watchlist. | ✅ | ✅ | ✅ |
+| [`plex_pilots`](#plex-pilots) | Gets the first episode of every show in your library | ❌ | ✅ | ✅ |
+| [`plex_collectionless`](#plex-collectionless.md) | Gets every movie/show that is not in a collection | ✅ | ✅ | ❌ |
+| [`plex_search`](#plex-search) | Gets every movie/show based on the search parameters provided | ✅ | ✅ | ✅ |
## Plex All
-Finds every item in your library. Useful with [Filters](../filters).
+Finds every item in your library. Useful with [Filters](filters.md).
The expected input is either true or false.
@@ -110,7 +110,7 @@ like Plex's [Advanced Filters](https://support.plex.tv/articles/201273953-collec
Inside the base attribute you can use any search below or nest more `any` or `all`. You can have as many nested `any` or `all` next to each other as you want. If using multiple `any` or `all` you will have to do so in the form of a list.
-**Note: To search by `season`, `episode`, `album`, or `track` you must use the `builder_level` [Detail](../details/metadata) to change the type of items the collection holds.**
+**Note: To search by `season`, `episode`, `album`, or `track` you must use the `builder_level` [Detail](details/metadata.md) to change the type of items the collection holds.**
There are a couple other attributes you can have at the top level only along with the base attribute are:
diff --git a/docs/metadata/builders/radarr.md b/docs/builders/radarr.md
similarity index 95%
rename from docs/metadata/builders/radarr.md
rename to docs/builders/radarr.md
index 0219549c..2103cbae 100644
--- a/docs/metadata/builders/radarr.md
+++ b/docs/builders/radarr.md
@@ -2,7 +2,7 @@
You can find items in your Plex using the features of [Radarr](https://radarr.video/).
-[Configuring Radarr](../../config/radarr) in the config is required for any of these builders.
+[Configuring Radarr](../config/radarr.md) in the config is required for any of these builders.
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:------------------------------------|:---------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
diff --git a/docs/metadata/builders/reciperr.md b/docs/builders/reciperr.md
similarity index 100%
rename from docs/metadata/builders/reciperr.md
rename to docs/builders/reciperr.md
diff --git a/docs/metadata/builders/smart.md b/docs/builders/smart.md
similarity index 99%
rename from docs/metadata/builders/smart.md
rename to docs/builders/smart.md
index 4e0d4104..0bd681c1 100644
--- a/docs/metadata/builders/smart.md
+++ b/docs/builders/smart.md
@@ -46,7 +46,7 @@ like Plex's [Advanced Filters](https://support.plex.tv/articles/201273953-collec
Inside the base attribute you can use any filter below or nest more `any` or `all`. You can have as many nested `any` or `all` next to each other as you want. If using multiple `any` or `all` you will have to do so in the form of a list.
-**Note: To search by `season`, `episode`, `album`, or `track` you must use the `builder_level` [Detail](../details/metadata) to change the type of items the collection holds.**
+**Note: To search by `season`, `episode`, `album`, or `track` you must use the `builder_level` [Detail](details/metadata.md) to change the type of items the collection holds.**
There are a couple other attributes you can have at the top level only along with the base attribute are:
diff --git a/docs/metadata/builders/sonarr.md b/docs/builders/sonarr.md
similarity index 95%
rename from docs/metadata/builders/sonarr.md
rename to docs/builders/sonarr.md
index 59c8462d..4bd1abf6 100644
--- a/docs/metadata/builders/sonarr.md
+++ b/docs/builders/sonarr.md
@@ -2,7 +2,7 @@
You can find items in your Plex using the features of [Sonarr](https://sonarr.tv/).
-[Configuring Sonarr](../../config/sonarr) in the config is required for any of these builders.
+[Configuring Sonarr](../config/sonarr.md) in the config is required for any of these builders.
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:------------------------------------|:---------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
diff --git a/docs/metadata/builders/stevenlu.md b/docs/builders/stevenlu.md
similarity index 100%
rename from docs/metadata/builders/stevenlu.md
rename to docs/builders/stevenlu.md
diff --git a/docs/metadata/builders/tautulli.md b/docs/builders/tautulli.md
similarity index 97%
rename from docs/metadata/builders/tautulli.md
rename to docs/builders/tautulli.md
index 81e2c37f..fefe736e 100644
--- a/docs/metadata/builders/tautulli.md
+++ b/docs/builders/tautulli.md
@@ -2,7 +2,7 @@
You can find items in your Plex using the features of [Tautulli](https://tautulli.com/).
-[Configuring Tautulli](../../config/tautulli) in the config is required for any of these builders.
+[Configuring Tautulli](../config/tautulli.md) in the config is required for any of these builders.
It has watch analytics that can show the most watched or most popular Movies/Shows in each Library.
diff --git a/docs/builders/templates.md b/docs/builders/templates.md
new file mode 100644
index 00000000..88e07b17
--- /dev/null
+++ b/docs/builders/templates.md
@@ -0,0 +1,247 @@
+# Templates
+
+Collection, Playlist, Metadata, and Overlay Definitions often share a lot of common or generalizable configuration details. Templates allow you to define these details so they can be used across multiple definitions.
+
+For example, an actor collection might look like this:
+
+```yaml
+collections:
+ Bruce Lee:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: 19429
+ sort_title: "!_Bruce Lee"
+ sync_mode: sync
+ collection_order: release
+```
+
+Note: The `sort_title` in these examples is wrapped in quotes because it contains a character [`!`] which has [syntactic meaning in YAML files](../pmm/essentials/yaml.md#string-literals). This "quoting special characters" is a general YAML requirement, not something specific to `sort_title`.
+
+Then you add another:
+
+```yaml
+collections:
+ Bruce Lee:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: 19429
+ sort_title: "!_Bruce Lee"
+ sync_mode: sync
+ collection_order: release
+ Chris Pratt:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: 73457
+ sort_title: "!_Chris Pratt"
+ sync_mode: sync
+ collection_order: release
+```
+
+You could keep going in this way, but there's a lot of repetition there. Both of these collections have the same `sync_mode`, `collection_order`, and `actor` settings; the other two details, `tmdb_person` and `sort_title`, depend on a value defined in the collection.
+
+Those repetitive aspects can be moved into a template and leveraged by multiple collections.
+
+## Template Variables
+
+Template Variables are used to define the data that going to be changing in the template.
+
+For example, a template for those two collections might look like this:
+
+```yaml
+templates:
+ Actor:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: <>
+ sort_title: "!_<>"
+ sync_mode: sync
+ collection_order: release
+```
+
+The only things that change are the ID that is used with `tmdb_person` and the name of the collection that is used in `sort_title`.
+
+Those two things surrounded by `<< >>` are "template variables" that you can define for any collection using this template, like this:
+
+```yaml
+collections:
+ Chris Pratt:
+ template:
+ name: Actor
+ person: 73457
+```
+
+or to do it in a single line you can do this
+
+```yaml
+collections:
+ Bruce Lee:
+ template: {name: Actor, person: 19429}
+```
+
+Note that we provide the template name `Actor` and the value to insert in the place of `<>`. The `<>` is a template variable that is always available and doesn't have to be called out like `<>`.
+
+Inside a template, you can use all the Builders, Details, and [Filters](filters.md) attributes that you can give collections/playlists [except `template`; templates cannot be nested].
+
+The names of template variables that you define are arbitrary. In the example above, `<>` could have been `<>` or `<>` or anything else. The only thing that matters is that in the template definition you surround them with `<< >>` and in the collection definition you spell it correctly.
+
+To use a template with a collection definition you use the `template` attribute. The only required attribute under `template` is `name` which must correspond exactly to the template mapping name. Any other attributes under `template` are considered template variables whose names correspond exactly with the template variable name surrounded by `<<` and `>>` in the templates. These template variables will replace any part of any value that contains the template variable name surrounded by `<<` and `>>` in the template with the specified template variable's value.
+
+Here's the full example Actor template and two different ways to use it, as it would appear in a metadata file.
+
+```yaml
+templates:
+ Actor:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: <>
+ sort_title: "!_<>"
+ sync_mode: sync
+ collection_order: release
+collections:
+ Bruce Lee:
+ template: {name: Actor, person: 19429}
+ Chris Pratt:
+ template:
+ name: Actor
+ person: 73457
+```
+
+## Multi-Template Variables
+
+When using multiple Templates in a single definition you can send the same variable to all templates by using the `variables` attribute.
+
+```yaml
+templates:
+ Actor:
+ plex_search:
+ all:
+ actor: tmdb
+ tmdb_person: <>
+ sort_title: "!_<>"
+ Common:
+ summary: "Movies that <> (TMDb ID: <>) are in"
+ sync_mode: sync
+ collection_order: release
+collections:
+ Bruce Lee:
+ variables: {person: 19429}
+ template: [{name: Actor}, {name: Common}]
+ Chris Pratt:
+ variables:
+ person: 19429
+ template:
+ - name: Actor
+ - name: Common
+```
+
+## Special Template Attributes
+
+There are some attributes unique to `templates`; `default`, `optional`, `conditionals`, and `move_prefix`.
+
+* `default` can set default values for template variables to be used if they're not specified in the call.
+* `optional` can specify variables that if not specified on the template call will cause any attribute using one of those variables to be ignored in the template. You can make any template variable optional per collection by setting it to `null`.
+* `conditionals` can specify variables based on conditions set by the user. See more [here](#conditionals.md)
+* `move_prefix` can be given a list or comma-separated string of prefixes to move to the end of the collection/playlist name for sorting.
+ i.e. If you have `move_prefix: The` and a collection is called `The Avengers` then `<>` is replaced with `Avengers, The` instead of `The Avengers` for that collection.
+
+Every template call is given these template variables.
+
+* Either `<>`, `<>`, or `<>` which is the name of the definition.
+* `<>` is the original mapping name for the definition in the YAML file.
+* Either `<>` or `<>` which is the name of the definition after `move_prefix` is applied.
+* `<>` which is the library type
+* `<>` which is the name of the library
+* All Template Variables can append `_encoded` to the variable name to use a URL encode version of the variable. ex. `<>`
+
+### Conditionals
+
+Each conditional is identified by its mapping name and has one required attribute; `conditions` and one optional attribute; `default`.
+
+`default` is the default value for the variable when no condition is met. If default is not specified the variable becomes an optional variable.
+
+`conditions` is a list of sets of conditions where if all conditions are met then the variable will be the `value` specified in that condition.
+
+Each set of conditions must have the `value` attribute which is the value of the variable if the condition is met.
+
+All other attribute pairs in the set of conditions will check some condition of the value of the attribute key:
+
+* If the attribute key ends with `.not` the value must not equal the attribute value or not be in the list of attribute values.
+* If the attribute key ends with `.exists` and the attribute value is `true` then the attribute key must be a given template variable and if the value is anything else then the attribute key must not be a given template variable.
+* Otherwise, the value must equal the attribute value or be in the list of attribute values.
+
+Here's an example from the [PMM Default ratings file](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/defaults/overlays/ratings.yml).
+
+```yaml
+templates:
+ Rating:
+ conditionals:
+ rating1_horizontal_offset:
+ default: 30 # If no condition sets below are meet
+ conditions:
+ - side: [top, bottom]
+ rating2: none
+ rating3: none
+ value: 0 # If side is 'top' or 'bottom' and rating2 is 'none' and rating3 is 'none'
+ - side: [top, bottom]
+ rating2: none
+ value: -165 # If side is 'top' or 'bottom' and rating2 is 'none' and no previous conditions are meet
+ - side: [top, bottom]
+ rating3: none
+ value: -165 # If side is 'top' or 'bottom' rating3 is 'none' and no previous conditions are meet
+ - side: [top, bottom]
+ value: -335 # If side is 'top' or 'bottom' and no previous conditions are meet
+```
+
+## Advanced Example
+
+Here's an example IMDb Genre template and two different ways to call it.
+
+```yaml
+templates:
+ IMDb Genre:
+ default:
+ title: feature
+ limit: 100
+ optional:
+ - poster_id
+ imdb_list:
+ - url: https://www.imdb.com/search/title/?title_type=<>&release_date=1990-01-01,&user_rating=5.0,10.0&num_votes=100000,&genres=<>
+ limit: <>
+ - url: https://www.imdb.com/search/title/?title_type=<>&release_date=1990-01-01,&user_rating=5.0,10.0&num_votes=100000,&genres=<>&sort=user_rating,desc
+ limit: <>
+ sort_title: "!_<>"
+ url_poster: https://theposterdb.com/api/assets/<>
+ sync_mode: sync
+ collection_order: alpha
+collections:
+ Action:
+ template:
+ name: IMDb Genre
+ genre: action
+ summary: Action film is a genre wherein physical action takes precedence in the storytelling. The film will often have continuous motion and action including physical stunts, chases, fights, battles, and races. The story usually revolves around a hero that has a goal, but is facing incredible odds to obtain it.
+ Comedy:
+ template: {name: IMDb Genre, genre: comedy, poster_id: 69200}
+ summary: Comedy is a genre of film that uses humor as a driving force. The aim of a comedy film is to illicit laughter from the audience through entertaining stories and characters. Although the comedy film may take on some serious material, most have a happy ending. Comedy film has the tendency to become a hybrid sub-genre because humor can be incorporated into many other genres. Comedies are more likely than other films to fall back on the success and popularity of an individual star.
+ Romantic Comedy:
+ template: {name: IMDb Genre, genre: "romance,comedy", limit: 200}
+ summary: Romantic Comedy is a genre that attempts to catch the viewer’s heart with the combination of love and humor. This sub-genre is light-hearted and usually places the two protagonists in humorus situation. Romantic-Comedy film revolves around a romantic ideal, such as true love. In the end, the ideal triumphs over the situation or obstacle, thus creating a happy ending.
+ filters:
+ genre: Comedy
+```
+
+Check out the example files in the [Plex Meta Manager Configs Repository](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/meisnate12) for more uses and examples.
+
+## External Templates
+
+To load external templates located in another file you can use the `external_templates` attribute by specifying the path type and path of the files that will be executed. See [Path Types](../config/paths.md) for how to define them.
+
+```yaml
+external_templates:
+ - file: config/templates.yml
+ - pmm: templates
+```
diff --git a/docs/metadata/builders/tmdb.md b/docs/builders/tmdb.md
similarity index 99%
rename from docs/metadata/builders/tmdb.md
rename to docs/builders/tmdb.md
index db069f85..f097fd10 100644
--- a/docs/metadata/builders/tmdb.md
+++ b/docs/builders/tmdb.md
@@ -436,7 +436,7 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
| Movie Parameters | Description |
|:--------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `limit` | Specify how many movies you want returned by the query. **Type:** Integer **Default:** 100 |
-| `region` | Specify a [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) to filter release dates. Must be uppercase. Will use the `region` specified in the [TMDb Config](../../config/tmdb) by default. **Type:** `^[A-Z]{2}$` |
+| `region` | Specify a [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) to filter release dates. Must be uppercase. Will use the `region` specified in the [TMDb Config](../config/tmdb.md) by default. **Type:** `^[A-Z]{2}$` |
| `sort_by` | Choose from one of the many available sort options. **Type:** Any [sort options](#sort-options) below **Default:** `popularity.desc` |
| `certification_country` | Used in conjunction with the certification parameter, use this to specify a country with a valid certification. **Type:** String |
| `certification` | Filter results with a valid certification from the `certification_country` parameter. **Type:** String |
diff --git a/docs/metadata/builders/trakt.md b/docs/builders/trakt.md
similarity index 99%
rename from docs/metadata/builders/trakt.md
rename to docs/builders/trakt.md
index fd000518..cdb83190 100644
--- a/docs/metadata/builders/trakt.md
+++ b/docs/builders/trakt.md
@@ -2,7 +2,7 @@
You can find items using the features of [Trakt.tv](https://trakt.tv/) (Trakt).
-[Configuring Trakt](../../config/trakt) in the config is required for any of these builders.
+[Configuring Trakt](../config/trakt.md) in the config is required for any of these builders.
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:--------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------:|:----------------:|:------------------------------------:|
diff --git a/docs/metadata/builders/tvdb.md b/docs/builders/tvdb.md
similarity index 100%
rename from docs/metadata/builders/tvdb.md
rename to docs/builders/tvdb.md
diff --git a/docs/conf.py b/docs/conf.py
deleted file mode 100644
index 73c9c7cc..00000000
--- a/docs/conf.py
+++ /dev/null
@@ -1,586 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# This file only contains a selection of the most common options. For a full
-# list see the documentation:
-# https://www.sphinx-doc.org/en/master/usage/configuration.html
-
-# -- Path setup --------------------------------------------------------------
-
-import datetime
-import sys
-from os.path import abspath, dirname
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-import sphinx_bootstrap_theme
-
-path = dirname(abspath(__file__))
-sys.path.append(path)
-
-
-# -- Project information -----------------------------------------------------
-
-project = "Plex Meta Manager Wiki"
-author = "Nathan Taggart"
-copyright = f"{datetime.datetime.now().year}"
-
-# The full version, including alpha/beta/rc tags
-with open("../VERSION") as f:
- release = f.readline()
-
-
-# -- General configuration ---------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named "sphinx.ext.*") or your custom
-# ones.
-extensions = [
- 'sphinx.ext.autodoc',
- 'sphinx.ext.coverage',
- 'sphinx.ext.viewcode',
- 'sphinx.ext.napoleon',
- 'sphinx.ext.todo',
- 'myst_parser',
- 'sphinx_inline_tabs',
- 'sphinx_copybutton',
- 'sphinx_reredirects',
- 'sphinx_design',
- 'notfound.extension'
-]
-
-source_suffix = ['.rst', '.md']
-myst_heading_anchors = 4
-myst_enable_extensions = ["colon_fence"]
-
-# -- Napoleon Settings -----------------------------------------------------
-napoleon_google_docstring = True
-napoleon_numpy_docstring = False
-napoleon_include_init_with_doc = False
-napoleon_include_private_with_doc = False
-napoleon_include_special_with_doc = False
-napoleon_use_admonition_for_examples = False
-napoleon_use_admonition_for_notes = False
-napoleon_use_admonition_for_references = False
-napoleon_use_ivar = True
-napoleon_use_param = True
-napoleon_use_rtype = True
-napoleon_use_keyword = True
-autodoc_member_order = 'bysource'
-add_module_names = False
-
-master_doc = 'index'
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ["_templates"]
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This pattern also affects html_static_path and html_extra_path.
-exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
-
-
-# -- Options for HTML output -------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-#
-# html_theme = "nature"
-html_theme = "bootstrap"
-html_theme_path = sphinx_bootstrap_theme.get_html_theme_path()
-# (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24).
-# Path should be relative to the ``_static`` files directory.
-html_logo = "_static/logo-white.png"
-html_favicon = "_static/favicon.png"
-
-html_copy_source = False
-html_show_sourcelink = False
-
-# Redirect URLs
-# "