diff --git a/config/config.yml.template b/config/config.yml.template
index db230dfc..4ce69f33 100644
--- a/config/config.yml.template
+++ b/config/config.yml.template
@@ -1,36 +1,36 @@
## This file is a template remove the .template to use the file
-libraries: # This is called out once within the config.yml file
- Movies: # Each library must match the Plex library name
+libraries: # This is called out once within the config.yml file
+ Movies: # These are names of libraries in your Plex
metadata_path:
- - pmm: basic # This is a file within the defaults folder in the Repository
- - pmm: imdb # This is a file within the defaults folder in the Repository
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: imdb # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
overlay_path:
- remove_overlays: false # Set this to true to remove all overlays
- - pmm: ribbon # This is a file within the defaults folder in the Repository
+ - pmm: ribbon # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
- TV Shows:
+ TV Shows:
metadata_path:
- - pmm: basic # This is a file within the defaults folder in the Repository
- - pmm: imdb # This is a file within the defaults folder in the Repository
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: imdb # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
overlay_path:
- remove_overlays: false # Set this to true to remove all overlays
- - pmm: ribbon # This is a file within the defaults folder in the Repository
+ - pmm: ribbon # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
Anime:
metadata_path:
- - pmm: basic # This is a file within the defaults folder in the Repository
- - pmm: anilist # This is a file within the defaults folder in the Repository
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: anilist # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
Music:
metadata_path:
- file: config/Music.yml # This is a local file THAT YOU MIGHT CREATE
playlist_files:
- - pmm: playlist # This is a file within the defaults folder in the Repository
+ - pmm: playlist # This is a file within PMM's defaults folder
# see the wiki for how to use local files, folders, URLs, or files from git
-settings:
+settings:
cache: true
cache_expiration: 60
asset_directory: config/assets
@@ -66,23 +66,23 @@ settings:
verify_ssl: true
custom_repo:
check_nightly: false
-webhooks: # Can be individually specified per library as well
+webhooks: # Can be individually specified per library as well
error:
version:
run_start:
run_end:
changes:
-plex: # Can be individually specified per library as well; REQUIRED for the script to run
+plex: # Can be individually specified per library as well; REQUIRED for the script to run
url: http://192.168.1.12:32400
token: ####################
timeout: 60
clean_bundles: false
empty_trash: false
optimize: false
-tmdb: # REQUIRED for the script to run
+tmdb: # REQUIRED for the script to run
apikey: ################################
language: en
-tautulli: # Can be individually specified per library as well
+tautulli: # Can be individually specified per library as well
url: http://192.168.1.12:8181
apikey: ################################
omdb:
@@ -93,10 +93,10 @@ mdblist:
cache_expiration: 60
notifiarr:
apikey: ####################################
-anidb: # Not required for AniDB builders unless you want mature content
+anidb: # Not required for AniDB builders unless you want mature content
username: ######
password: ######
-radarr: # Can be individually specified per library as well
+radarr: # Can be individually specified per library as well
url: http://192.168.1.12:7878
token: ################################
add_missing: false
@@ -109,7 +109,7 @@ radarr: # Can be individually specified
search: false
radarr_path:
plex_path:
-sonarr: # Can be individually specified per library as well
+sonarr: # Can be individually specified per library as well
url: http://192.168.1.12:8989
token: ################################
add_missing: false
@@ -126,8 +126,8 @@ sonarr: # Can be individually specified
sonarr_path:
plex_path:
trakt:
- client_id: ################################################################
- client_secret: ################################################################
+ client_id: ####################
+ client_secret: ####################
pin:
authorization:
# everything below is autofilled by the script
@@ -138,8 +138,8 @@ trakt:
scope: public
created_at:
mal:
- client_id: ################################
- client_secret: ################################################################
+ client_id: ####################
+ client_secret: ####################
authorization:
# everything below is autofilled by the script
access_token:
diff --git a/docs/config/configuration.md b/docs/config/configuration.md
index 73d5d236..dfbf4839 100644
--- a/docs/config/configuration.md
+++ b/docs/config/configuration.md
@@ -33,38 +33,38 @@ This example outlines what a "standard" config.yml file might look like when in
Example config.yml file
```yaml
-libraries: # This is called out once within the config.yml file
- Movies: # Each library must match the Plex library name
+## This file is a template remove the .template to use the file
+
+libraries: # This is called out once within the config.yml file
+ Movies: # These are names of libraries in your Plex
metadata_path:
- - file: config/Movies.yml # This is a local file on the system
- - folder: config/Movies/ # This is a local directory on the system
- - pmm: basic # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
- - pmm: imdb # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: imdb # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
overlay_path:
- - remove_overlays: false # Set this to true to remove all overlays
- - file: config/Overlays.yml # This is a local file on the system
- - pmm: ribbon # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
- TV Shows:
+ - remove_overlays: false # Set this to true to remove all overlays
+ - pmm: ribbon # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ TV Shows:
metadata_path:
- - file: config/TVShows.yml
- - folder: config/TV Shows/
- - pmm: basic # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
- - pmm: imdb # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: imdb # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
overlay_path:
- - remove_overlays: false # Set this to true to remove all overlays
- - file: config/Overlays.yml # This is a local file on the system
- - pmm: ribbon # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
+ - remove_overlays: false # Set this to true to remove all overlays
+ - pmm: ribbon # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
Anime:
metadata_path:
- - file: config/Anime.yml
- - pmm: basic # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
- - pmm: anilist # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
+ - pmm: basic # This is a file within PMM's defaults folder
+ - pmm: anilist # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
Music:
metadata_path:
- - file: config/Music.yml
+ - file: config/Music.yml # This is a local file THAT YOU MIGHT CREATE
playlist_files:
- - file: config/playlists.yml
- - pmm: playlist # This is a local PMM Default file. Usage Guide: https://metamanager.wiki/en/nightly/defaults/guide.html
+ - pmm: playlist # This is a file within PMM's defaults folder
+ # see the wiki for how to use local files, folders, URLs, or files from git
settings:
cache: true
cache_expiration: 60
@@ -72,6 +72,7 @@ settings:
asset_folders: true
asset_depth: 0
create_asset_folders: false
+ prioritize_assets: false
dimensional_asset_rename: false
download_url_assets: false
show_missing_season_assets: false
@@ -90,40 +91,47 @@ settings:
show_options: false
show_missing: true
show_missing_assets: true
- save_report: true
+ save_report: false
tvdb_language: eng
ignore_ids:
ignore_imdb_ids:
item_refresh_delay: 0
- playlist_sync_to_users: all
+ playlist_sync_to_user: all
+ playlist_report: false
verify_ssl: true
-webhooks:
+ custom_repo:
+ check_nightly: false
+webhooks: # Can be individually specified per library as well
error:
+ version:
run_start:
run_end:
changes:
- version:
-plex:
+plex: # Can be individually specified per library as well; REQUIRED for the script to run
url: http://192.168.1.12:32400
token: ####################
timeout: 60
clean_bundles: false
empty_trash: false
optimize: false
-tmdb:
+tmdb: # REQUIRED for the script to run
apikey: ################################
language: en
-tautulli:
+tautulli: # Can be individually specified per library as well
url: http://192.168.1.12:8181
apikey: ################################
omdb:
apikey: ########
+ cache_expiration: 60
+mdblist:
+ apikey: #########################
+ cache_expiration: 60
notifiarr:
apikey: ####################################
-anidb:
+anidb: # Not required for AniDB builders unless you want mature content
username: ######
password: ######
-radarr:
+radarr: # Can be individually specified per library as well
url: http://192.168.1.12:7878
token: ################################
add_missing: false
@@ -136,7 +144,7 @@ radarr:
search: false
radarr_path:
plex_path:
-sonarr:
+sonarr: # Can be individually specified per library as well
url: http://192.168.1.12:8989
token: ################################
add_missing: false
@@ -153,8 +161,9 @@ sonarr:
sonarr_path:
plex_path:
trakt:
- client_id: ################################################################
- client_secret: ################################################################
+ client_id: ####################
+ client_secret: ####################
+ pin:
authorization:
# everything below is autofilled by the script
access_token:
@@ -164,8 +173,8 @@ trakt:
scope: public
created_at:
mal:
- client_id: ################################
- client_secret: ################################################################
+ client_id: ####################
+ client_secret: ####################
authorization:
# everything below is autofilled by the script
access_token:
diff --git a/docs/defaults/both/audio_language.md b/docs/defaults/both/audio_language.md
index 66ca077c..434b814c 100644
--- a/docs/defaults/both/audio_language.md
+++ b/docs/defaults/both/audio_language.md
@@ -70,7 +70,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -102,7 +106,7 @@ include:
- km # Central Khmer
- ch # Chamorro
- ce # Chechen
- - ny # Chichewa, Chewa, Nyanja
+ - ny # Chichewa, Chewa, Nyanja
- zh # Chinese
- cu # Church Slavic, Old Slavonic, Church Slavonic, Old Bulgarian, Old Church Slavonic
- cv # Chuvash
diff --git a/docs/defaults/both/collectionless.md b/docs/defaults/both/collectionless.md
index 83d387f3..b2c5e1d6 100644
--- a/docs/defaults/both/collectionless.md
+++ b/docs/defaults/both/collectionless.md
@@ -66,7 +66,11 @@ libraries:
collection_order: release
```
-## Default `exclude_prefix`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `exclude_prefix`
```yaml
exclude_prefix:
diff --git a/docs/defaults/both/content_rating_cs.md b/docs/defaults/both/content_rating_cs.md
index bd834359..ff20ade3 100644
--- a/docs/defaults/both/content_rating_cs.md
+++ b/docs/defaults/both/content_rating_cs.md
@@ -67,7 +67,7 @@ libraries:
Movies:
metadata_path:
- pmm: content_rating_cs
- template_variables:
+ template_variables:
use_separator: false
sep_style: blue
use_other: false
@@ -77,7 +77,12 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+
+### Default `include`
```yaml
include:
@@ -101,7 +106,7 @@ include:
- 18
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/content_rating_mal.md b/docs/defaults/both/content_rating_mal.md
index e7d008ac..89f757e8 100644
--- a/docs/defaults/both/content_rating_mal.md
+++ b/docs/defaults/both/content_rating_mal.md
@@ -75,7 +75,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -87,7 +91,7 @@ include:
- "Rx"
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/content_rating_uk.md b/docs/defaults/both/content_rating_uk.md
index c6a88c59..c8d711a9 100644
--- a/docs/defaults/both/content_rating_uk.md
+++ b/docs/defaults/both/content_rating_uk.md
@@ -75,7 +75,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -88,7 +92,7 @@ include:
- R18
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/genre.md b/docs/defaults/both/genre.md
index d11505fe..0f6b9d05 100644
--- a/docs/defaults/both/genre.md
+++ b/docs/defaults/both/genre.md
@@ -72,7 +72,11 @@ libraries:
sort_by: title.asc
```
-## Default `addons`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/resolution.md b/docs/defaults/both/resolution.md
index f505c97f..9600abb2 100644
--- a/docs/defaults/both/resolution.md
+++ b/docs/defaults/both/resolution.md
@@ -80,7 +80,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -90,7 +94,7 @@ include:
- 480
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/studio.md b/docs/defaults/both/studio.md
index 86e362a1..daa33e7a 100644
--- a/docs/defaults/both/studio.md
+++ b/docs/defaults/both/studio.md
@@ -72,7 +72,11 @@ libraries:
sep_style: gray
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -112,7 +116,7 @@ include:
- Warner Bros. Pictures
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/both/studio_anime.md b/docs/defaults/both/studio_anime.md
index fb69a32b..1f73b850 100644
--- a/docs/defaults/both/studio_anime.md
+++ b/docs/defaults/both/studio_anime.md
@@ -70,7 +70,11 @@ libraries:
sep_style: gray
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -101,7 +105,7 @@ include:
- Wit Studio
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/movie/content_rating_us.md b/docs/defaults/movie/content_rating_us.md
index 3b917faf..8b442ecf 100644
--- a/docs/defaults/movie/content_rating_us.md
+++ b/docs/defaults/movie/content_rating_us.md
@@ -72,7 +72,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -83,11 +87,11 @@ include:
- NC-17
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
- G:
+ G:
- gb/U
- gb/0+
- U
diff --git a/docs/defaults/movie/country.md b/docs/defaults/movie/country.md
index 5df21527..f0b632fe 100644
--- a/docs/defaults/movie/country.md
+++ b/docs/defaults/movie/country.md
@@ -76,7 +76,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -311,7 +315,7 @@ include:
# - Zimbabwe # zw
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/movie/franchise.md b/docs/defaults/movie/franchise.md
index 0f0e688c..47c823c8 100644
--- a/docs/defaults/movie/franchise.md
+++ b/docs/defaults/movie/franchise.md
@@ -79,8 +79,11 @@ libraries:
movie_105995: 336560
radarr_add_missing: true
```
+## Default values
-## Default `addons`
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `addons`
```yaml
addons:
@@ -114,7 +117,7 @@ addons:
- 453993 # The Wolverine
```
-## Default `title_override`
+### Default `title_override`
```yaml
title_override:
@@ -123,7 +126,7 @@ title_override:
535790: Godzilla (Anime)
```
-## Default `movie`
+### Default `movie`
```yaml
105995: 336560 # Anaconda: Lake Placid vs. Anaconda
@@ -154,7 +157,7 @@ title_override:
748: 567604 # X-Men: Once Upon a Deadpool
```
-## Default `name_mapping`
+### Default `name_mapping`
```yaml
1565: 28 Days-Weeks Later
diff --git a/docs/defaults/movie/seasonal.md b/docs/defaults/movie/seasonal.md
index a0339472..421e6987 100644
--- a/docs/defaults/movie/seasonal.md
+++ b/docs/defaults/movie/seasonal.md
@@ -91,7 +91,11 @@ libraries:
emoji_veteran: "🪖 "
```
-## Default `data`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `data`
```yaml
data:
@@ -109,7 +113,7 @@ data:
christmas: Christmas
```
-## Default `tmdb_collection`
+### Default `tmdb_collection`
```yaml
tmdb_collection:
@@ -126,7 +130,7 @@ tmdb_collection:
- 751156 # Hocus Pocus
```
-## Default `tmdb_movie`
+### Default `tmdb_movie`
```yaml
tmdb_movie:
@@ -134,7 +138,7 @@ tmdb_movie:
- 23437 # A Nightmare on Elm Street (2010)
```
-## Default `imdb_list`
+### Default `imdb_list`
```yaml
imdb_list:
@@ -163,7 +167,7 @@ imdb_list:
christmas: https://www.imdb.com/list/ls000096828/
```
-## Default `schedule`
+### Default `schedule`
```yaml
schedule:
diff --git a/docs/defaults/movie/universe.md b/docs/defaults/movie/universe.md
index 6fb5e682..0f7f3a2c 100644
--- a/docs/defaults/movie/universe.md
+++ b/docs/defaults/movie/universe.md
@@ -81,7 +81,11 @@ libraries:
trakt_list_veteran: https://trakt.tv/users/rzepkowski/lists/monsterverse-movies
```
-## Default `data`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `data`
```yaml
data:
@@ -99,7 +103,7 @@ data:
mummy: The Mummy Universe
```
-## Default `trakt_list`
+### Default `trakt_list`
```yaml
trakt_list:
diff --git a/docs/defaults/playlist.md b/docs/defaults/playlist.md
index bcd25b44..21b05fe2 100644
--- a/docs/defaults/playlist.md
+++ b/docs/defaults/playlist.md
@@ -74,7 +74,11 @@ playlist_files:
radarr_add_missing: true
```
-## Default `trakt_list`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `trakt_list`
The below Trakt lists are used to populate the playlists associated with the keys.
diff --git a/docs/defaults/show/content_rating_us.md b/docs/defaults/show/content_rating_us.md
index f30c5a1f..24a8598e 100644
--- a/docs/defaults/show/content_rating_us.md
+++ b/docs/defaults/show/content_rating_us.md
@@ -72,7 +72,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -83,11 +87,11 @@ include:
- TV-MA
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
- TV-G:
+ TV-G:
- gb/U
- gb/0+
- U
diff --git a/docs/defaults/show/country.md b/docs/defaults/show/country.md
index f1949f8b..6f3eae90 100644
--- a/docs/defaults/show/country.md
+++ b/docs/defaults/show/country.md
@@ -78,7 +78,11 @@ libraries:
sort_by: title.asc
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -313,7 +317,7 @@ include:
# - zw # Zimbabwe
```
-## Default `key_name_override`
+### Default `key_name_override`
```yaml
key_name_override:
diff --git a/docs/defaults/show/franchise.md b/docs/defaults/show/franchise.md
index 5f6a835d..576889e3 100644
--- a/docs/defaults/show/franchise.md
+++ b/docs/defaults/show/franchise.md
@@ -80,7 +80,11 @@ libraries:
sonarr_add_missing: true
```
-## Default `data`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `data`
```yaml
data:
@@ -100,7 +104,7 @@ data:
"6357": The Twilight Zone
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
diff --git a/docs/defaults/show/network.md b/docs/defaults/show/network.md
index 816d00fc..d83c1a16 100644
--- a/docs/defaults/show/network.md
+++ b/docs/defaults/show/network.md
@@ -66,7 +66,11 @@ libraries:
```
-## Default `include`
+## Default values
+
+These are lists provided for reference to show what values will be in use if you do no customization. If you want to customize these values, use the methods described above. These do not show how to change a name or a list.
+
+### Default `include`
```yaml
include:
@@ -79,7 +83,7 @@ include:
- BET
- Cartoon Network
- Channel 4
- - Channel 5
+ - Channel 5
- CBC
- CBS
- Comedy Central
@@ -111,7 +115,7 @@ include:
- YouTube
```
-## Default `addons`
+### Default `addons`
```yaml
addons:
@@ -213,10 +217,10 @@ addons:
- Disney Channel (CZ)
- Disney Channel (UK)
- Disney Junior
- - Disney XD
+ - Disney XD
- Disney+
- Playhouse Disney
- - Toon Disney
+ - Toon Disney
E!:
- e.tv
ESPN:
diff --git a/docs/home/guides/default-collections.png b/docs/home/guides/default-collections.png
new file mode 100644
index 00000000..a2ec8129
Binary files /dev/null and b/docs/home/guides/default-collections.png differ
diff --git a/docs/home/guides/docker.md b/docs/home/guides/docker.md
index 80999673..ebe2e0d2 100644
--- a/docs/home/guides/docker.md
+++ b/docs/home/guides/docker.md
@@ -36,17 +36,16 @@ something like this
That’s a command you’re going to type or paste into your terminal (OSX or Linux) or Powershell (Windows).
-**IMPORTANT NOTES:**
+IMPORTANT NOTE:
+This walkthrough is going to be pretty pedantic. I’m assuming you’re reading it because you have no idea how to get a Docker container going, so I’m proceeding from the assumption that you want to be walked through every little detail. You’re going to deliberately cause errors and then fix them as you go through it. This is to help you understand what exactly is going on behind the scenes so that when you see these sorts of problems in the wild you will have some background to understand what’s happening. If I only give you the happy path walkthrough, then when you make a typo later on you’ll have no idea where that typo might be or why it’s breaking things.
-1. This walkthrough is going to be pretty pedantic. I’m assuming you’re reading it because you have no idea how to get a Docker container going, so I’m proceeding from the assumption that you want to be walked through every little detail. You’re going to deliberately cause errors and then fix them as you go through it. This is to help you understand what exactly is going on behind the scenes so that when you see these sorts of problems in the wild you will have some background to understand what’s happening. If I only give you the happy path walkthrough, then when you make a typo later on you’ll have no idea where that typo might be or why it’s breaking things.
+I am assuming you do not have any of these tools already installed. When writing this up I started with a brand new Windows 10 install.
-2. I am assuming you do not have any of these tools already installed. When writing this up I started with a brand new Windows 10 install.
+I'm also assuming you are doing this on a computer, not through a NAS interface or the like. You can do all this through something like the Synology NAS UI or Portainer or the like, but those aren't documented here. This uses the docker command line because it works the same on all platforms.
-3. I'm also assuming you are doing this on a computer, not through a NAS interface or the like. You can do all this through something like the Synology NAS UI or Portainer or the like, but those aren't documented here. This uses the docker command line because it works the same on all platforms.
+You may want to take an hour to get familiar with Docker fundamentals with the [official tutorial](https://www.docker.com/101-tutorial/).
-4. You may want to take an hour to get familiar with Docker fundamentals with the [official tutorial](https://www.docker.com/101-tutorial/).
-
-5. DO NOT MAKE ANY CHANGES BELOW if you want this to just work. Don't change the docker image [`linuxserver.io` will not work for this, for example]; don't change the paths, etc.
+DO NOT MAKE ANY CHANGES BELOW if you want this to just work. Don't change the docker image [`linuxserver.io` will not work for this, for example]; don't change the paths, etc.
### Installing Docker.
@@ -57,13 +56,17 @@ The Docker install is discussed here: [Installing Docker](https://docs.docker.co
Once you have Docker installed, test it at the command line with:
[type this into your terminal]
+
```
docker run --rm hello-world
```
+
You should see something that starts with:
+
```
Hello from Docker!
This message shows that your installation appears to be working correctly.
+
...
```
@@ -73,7 +76,7 @@ If that doesn't work, stop here until you fix that. Diagnoing and repairing Doc
#### Important note on Docker images
-This tutorial uses the official image, and you should, too. Don't change `meisnate12/plex-meta-manager` to the `linuxserver.io` image or any other; the lsio image specifically has [idiosyncracies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
+This tutorial uses the official image, and you should, too. Don't change `meisnate12/plex-meta-manager` to the `linuxserver.io` image or any other; other images may have [idiosyncracies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
The great thing about Docker is that all the setup you'd have to do to run PMM is already done inside the docker image.
@@ -140,55 +143,82 @@ pwd
This will display a full path:
````{tab} Linux
+
+
```
/home/YOURUSERNAME/plex-meta-manager
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
+
```
/Users/YOURUSERNAME/plex-meta-manager
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
+
```
C:\Users\YOURUSERNAME\plex-meta-manager
```
+
````
Add "config" onto the end of that to get the host path to your config directory, for example:
````{tab} Linux
+
+
```
/home/YOURUSERNAME/plex-meta-manager/config
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
+
```
/Users/YOURUSERNAME/plex-meta-manager/config
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
+
```
C:\Users\YOURUSERNAME\plex-meta-manager\config
```
+
````
You'll need to add this to the docker command every time you run it, like this:
````{tab} Linux
+
+
```
docker run --rm -it -v "/home/YOURUSERNAME/plex-meta-manager/config:/config:rw" meisnate12/plex-meta-manager
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
+
```
docker run --rm -it -v "/Users/YOURUSERNAME/plex-meta-manager/config:/config:rw" meisnate12/plex-meta-manager
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
+
```
docker run --rm -it -v "C:\Users\YOURUSERNAME\plex-meta-manager\config:/config:rw" meisnate12/plex-meta-manager
```
+
````
If you run that command now it will display a similar error to before, but without all the image loading:
@@ -202,6 +232,7 @@ Note that I show the example path there.
Why did we create that `config' directory?
+
This was done so that from here on in the instructions match between this walkthrough and the [Local walkthrough](local) are the same.
@@ -215,27 +246,36 @@ The default config file contains a reference to a directory that will show an er
We'll create it here so the error doesn't show up later.
````{tab} Linux
+
[type this into your terminal]
+
```
mkdir config/assets
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
mkdir config/assets
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
mkdir config\assets
```
+
````
### Setting up the initial config file
-```{include} wt/wt-01.md
+```{include} wt/wt-01-basic-config.md
```
#### Editing the config template
@@ -243,22 +283,30 @@ mkdir config\assets
First, make a copy of the template:
````{tab} Linux
+
Get a copy of the template to edit [type this into your terminal]:
+
```
curl -fLvo config/config.yml https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/config/config.yml.template
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
Get a copy of the template to edit [type this into your terminal]:
+
```
curl -fLvo config/config.yml https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/config/config.yml.template
```
````
-````{tab} Windows
+````{tab} Windows:
+
Go to [this URL](https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/config/config.yml.template) using a web browser; choose the "Save" command, then save the file at:
+
```
C:\Users\YOURUSERNAME\plex-meta-manager\config\config.yml
```
+
````
Now open the copy in an editor:
@@ -266,7 +314,7 @@ Now open the copy in an editor:
```{include} wt/wt-editor.md
```
-```{include} wt/wt-02.md
+```{include} wt/wt-02-config-bad-library.md
```
#### Testing the config file
@@ -281,7 +329,27 @@ Then run the script again:
```{include} wt/wt-run-docker.md
```
-```{include} wt/wt-03.md
+```{include} wt/wt-03-lib-err-and-fix.md
+```
+
+
+### Creating a few sample collections.
+
+```{include} wt/wt-04-default-intro.md
+```
+
+So let's run the script and see this happen:
+
+
+```{include} wt/wt-run-docker.md
+```
+
+```{include} wt/wt-04b-default-after.md
+```
+
+### Setting up a metadata file and creating a few sample collections.
+
+```{include} wt/wt-05-local-file.md
```
Save the file:
@@ -294,12 +362,12 @@ Then run the script again:
```{include} wt/wt-run-docker.md
```
-```{include} wt/wt-04.md
+```{include} wt/wt-06-local-after.md
```
-### Setting up a metadata file and creating a few sample collections.
+### Adding Overlays to movies.
-```{include} wt/wt-05.md
+```{include} wt/wt-07-overlay-add.md
```
Save the file:
@@ -309,27 +377,52 @@ Save the file:
Then run the script again:
-```{include} wt/wt-run-docker.md
+```{include} wt/wt-run-shell.md
+```
+
+```{include} wt/wt-08-overlay-after.md
+```
+
+```{include} wt/wt-09-next-steps.md
```
-```{include} wt/wt-06.md
+## Other Topics
+
+### Scheduling
+
+```{include} wt/wt-10-scheduling.md
```
-### Running the container in the background:
+### I want to use the develop branch
+
+Add the `develop` tag to the image name in your run command [or wherever you specify the image in your environment]
+
+```
+docker run --rm -it -v "PMM_PATH_GOES_HERE:/config:rw" meisnate12/plex-meta-manager:develop --run
+ ^^^^^^^
+```
+
+This may not work if you are not using the official image; for example, it does not work with the lsio image.
+
+### I want to use the nightly branch
+
+Add the `nightly` tag to the image name in your run command [or wherever you specify the image in your environment]
+
+```
+docker run --rm -it -v "PMM_PATH_GOES_HERE:/config:rw" meisnate12/plex-meta-manager:nightly --run
+ ^^^^^^^
+```
-The docker commands in this article are creating and deleting containers.
+This may not work if you are not using the official image; for example, it does not work with the lsio image.
-However, you probably ultimately want a container that runs all the time, even after reboots, and wakes up to do its thing.
+### I want to ensure I am using the master branch
-This would be the minimal case:
+Add the `latest` tag to the image name in your run command [or wherever you specify the image in your environment]
```
-docker run -d \
- --restart=unless-stopped \
- -v PMM_PATH_GOES_HERE:/config:rw \
- meisnate12/plex-meta-manager
+docker run --rm -it -v "PMM_PATH_GOES_HERE:/config:rw" meisnate12/plex-meta-manager:latest --run
+ ^^^^^^
```
-That will create a container that will run in the background until you explicitly stop it, surviving reboots, and waking up every morning at 5AM to process collections.
+This is the only version tag supplied by the lsio image.
-There are of course [other flags you can add](../environmental), but this is the minimal command to create this container.
diff --git a/docs/home/guides/finished.png b/docs/home/guides/finished.png
index 7200d63b..8f1ff731 100644
Binary files a/docs/home/guides/finished.png and b/docs/home/guides/finished.png differ
diff --git a/docs/home/guides/local.md b/docs/home/guides/local.md
index 90d7eea4..a7e9e649 100644
--- a/docs/home/guides/local.md
+++ b/docs/home/guides/local.md
@@ -45,23 +45,45 @@ This walkthrough involves typing commands into a command window. On Mac OS X or
IMPORTANT:
This walkthrough is assuming you are doing the entire process on the same platform; i.e. you're installing PMM and editing its config files on a single Linux, Windows, or OS X machine. It doesn't account for situations like running PMM on a Linux machine while editing the config files on your Windows box.
+### Prepare a small test library
+
+While going through this process, Plex-Meta-Manager is going to load the movies in your library, create some collections, and apply some overlays. If you have a large library, this will be very time-consuming.
+
+For learning and testing, you would be well-advised to create a small test library of a reasonable size, where reasonable it probably below a thousand.
+
+The author has a small library of 10 movies that is used for fast tests.
+
+For best results, your test library will contain:
+
+At least two comedy movies released since 2012.
+At least two movies from the IMDB top 250.
+At least two movies from IMDB's Popular list.
+At least two movies from IMDB's Lowest Rated.
+A couple different resolutions among the movies.
+
+That will ensure there's something to go into each of the example collections that will be created.
+
### Starting up your terminal.
Since most of this is typing commands into a terminal, you'll need to have a terminal open.
````{tab} Linux
+
If your Linux system is remote to your computer, connect to it via SSH. That SSH session is the terminal you will be using, so leave it open.
If you are running this on a desktop Linux machine, start up the Terminal application. That window will be the terminal you will type commands into throughout this walkthrough, so leave it open.
+
````
-````{tab} OS X
+````{tab} OS X:
Open the Terminal app; this window will be the place you type commands throughout this walkthrough, so leave it open. The Terminal app is in Applications -> Utilities.
You can also use iTerm or some other terminal app if you wish. If you don't know what that means, use Terminal.
+
````
-````{tab} Windows
+````{tab} Windows:
Use the Start menu to open PowerShell. This will be the window into which you type commands throughout this walkthrough, so leave it open.
+
````
### Installing Python.
@@ -72,39 +94,33 @@ First let's check if it's installed already [type this into your terminal]:
```
python3 --version
-python --version
```
-If one of these doesn't return `3.7.0` or higher, you'll need to get Python 3 installed.
+If this doesn't return `3.7.0` or higher, you'll need to get Python 3 installed.
````{tab} Linux
+
Describing a python install for any arbitrary linux is out of scope here, but if you're using Ubuntu, [this](https://techviewleo.com/how-to-install-python-on-ubuntu-linux/) might be useful.
+
````
-````{tab} OS X
+````{tab} OS X:
Follow the instructions here: [Installing Python 3 on Mac OS X](https://docs.python-guide.org/starting/install3/osx/)
+
````
-````{tab} Windows
-Go to http://www.python.org/download and download one less than the latest version of Python for Windows in 32 or 64-bit as appropriate for your system [probably 64-bit]. As this is written, that's 3.10. The latest version of Python is 3.11, and there is one piece of PMM that is not ready for 3.11. It will be some time soon, but that isn't under PMM control, so to be safe, grab one back from the latest.
+````{tab} Windows:
+Go to http://www.python.org/download and download the latest version of Python for Windows in 32 or 64-bit as appropriate for your system [probably 64-bit]. As this is written, that's 3.10.4.
Once downloaded, run the installer. Tick “Add to path” checkbox at the bottom and click “Install Now”.
For Windows 10, you will need to enable scripts in PowerShell. Follow the instructions [here](https://windowsloop.com/enable-powershell-scripts-execution-windows-10) to do so. If you skip this step you're going to hit a hard stop in a little bit.
+
````
-Once you've completed the install, verify that will will work on the command line. Close the terminal or Powershell window and open a new one, then type this into your terminal:
-
-```
-python3 --version
-python --version
-```
-
-If one of these doesn't return the version you just downloaded and installed, back up and check your work above.
-
---
### Installing git
-To copy the Plex-Meta-Manager code to your machine, we'll be using git. This may be installed on Mac or Linux, and probably is not in Windows.
+To copy the Plex-Meta-Manager code to your machine, we'll be using git. This may be installed on Mac or Linux, and probably isn't in Windows.
First let's check if it's installed already [type this into your terminal]:
@@ -115,12 +131,17 @@ git --version
If this doesn't return a version number, you'll need to get git installed.
````{tab} Linux
+
The git install is discussed here: [Download for Linux and Unix](https://git-scm.com/download/linux)
+
````
-````{tab} OS X
+````{tab} OS X:
+
The git install is discussed here: [Git - Downloading Package](https://git-scm.com/download/mac)
+
````
-````{tab} Windows
+````{tab} Windows:
+
Download the installer from [here](https://git-scm.com/download/windows)
Run the install; you can probably just accept the defaults and click through except for the step that asks you to choose an editor; you probably want to choose something other than the default there:
@@ -128,16 +149,9 @@ Run the install; you can probably just accept the defaults and click through exc
![Git Install](git-install.png)
This install comes with its own command line interface. **Do not use this interface in this walkthrough**. Continue to do everything here in Powershell.
+
````
-Once you've completed the install, verify that will will work on the command line. Close the terminal or Powershell window and open a new one, then type this into your terminal:
-
-```
-git --version
-```
-
-If that doesn't return the version you just downloaded and installed, back up and check your work above.
-
---
### Retrieving the Plex-Meta-Manager code
@@ -167,38 +181,53 @@ There are parts of the code that are assuming and expecting that you will be in
What did that do?
+
```
cd ~
```
+
This changes to your home directory, which will be something like `/home/yourname` or `/Users/yourname` or `C:\Users\YourName` depending on the platform.
+
```
git clone https://github.com/meisnate12/Plex-Meta-Manager
```
+
This uses `git` to make a copy of (`clone`) the PMM code from where it is stored on `github`.
+
```
cd Plex-Meta-Manager
```
+
This moves into the directory that was created by the `clone` command.
+
+
Later on you can move it elsewhere if you want, but for now put it there. This will ensure that everything to follow works just like it says here. Presumably you’re reading this because the other docs are unclear to you. Don’t make unilateral changes to my assumptions while doing this.
Why use git instead of downloading the release ZIP?
+
Retrieving the code with `git` makes updating simpler. When you want to update to the newest version, you can go into this directory and type:
+
```
git pull
```
+
No need to download a new ZIP, uncompress it, etc.
+
Also, if you are asked to [or want to] switch to the latest develop or nightly code, you can do so with:
+
```
git checkout develop
```
+
```
git checkout nightly
```
+
---
@@ -208,46 +237,67 @@ Later on you can move it elsewhere if you want, but for now put it there. This
This walkthrough is going to use a "virtual environment", since that provides a simple way to keep the requirements for a given thing self-contained; think of it as a "sandbox" for this script. It also provides a clean way to recover from mistakes, and keeps the host system clean.
````{tab} Linux
+
[type this into your terminal]
+
```
python3 -m venv pmm-venv
```
+
If you see an error like:
+
```
Error: Command '['/home/mroche/Plex-Meta-Manager/pmm-venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
```
You probably need to make sure the Python 3.9-specific virtualenv support library is installed:
+
[type this into your terminal]
+
```
sudo apt-get install python3.9-venv
```
+
Then try the original venv command above again.
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
python3 -m venv pmm-venv
```
+
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
python -m venv pmm-venv
```
+
If you see:
+
```
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.
```
+
You apparently didn't check the “Add to path” checkbox above under [installing Python](#installing-python). "Repair" your Python install and check "add python to environment variables".
+
````
What did that do?
+
```
python3 -m venv pmm-venv
```
+
This tells Python3 to use the `venv` module to create a virtual environment called `pmm-venv`. The only visible effect will be the creation of a `pmm-venv` directory.
+
That command will not produce any output if it works; it will display an error if a problem occurs. If everything is fine, you will be looking at something like this:
@@ -262,23 +312,32 @@ If you aren't looking at an error, you're ready to move on.
That will create the virtual environment, and then you need to activate it:
````{tab} Linux
+
[type this into your terminal]
+
```
source pmm-venv/bin/activate
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
source pmm-venv/bin/activate
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
.\pmm-venv\Scripts\activate
```
If you see something like this:
+
```powershell
.\pmm-venv\Scripts\activate : File C:\Users\mroche\Plex-Meta-Manager\pmm-venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink LinkID=135170.
At line:1 char:1
@@ -287,11 +346,13 @@ At line:1 char:1
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
```
+
You apparently skipped the "enable scripts in Powershell" step above under [installing Python](#installing-python) for Windows.
You will need to take care of that before moving on. Follow the instructions [here](https://windowsloop.com/enable-powershell-scripts-execution-windows-10).
Once you have done that, try the activation step again.
+
````
That command will not produce any output if it works; it will display an error if a problem occurs.
@@ -307,8 +368,10 @@ Note that the prompt now shows the name of the virtual environment. You may not
What did that do?
+
This tells Python to make the virtual environment "active", which means to use the copy of python that is available there, install all support libraries there, etc. This keeps the PMM code and its runtime environment totally separate from your host machine's environment.
+
An advantage of doing this in a virtual environment is that in the event something goes wrong with this part of the setup, you can delete that pmm-venv directory and do the setup again.
@@ -316,22 +379,31 @@ An advantage of doing this in a virtual environment is that in the event somethi
**IMPORTANT: In the future, when you want to run the script, you will need to do this "activation" step every time. Not the venv creation, just the activation**:
````{tab} Linux
+
[type this into your terminal]
+
```
source pmm-venv/bin/activate
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
source pmm-venv/bin/activate
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
.\pmm-venv\Scripts\activate
```
+
````
### Installing requirements
@@ -365,8 +437,10 @@ Don't worry about the WARNING about `pip version thus-and-such` if it comes up.
What did that do?
+
This told Python to use the `pip` module to install some libraries that PMM needs.
+
Let’s make sure it’s working so far.
@@ -391,27 +465,36 @@ The default config file contains a reference to a directory that will show an er
We'll create it here so the error doesn't show up later.
````{tab} Linux
+
[type this into your terminal]
+
```
mkdir config/assets
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
mkdir config/assets
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
mkdir config\assets
```
+
````
### Setting up the initial config file
-```{include} wt/wt-01.md
+```{include} wt/wt-01-basic-config.md
```
#### Editing the config template
@@ -419,22 +502,31 @@ mkdir config\assets
First, make a copy of the template. This is going to create a copy of the base template that you can then edit. You only need to do this once.
````{tab} Linux
+
[type this into your terminal]
+
```
cp config/config.yml.template config/config.yml
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
cp config/config.yml.template config/config.yml
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
copy .\config\config.yml.template .\config\config.yml
```
+
````
Now open the copy in an editor:
@@ -442,7 +534,7 @@ Now open the copy in an editor:
```{include} wt/wt-editor.md
```
-```{include} wt/wt-02.md
+```{include} wt/wt-02-config-bad-library.md
```
#### Testing the config file
@@ -457,7 +549,27 @@ Then run the script again:
```{include} wt/wt-run-shell.md
```
-```{include} wt/wt-03.md
+```{include} wt/wt-03-lib-err-and-fix.md
+```
+
+
+### Creating a few sample collections.
+
+```{include} wt/wt-04-default-intro.md
+```
+
+So let's run the script and see this happen:
+
+
+```{include} wt/wt-run-shell.md
+```
+
+```{include} wt/wt-04b-default-after.md
+```
+
+### Setting up a metadata file and creating a sample collection.
+
+```{include} wt/wt-05-local-file.md
```
Save the file:
@@ -470,12 +582,12 @@ Then run the script again:
```{include} wt/wt-run-shell.md
```
-```{include} wt/wt-04.md
+```{include} wt/wt-06-local-after.md
```
-### Setting up a metadata file and creating a few sample collections.
+### Adding Overlays to movies.
-```{include} wt/wt-05.md
+```{include} wt/wt-07-overlay-add.md
```
Save the file:
@@ -488,7 +600,10 @@ Then run the script again:
```{include} wt/wt-run-shell.md
```
-```{include} wt/wt-06.md
+```{include} wt/wt-08-overlay-after.md
+```
+
+```{include} wt/wt-09-next-steps.md
```
When you are done, deactivate the virtual environment:
@@ -501,40 +616,56 @@ deactivate
## Other Topics
+### Scheduling
+
+```{include} wt/wt-10-scheduling.md
+```
+
### I want to update to the latest version of PMM
````{tab} Linux
+
[type this into your terminal]
+
```
cd ~/Plex-Meta-Manager
git pull
source pmm-venv/bin/activate
python -m pip install -r requirements.txt
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
cd ~/Plex-Meta-Manager
git pull
source pmm-venv/bin/activate
python -m pip install -r requirements.txt
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
cd ~\Plex-Meta-Manager
git pull
.\pmm-venv\Scripts\activate
python -m pip install -r requirements.txt
```
+
````
### I want to use the develop branch
````{tab} Linux
+
[type this into your terminal]
+
```
cd ~/Plex-Meta-Manager
git checkout develop
@@ -542,9 +673,12 @@ git pull
source pmm-venv/bin/activate
python -m pip install -r requirements.txt
```
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
+
```
cd ~/Plex-Meta-Manager
git checkout develop
@@ -552,9 +686,12 @@ git pull
source pmm-venv/bin/activate
python -m pip install -r requirements.txt
```
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
+
```
cd ~/Plex-Meta-Manager
git checkout develop
@@ -562,6 +699,7 @@ git pull
.\pmm-venv\Scripts\activate
python -m pip install -r requirements.txt
```
+
````
### I want to use the nightly branch
diff --git a/docs/home/guides/overlays.png b/docs/home/guides/overlays.png
new file mode 100644
index 00000000..5f2ae8d3
Binary files /dev/null and b/docs/home/guides/overlays.png differ
diff --git a/docs/home/guides/wt/wt-01.md b/docs/home/guides/wt/wt-01-basic-config.md
similarity index 100%
rename from docs/home/guides/wt/wt-01.md
rename to docs/home/guides/wt/wt-01-basic-config.md
diff --git a/docs/home/guides/wt/wt-02-config-bad-library.md b/docs/home/guides/wt/wt-02-config-bad-library.md
new file mode 100644
index 00000000..186eedc3
--- /dev/null
+++ b/docs/home/guides/wt/wt-02-config-bad-library.md
@@ -0,0 +1,66 @@
+
+---
+
+Scroll down a bit and update the three things you just collected; Plex URL, Plex Token, and TMDb API Key.
+
+```yaml
+plex: # Can be individually specified per library as well
+ url: http://bing.bang.boing <<< ENTER YOUR PLEX URL HERE
+ token: XXXXXXXXXXXXXXXXXXXX <<< ENTER YOUR PLEX TOKEN HERE
+ timeout: 60
+ clean_bundles: false
+ empty_trash: false
+ optimize: false
+tmdb:
+ apikey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <<< ENTER YOUR TMDb API KEY HERE
+ language: en
+```
+
+Now scroll up and look at the top section:
+
+```yaml
+## This file is a template remove the .template to use the file
+
+libraries: # This is called out once within the config.yml file
+ Movies: # Each library must match the Plex library name
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ overlay_path:
+ - remove_overlays: false # Set this to true to remove all overlays
+ - pmm: ribbon # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ TV Shows:
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ overlay_path:
+ - remove_overlays: false # Set this to true to remove all overlays
+ - pmm: ribbon # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ Anime:
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: anilist # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ Music:
+ metadata_path:
+ - file: config/Music.yml # This is a local file THAT YOU MIGHT CREATE
+```
+
+You will ultimately need an entry here for each of the libraries on which you want PMM to act. Those top-level elements [Movies, TV Shows, Anime, Music] are names of libraries on your Plex server.
+
+For now, delete the “TV Shows”, “Anime”, and "Music" sections and change the name of the “Movies” section to “Movies-NOSUCHLIBRARY":
+
+```yaml
+libraries:
+ Movies-NOSUCHLIBRARY: ## <<< CHANGE THIS LINE
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+```
+
+This is intended to cause an error for illustration that you will then fix.
diff --git a/docs/home/guides/wt/wt-02.md b/docs/home/guides/wt/wt-02.md
deleted file mode 100644
index cdd51067..00000000
--- a/docs/home/guides/wt/wt-02.md
+++ /dev/null
@@ -1,73 +0,0 @@
-
----
-
-Scroll down a bit and update the three things you just collected; Plex URL, Plex Token, and TMDb API Key.
-
-```yaml
-plex: # Can be individually specified per library as well
- url: http://bing.bang.boing <<< ENTER YOUR PLEX URL HERE
- token: XXXXXXXXXXXXXXXXXXXX <<< ENTER YOUR PLEX TOKEN HERE
- timeout: 60
- clean_bundles: false
- empty_trash: false
- optimize: false
-tmdb:
- apikey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <<< ENTER YOUR TMDb API KEY HERE
- language: en
-```
-
-Now scroll up and look at the top section:
-
-```yaml
-## This file is a template remove the .template to use the file
-
-libraries: # This is called out once within the config.yml file
- Movies: # Each library must match the Plex library name
- metadata_path:
- - file: config/Movies.yml # This is a local file on the system
- - folder: config/Movies/ # This is a local directory on the system
- - pmm: basic # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- - pmm: imdb # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- overlay_path:
- - remove_overlays: false # Set this to true to remove all overlays
- - file: config/Overlays.yml # This is a local file on the system
- - pmm: ribbon # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- TV Shows:
- metadata_path:
- - file: config/TVShows.yml
- - folder: config/TV Shows/
- - pmm: basic # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- - pmm: imdb # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- overlay_path:
- - remove_overlays: false # Set this to true to remove all overlays
- - file: config/Overlays.yml # This is a local file on the system
- - pmm: imdb_top_250 # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- Anime:
- metadata_path:
- - file: config/Anime.yml
- - pmm: basic # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- - pmm: anilist # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- Music:
- metadata_path:
- - file: config/Music.yml
-```
-
-You will ultimately need an entry here for each of the libraries on which you want PMM to act. Those top-level elements [Movies, TV Shows, Anime, Music] are names of libraries on your Plex server.
-
-For now, delete the “TV Shows”, “Anime”, and "Music" sections and change the name of the “Movies” section to “Movies-NOSUCHLIBRARY":
-
-```yaml
-libraries:
- Movies-NOSUCHLIBRARY: ## <<< CHANGE THIS LINE
- metadata_path:
- - file: config/Movies.yml # This is a local file on the system
- - folder: config/Movies/ # This is a local directory on the system
- - pmm: basic # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- - pmm: imdb # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
- overlay_path:
- - remove_overlays: false # Set this to true to remove all overlays
- - file: config/Overlays.yml # This is a local file on the system
- - pmm: imdb_top_250 # This is a file within the https://github.com/meisnate12/Plex-Meta-Manager-Configs Repository
-```
-
-This is intended to cause an error for illustration that you will then fix.
diff --git a/docs/home/guides/wt/wt-03.md b/docs/home/guides/wt/wt-03-lib-err-and-fix.md
similarity index 80%
rename from docs/home/guides/wt/wt-03.md
rename to docs/home/guides/wt/wt-03-lib-err-and-fix.md
index 2fe05afd..244cac85 100644
--- a/docs/home/guides/wt/wt-03.md
+++ b/docs/home/guides/wt/wt-03-lib-err-and-fix.md
@@ -24,7 +24,7 @@ I’ve removed some of the lines for space, but have left the important bits:
You can see there that PMM found its config file, was able to connect to TMDb, was able to connect to Plex, and then failed trying to read the “Movies-NOSUCHLIBRARY" library, which of course doesn’t exist.
-Open the config file again and change "Movies-NOSUCHLIBRARY" to reflect *your own* Movie library in Plex. Then delete all but the first line under the "metadata_path” heading. A few of them will create sets of collections, and we just want to create a few as examples.
+Open the config file again and change "Movies-NOSUCHLIBRARY" to reflect *your own* Movie library in Plex.
My Movies library is called “Main Movies", so mine looks like this:
@@ -32,5 +32,7 @@ My Movies library is called “Main Movies", so mine looks like this:
libraries:
Main Movies: ## <<< CHANGE THIS LINE
metadata_path:
- - file: config/Movies.yml
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
```
diff --git a/docs/home/guides/wt/wt-04-default-intro.md b/docs/home/guides/wt/wt-04-default-intro.md
new file mode 100644
index 00000000..ffb75d7a
--- /dev/null
+++ b/docs/home/guides/wt/wt-04-default-intro.md
@@ -0,0 +1,21 @@
+Plex-Meta-Manager provides an extensive collection of "default" metadata files.
+
+These files provide a simple way for you to create collections based on franchises or awards or actors, etc.
+
+The default config links to two of them:
+
+```
+ - pmm: basic
+ - pmm: imdb
+```
+
+The first will create:
+
+ Newly Released
+ New Episodes
+
+The second will create:
+
+ IMDb Popular
+ IMDb Top 250
+ IMDb Lowest Rated
diff --git a/docs/home/guides/wt/wt-04.md b/docs/home/guides/wt/wt-04.md
deleted file mode 100644
index f5e956de..00000000
--- a/docs/home/guides/wt/wt-04.md
+++ /dev/null
@@ -1,24 +0,0 @@
-Now you’ll see some more activity in the Plex connection section:
-
-```
-$ docker run --rm -it -v "/Users/mroche/plex-meta-manager:/config:rw" meisnate12/plex-meta-manager --run
-...
-| Connecting to Plex Libraries...
-...
-| Connecting to Main Movies Library...
-...
-| Loading Metadata File: config/Movies.yml
-|
-| YAML Error: File Error: File does not exist config/Movies.yml
-...
-| Metadata File Error: No valid metadata files found
-|
-| Main Movies Library Connection Failed
-...
-```
-
-PMM may start cataloging your movies at this point; you can hit control-C to stop that if it's happening.
-
-We can see there that it connected to the Plex Library but failed to find that `Movies.yml` metadata file.
-
-So far so good.
diff --git a/docs/home/guides/wt/wt-04b-default-after.md b/docs/home/guides/wt/wt-04b-default-after.md
new file mode 100644
index 00000000..f2e56a4c
--- /dev/null
+++ b/docs/home/guides/wt/wt-04b-default-after.md
@@ -0,0 +1,9 @@
+Depending on the size of the library, this may take a while.
+
+As it builds the collections, you should see a fair amount of logging about which movies are being added and which ones aren’t found. Once it completes, go to Plex, go to your Movies library, and click “Collections” at the top.
+
+On my test library, this created four collections. You may see fewer depending on what specific movies are in that library.
+
+![default-collections](default-collections.png)
+
+Perhaps you can do everything you want with the defaults. You can investigate what they can provide under the "Defaults" heading at the top.
diff --git a/docs/home/guides/wt/wt-05-local-file.md b/docs/home/guides/wt/wt-05-local-file.md
new file mode 100644
index 00000000..868fad43
--- /dev/null
+++ b/docs/home/guides/wt/wt-05-local-file.md
@@ -0,0 +1,64 @@
+If the default metadata files do not allow you to create the collections you want, you can define your own collections in your own metadata files to do whatever you like within the capabilities of PMM. We will create a simple collection that will contain 20 comedy movies since 2012.
+
+First, open the metadata file [this will create the file if it doesn't already exist]:
+
+````{tab} Linux
+
+[type this into your terminal]
+
+```
+nano "config/Movies.yml"
+```
+
+````
+````{tab} OS X:
+
+[type this into your terminal]
+
+```
+nano "config/Movies.yml"
+```
+
+````
+````{tab} Windows:
+
+[type this into your terminal]
+
+```
+notepad "config\Movies.yml"
+```
+
+````
+
+In this file, add the following, exactly as it is shown here:
+
+```yaml
+collections:
+ Recent Comedy:
+ plex_search:
+ all:
+ genre: Comedy
+ year.gte: 2012
+ limit: 20
+```
+
+Save the file:
+
+```{include} wt/wt-save.md
+```
+
+Next, add a reference to this file to your config file.
+
+Open the config file again and add the last line shown below:
+
+```yaml
+libraries:
+ Main Movies: ## <<< CHANGE THIS LINE
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ - file: config/Movies.yml
+```
+
+That line needs to match the path you used when you created the file a moment ago.
\ No newline at end of file
diff --git a/docs/home/guides/wt/wt-05.md b/docs/home/guides/wt/wt-05.md
deleted file mode 100644
index b7635bb8..00000000
--- a/docs/home/guides/wt/wt-05.md
+++ /dev/null
@@ -1,60 +0,0 @@
-Now we have to set up that metadata file that PMM just complained about.
-
-This metadata file contains definitions of the actions you want PMM to take; these can be things like creating collections or playlists, adding overlays, changing things like posters, etc. You can find lots of examples [here](https://github.com/meisnate12/Plex-Meta-Manager-Configs) and throughout the wiki.
-
-For now we’re going to create a few collections so you can watch the process work, then you’re on your own to create whatever others you want.
-
-First, open the metadata file [this will create the file if it doesn't already exist]:
-
-````{tab} Linux
-[type this into your terminal]
-```
-nano "config/Movies.yml"
-```
-````
-````{tab} OS X
-[type this into your terminal]
-```
-nano "config/Movies.yml"
-```
-````
-````{tab} Windows
-[type this into your terminal]
-```
-notepad "config\Movies.yml"
-```
-````
-
-In this file, add the following, exactly as it is shown here:
-
-```yaml
-templates:
- Actor:
- actor: tmdb
- tmdb_person: <>
- tmdb_actor_details: <>
- sort_title: +_<>
- sync_mode: sync
- collection_order: release
- collection_mode: hide
-collections:
- Bill Murray:
- template: {name: Actor, person: 1532}
- Best of the 1980s:
- tmdb_discover:
- primary_release_date.gte: 01/01/1980
- primary_release_date.lte: 12/31/1989
- with_original_language: en
- sort_by: popularity.desc
- limit: 100
- summary: A collection of the Top Content of the 1980s
- Vulture’s 101 Best Movie Endings:
- letterboxd_list: https://letterboxd.com/brianformo/list/vultures-101-best-movie-endings/
-```
-
-I chose a letterboxd list for the last one since trakt requires authentication and again, I didn’t want to complicate this walkthrough.
-
-This is going to create three collections. One contains movies that feature Bill Murray. One is up to 100 movies that came out in the 1980s sorted by popularity. The last are movies that appear on a list of good endings according to Vulture.
-
-The first one is based on a template to illustrate that concept. If you wanted to create a collection for another actor you just have to copy and edit those two lines [the ID comes from TMDb]. All the other config details come from the template.
-
diff --git a/docs/home/guides/wt/wt-06-local-after.md b/docs/home/guides/wt/wt-06-local-after.md
new file mode 100644
index 00000000..4ccda43d
--- /dev/null
+++ b/docs/home/guides/wt/wt-06-local-after.md
@@ -0,0 +1,16 @@
+You should see that the metadata file gets loaded:
+
+```
+| Loading Metadata File: config/Movies.yml
+| Metadata File Loaded Successfully
+```
+
+As it builds the collection, you should see a fair amount of logging about which movies are being added and which ones aren’t found. Once it completes, go to Plex, go to your Movies library, and click “Collections” at the top.
+
+You should see the new collection:
+
+![Finished Collections](finished.png)
+
+When you click into each, you’ll see the movies that PMM added to each collection.
+
+Each time you run the script, new movies that match the collection definitions will be added. For example, if you don’t have “The ShawShank Redemption” now, when you download it and run PMM again it will be added to the IMDB 250 collection.
diff --git a/docs/home/guides/wt/wt-06.md b/docs/home/guides/wt/wt-06.md
deleted file mode 100644
index 75d5503d..00000000
--- a/docs/home/guides/wt/wt-06.md
+++ /dev/null
@@ -1,32 +0,0 @@
-This time you should see that the metadata file gets loaded:
-
-```
-| Loading Metadata File: config/Movies.yml
-| Metadata File Loaded Successfully
-```
-
-And this time it will catalog all your movies. This could take a while depending on how many movies are in that library.
-
-Once this mapping is complete it will move on to build those three collections.
-
-As it builds the collections, you should see a fair amount of logging about which movies are being added and which ones aren’t found. Once it completes, go to Plex, go to your Movies library, and click “Collections” at the top.
-
-You should see the three new collections:
-
-![Finished Collections](finished.png)
-
-When you click into each, you’ll see the movies that PMM added to each collection.
-
-Each time you run the script, new movies that match the collection definition will be added. For example, if you don’t have “The Razors’ Edge” now, when you download it and run PMM again it will be added to the Bill Murray collection.
-
-If you download any of the missing 22 movies on the Vulture list, running PMM would add them to that collection. And so on.
-
-### What comes next:
-
-Delete these three collections if you want, from both Plex and the metadata file [`config/Movies.yml`].
-
-Edit `Movies.yml` to reflect the actions you want PMM to perform on *your* libraries.
-
-TV Shows and other libraries work the same way as you've seen above. Create a section under `Libraries:` in the config.yml, create a metadata file, define collections, run the script.
-
-Investigate the rest of the wiki to learn about everything Plex-Meta-Manager can do for you.
diff --git a/docs/home/guides/wt/wt-07-overlay-add.md b/docs/home/guides/wt/wt-07-overlay-add.md
new file mode 100644
index 00000000..70767e5b
--- /dev/null
+++ b/docs/home/guides/wt/wt-07-overlay-add.md
@@ -0,0 +1,18 @@
+The default metadata files include a set of overlays you can add to your posters.
+
+We'll add resolution overlays to the movies in this library as an example.
+
+Open the config file again and add the last three lines shown below:
+
+```yaml
+libraries:
+ Main Movies: ## <<< CHANGE THIS LINE
+ metadata_path:
+ - pmm: basic # This is a file within the defaults folder in the Repository
+ - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ - file: config/Movies.yml
+ overlay_path:
+ - remove_overlays: false
+ - pmm: resolution
+```
diff --git a/docs/home/guides/wt/wt-08-overlay-after.md b/docs/home/guides/wt/wt-08-overlay-after.md
new file mode 100644
index 00000000..71ae9e68
--- /dev/null
+++ b/docs/home/guides/wt/wt-08-overlay-after.md
@@ -0,0 +1,23 @@
+While it runs this time you should see the previous collections go by pretty quickly, since they aren't changing, and then a lot of logging as PMM decides which overlays apply to which movies.
+
+This may take quite a while depending on the size of this library.
+
+Eventually, you'll see it start applying overlays to all your movies:
+
+```
+|=========================================================|
+| Applying Overlays for the Movies - 4K Library |
+|=========================================================|
+| |
+| 10 Cloverfield Lane | Overlays Applied: 4K-HDR |
+| 10 Minutes Gone | Overlays Applied: 4K-HDR |
+| 10 Things I Hate About You | Overlays Applied: 4K-HDR |
+| 12 Mighty Orphans | Overlays Applied: 4K-HDR |
+| 12 Monkeys | Overlays Applied: 4K-DV |
+| 12 Strong | Overlays Applied: 4K-HDR |
+...
+```
+
+When it finishes, go to the Library tab in this library in Plex:
+
+![Overlaid posters](overlays.png)
diff --git a/docs/home/guides/wt/wt-09-next-steps.md b/docs/home/guides/wt/wt-09-next-steps.md
new file mode 100644
index 00000000..7c2656cc
--- /dev/null
+++ b/docs/home/guides/wt/wt-09-next-steps.md
@@ -0,0 +1,39 @@
+### What comes next:
+
+If you want to remove those overlays, open the config file, change the value of `remove_overlays` to `true`, and rerun PMM.
+
+```
+ overlay_path:
+ - remove_overlays: true
+ - pmm: resolution
+```
+
+If you want to remove those collections, open the config file, remove or comment out [add `#` to the beginning] any or all of those lines under `metadata_path`, and delete the collections manually from Plex.
+
+```yaml
+libraries:
+ Main Movies:
+ metadata_path:
+ # - pmm: basic # This is a file within the defaults folder in the Repository
+ # - pmm: imdb # This is a file within the defaults folder in the Repository
+ # see the wiki for how to use local files, folders, URLs, or files from git
+ # - file: config/Movies.yml
+ overlay_path:
+ - remove_overlays: false
+ - pmm: resolution
+```
+
+Edit `Movies.yml` to reflect the actions you want PMM to perform on *your* libraries.
+
+TV Shows and other libraries work the same way as you've seen above. Create a section under `Libraries:` in the config.yml, refer to default files or create a metadata file, define collections, run the script.
+
+Investigate the rest of the wiki to learn about everything Plex-Meta-Manager can do for you.
+
+### Runtime and Environment Flags
+
+The command in this walkthrough will run all collections and libraries immediately. If you want to modify that behavior to run just one or some collections, or just one library, or just overlays or the like, review the [Run Commands & Environment Variables](../../environmental.md).
+
+### Creating Collections, Overlays, Playlists, etc.
+
+These things are all generally defined in metadata files that are referred to in the config file. The starting point for creating these files is [here](../../../metadata/metadata.md).
+
diff --git a/docs/home/guides/wt/wt-10-scheduling.md b/docs/home/guides/wt/wt-10-scheduling.md
new file mode 100644
index 00000000..9bc44334
--- /dev/null
+++ b/docs/home/guides/wt/wt-10-scheduling.md
@@ -0,0 +1,13 @@
+The commands you've been using in this walkthrough runn Plex-Meta-Manager immediately.
+
+Plex Meta Manager also features multiple layers of scheduling, which you can leverage to
+
+You can run PMM in the background, telling it to wake up and process your libraries at fixed times during the day. The default behavior in this regard is to wake up at 5AM and process the config.
+
+You can skip using that internal schedule and just do manual runs as you have been doing throughout this walkthrough using standard tools available in your OS.
+
+Details on setting this up are found [here](../scheduling.md).
+
+In addition, individual items *within* the configuration can be scheduled to take place at certain times *provided PMM is running at that time*. For example, you can tell PMM only to apply overlays on Tuesdays or the like. YOu can then schedule manual runs every day at noon and overlays will only get processed when it runs on Tuesday. This sort of schedule *will not* make PMM start up if it is not already running. If you don't arrange for PMM to be run on Tuesday, your overlays would never be processed in this example.
+
+Details on this level of scheduling are found [here](../../../metadata/details/schedule.md)
diff --git a/docs/home/guides/wt/wt-editor.md b/docs/home/guides/wt/wt-editor.md
index 2184c632..fd0097d7 100644
--- a/docs/home/guides/wt/wt-editor.md
+++ b/docs/home/guides/wt/wt-editor.md
@@ -1,4 +1,5 @@
````{tab} Linux
+
[type this into your terminal]
```
@@ -22,8 +23,10 @@ sudo apt install nano
```
You can use any other text editor you wish, provided it saves files as PLAIN TEXT. `vi`, `emacs`, etc.
+
````
-````{tab} OS X
+````{tab} OS X:
+
[type this into your terminal]
```
@@ -33,14 +36,17 @@ nano config/config.yml
I’m using `nano` here simply because it’s built into OSX. You can use any other text editor you wish, provided it saves files as PLAIN TEXT. BBedit, TextMate, VSCode, etc.
A common mistake is using TextEdit.app, which saves files as RTF by default.
+
````
-````{tab} Windows
+````{tab} Windows:
+
[type this into your terminal]
```
notepad .\config\config.yml
```
I’m using `notepad` here simply because it’s built into Windows. You can use any other text editor you wish, provided it saves files as PLAIN TEXT.
+
````
From here on in, when this walkthrough says "open the config file", I mean this `nano` or `notepad` command. **Don't copy the template again**.
diff --git a/docs/home/guides/wt/wt-save.md b/docs/home/guides/wt/wt-save.md
index da5c6f0d..59d4d7e1 100644
--- a/docs/home/guides/wt/wt-save.md
+++ b/docs/home/guides/wt/wt-save.md
@@ -1,9 +1,14 @@
````{tab} Linux
+
If you're using `nano`, type control-`x`, then `y`, then the enter key.
+
````
-````{tab} OS X
+````{tab} OS X:
+
If you're using `nano`, type control-`x`, then `y`, then the enter key.
````
-````{tab} Windows
-If you're using `notepad`, type alt-`s` or choose `Save` from the `File` menu.
+````{tab} Windows:
+
+If you're using `notepad`, type control-`s` or choose `Save` from the `File` menu.
+
````