diff --git a/docs/getting-started/installing-shoko-server.md b/docs/getting-started/installing-shoko-server.md index a2d45403..7abf654f 100644 --- a/docs/getting-started/installing-shoko-server.md +++ b/docs/getting-started/installing-shoko-server.md @@ -148,10 +148,10 @@ Follow these steps to set up a Shoko server using a custom app: 5. Configure **Port Forwarding**: - Container Port: `8111` - Node Port: Choose any available port - - Extra for Truenas EE: + - Extra for Truenas EE: - Container Port: `4556` - Host Port: `4556` - - Protocol: `udp` + - Protocol: `udp` 6. Set up **Storage**: - **Optional**: Mount Shoko config -> If not mounted the DB will be lost on container restart - Host Path: Path to store Shoko config @@ -181,8 +181,8 @@ You may encounter the following issues when setting up Shoko Server with TrueNAS ## Bare Metal (Ubuntu) -:::danger -This option is **not recommended** because it requires manual updates whenever a new version is released, as automatic updates are not available. +:::danger +This option is **not recommended** because it requires manual updates whenever a new version is released, as automatic updates are not available. Additionally, a strong understanding of Linux is needed to follow these steps and troubleshoot any issues that may occur. Please note that we are unable to provide direct support for installations performed using this method. ::: diff --git a/docs/jellyfin/configuring-shokofin.md b/docs/jellyfin/configuring-shokofin.md index 66bafab9..13ea6b4c 100644 --- a/docs/jellyfin/configuring-shokofin.md +++ b/docs/jellyfin/configuring-shokofin.md @@ -14,19 +14,19 @@ const containerColumns = [ const connectingData = [ { Option: "Private Host URL", - description: "The local IP or hostname that your running Shoko Server can be accessed directly from wherever Jellyfin is running." + Description: "The local IP or hostname that your running Shoko Server can be accessed directly from wherever Jellyfin is running." }, { Option: "Public Host URL (Optional)", - description: "A public IP or hostname that can be used to access Shoko Server when the private host URL is not accessible from your browser when accessing Jellyfin. Most commonly used when Jellyfin is accessed outside your network or other complex network setups. If you do not know what any of this means, leave this field empty." + Description: "A public IP or hostname that can be used to access Shoko Server when the private host URL is not accessible from your browser when accessing Jellyfin. Most commonly used when Jellyfin is accessed outside your network or other complex network setups. If you do not know what any of this means, leave this field empty." }, { Option: "Username", - description: "The username to your administrator account for Shoko Server." + Description: "The username to your administrator account for Shoko Server." }, { Option: "Password", - description: "The password to your administrator account for Shoko Server." + Description: "The password to your administrator account for Shoko Server." }, ]; @@ -34,25 +34,25 @@ const titleSettingsData = [ { Advanced: "", Option: "Main Title Source", - description: "Enable and order available sources in the priority you want used for the main title of your series.", + Description: "Enable and order available sources in the priority you want used for the main title of your series.", Default: "Shoko" }, { Advanced: "", Option: "Alternate/Original Title Source", - description: "Enable and order available sources in the priority you want used for the alternative title of your series.", + Description: "Enable and order available sources in the priority you want used for the alternative title of your series.", Default: "None" }, { Advanced: "", Option: "Add Prefix to Episodes", - description: "Adds the type and number to the title of non-standard episodes such as specials. (e.g. S1, O1)", + Description: "Adds the type and number to the title of non-standard episodes such as specials. (e.g. S1, O1)", Default: "✓" }, { Advanced: "⚠", Option: "Allow Any Title in Selected Language", - description: "Allows for alternative titles to be utilized if an official title is not present in the given language. Only applies to AniDB title selectors when using a title override that follows language settings.", + Description: "Allows for alternative titles to be utilized if an official title is not present in the given language. Only applies to AniDB title selectors when using a title override that follows language settings.", Default: "" }, ]; @@ -61,13 +61,13 @@ const descriptionSettingsData = [ { Advanced: "⚠", Option: "Cleanup AniDB Descriptions", - description: "Prettifies AniDB descriptions and converts them to markdown supported by Jellyfin.", + Description: "Prettifies AniDB descriptions and converts them to markdown supported by Jellyfin.", Default: "✓" }, { Advanced: "", Option: "Description Source", - description: "Enable and order available sources in the priority you want used for the descriptions of your series.", + Description: "Enable and order available sources in the priority you want used for the descriptions of your series.", Default: "Shoko" }, ]; @@ -76,55 +76,55 @@ const tagGenreSettingsData = [ { Advanced: "⚠", Option: "Ignore Unverified Tags", - description: "Don't use any user-submitted tags that have not been verified by AniDB.", + Description: "Don't use any user-submitted tags that have not been verified by AniDB.", Default: "✓" }, { Advanced: "⚠", Option: "Tag Sources", - description: "Select which types of tag categories you want to use ranging from setting to themes to technical aspects.", + Description: "Select which types of tag categories you want to use ranging from setting to themes to technical aspects.", Default: "All except Ungrouped and Unsorted" }, { Advanced: "⚠", Option: "Tag Inclusion Filters", - description: "Filter which kind of tags to include ranging from spoilers to tag relationships.", + Description: "Filter which kind of tags to include ranging from spoilers to tag relationships.", Default: "All except Spoilers" }, { Advanced: "⚠", Option: "Minimum Weight for Tags", - description: "Choose the minimum weight a tag must have to be included, not including weightless tags.", + Description: "Choose the minimum weight a tag must have to be included, not including weightless tags.", Default: "All Allowed" }, { Advanced: "⚠", Option: "Maximum Depth for Tags", - description: "The maximum relative depth of a tag to be included based on it's source category.", + Description: "The maximum relative depth of a tag to be included based on it's source category.", Default: "0" }, { Advanced: "⚠", Option: "Genre Sources", - description: "Select which types of genre categories you want to use ranging from elements to source material to target audience.", + Description: "Select which types of genre categories you want to use ranging from elements to source material to target audience.", Default: "General Elements, Source Material, Target Audience" }, { Advanced: "⚠", Option: "Genre Inclusion Filters", - description: "Filter which kind of genres to include ranging from spoilers to tag relationships.", + Description: "Filter which kind of genres to include ranging from spoilers to tag relationships.", Default: "All except Spoilers" }, { Advanced: "⚠", Option: "Minimum Weight for Genres", - description: "Choose the minimum weight a genre must have to be included, not including weightless tags.", + Description: "Choose the minimum weight a genre must have to be included, not including weightless tags.", Default: "2 Stars" }, { Advanced: "⚠", Option: "Maximum Depth for Genres", - description: "The maximum relative depth of a genre to be included based on it's source category.", + Description: "The maximum relative depth of a genre to be included based on it's source category.", Default: "1" }, ]; @@ -133,13 +133,13 @@ const imageSettingsData = [ { Advanced: "", Option: "Add Language Code", - description: "Adds the language code to any image metadata provided which Jellyfin can use to prioritize images based on a library's configured language. If a library has no language set, Jellyfin will prioritize the English labeled images.", + Description: "Adds the language code to any image metadata provided which Jellyfin can use to prioritize images based on a library's configured language. If a library has no language set, Jellyfin will prioritize the English labeled images.", Default: "" }, { Advanced: "⚠", Option: "Respect Preferred Image", - description: "Respect the preferred image flag sent from Shoko Server when selecting the correct image to use for the library. Setting this will also set the language code to the preferred language code for the library if 'Add Language Code' is enabled, thus ensuring it is always selected for the library.", + Description: "Respect the preferred image flag sent from Shoko Server when selecting the correct image to use for the library. Setting this will also set the language code to the preferred language code for the library if 'Add Language Code' is enabled, thus ensuring it is always selected for the library.", Default: "✓" }, ]; @@ -148,13 +148,13 @@ const contentRatingLocationSettingsData = [ { Advanced: "⚠", Option: "Content Rating Sources", - description: "Enable and order available sources in the priority you want used for the media content ratings (TV-G, TV-PG, TV-MA, XXX) of your series.", + Description: "Enable and order available sources in the priority you want used for the media content ratings (TV-G, TV-PG, TV-MA, XXX) of your series.", Default: "TMDB, AniDB" }, { Advanced: "⚠", Option: "Production Location Sources", - description: "Enable and order available sources in the priority you want used for the production locations of your series.", + Description: "Enable and order available sources in the priority you want used for the production locations of your series.", Default: "AniDB, TMDB" }, ]; @@ -163,7 +163,7 @@ const thirdPartyIDSettingsData = [ { Advanced: "", Option: "Add Third Party IDs", - description: "Enable which third party IDs to provide for other plugins to consume with supported media items.", + Description: "Enable which third party IDs to provide for other plugins to consume with supported media items.", Default: "AniDB" }, ]; @@ -172,49 +172,49 @@ const shokofinSettingsData = [ { Advanced: "⚠", Option: "Automatically Merge Multiple Versions of Videos", - description: "Enable to allow Shokofin to merge alternate versions of the same media into a single displayed entry.", + Description: "Enable to allow Shokofin to merge alternate versions of the same media into a single displayed entry.", Default: "✓" }, { Advanced: "", Option: "Use Groups for Shows", - description: "Enable this to have Shokofin group your media the same way that can be seen in Shoko Server. This requires grouping to be setup and configured within Shoko Server itself for this setting to work.", + Description: "Enable this to have Shokofin group your media the same way that can be seen in Shoko Server. This requires grouping to be setup and configured within Shoko Server itself for this setting to work.", Default: "" }, { Advanced: "⚠", Option: "Season Ordering", - description: "Choose the behavior of how seasons are ordered. You can choose between letting Shoko Server decide, order by release date, or order chronologically using AniDB relations.", + Description: "Choose the behavior of how seasons are ordered. You can choose between letting Shoko Server decide, order by release date, or order chronologically using AniDB relations.", Default: "Let Shoko decide" }, { Advanced: "", Option: "Specials Placement Within Seasons", - description: "Change this to adjust where specials are placed in their respective season or filter them out entirely.", + Description: "Change this to adjust where specials are placed in their respective season or filter them out entirely.", Default: "Always place specials after the normal episodes" }, { Advanced: "", Option: "Separate Movies From Shows", - description: "Enable this to filter out movies from a Jellyfin Shows library. Also separates movies from displaying alongside shows within a native Jellyfin collection and places each type under their respective headings.", + Description: "Enable this to filter out movies from a Jellyfin Shows library. Also separates movies from displaying alongside shows within a native Jellyfin collection and places each type under their respective headings.", Default: "" }, { Advanced: "", Option: "Add Missing Episodes/Seasons", - description: "Add episode/season entries for media that is not currently present in your local collection. Display settings for each Jellyfin user will have to be adjusted to show missing episode information to make use of this feature.", + Description: "Add episode/season entries for media that is not currently present in your local collection. Display settings for each Jellyfin user will have to be adjusted to show missing episode information to make use of this feature.", Default: "✓" }, { Advanced: "⚠", Option: "Disable Movie Library Filtering", - description: "By default we filter out anything that is not a movie in Jellyfin Movie libraries. Enable this if you want everything to show up as movies in your Jellyfin Movie libraries instead.", + Description: "By default we filter out anything that is not a movie in Jellyfin Movie libraries. Enable this if you want everything to show up as movies in your Jellyfin Movie libraries instead.", Default: "✓" }, { Advanced: "⚠", Option: "Force Movie Special Features", - description: "Append all specials that belong to an AniDB movie series as special features for the movie(s). By default only some specials will be automatically recognized as special features, but by enabling this option you will force all specials to be used as special features. This setting applies to movie series across all library types, and will break movie series that contain specials in a show type library.", + Description: "Append all specials that belong to an AniDB movie series as special features for the movie(s). By default only some specials will be automatically recognized as special features, but by enabling this option you will force all specials to be used as special features. This setting applies to movie series across all library types, and will break movie series that contain specials in a show type library.", Default: "" }, ]; @@ -223,13 +223,13 @@ const shokofinCollectionSettingsData = [ { Advanced: "", Option: "Collections", - description: "Configure how native Jellyfin collections should be created if at all based on Shoko Server provided metadata.", + Description: "Configure how native Jellyfin collections should be created if at all based on Shoko Server provided metadata.", Default: "Do not create collections" }, { Advanced: "⚠", Option: "Require Two Entries for a Collection", - description: "If collection creation is enabled, only create a collection when the collection will contain at least two items.", + Description: "If collection creation is enabled, only create a collection when the collection will contain at least two items.", Default: "✓" }, ]; @@ -238,19 +238,19 @@ const shokofinLibrarySettingsData = [ { Advanced: "", Option: "Import Folder Mapping", - description: "Only displays when an existing library is being configured. Displays the identified import folder name that the library is mapped to inside Shoko Server. A deletion button will be displayed as a way to remove the mapping configuration and allow Shokofin to remap the folder on the next library scan.", + Description: "Only displays when an existing library is being configured. Displays the identified import folder name that the library is mapped to inside Shoko Server. A deletion button will be displayed as a way to remove the mapping configuration and allow Shokofin to remap the folder on the next library scan.", Default: "N/A" }, { Advanced: "", Option: "Use the Virtual File System (**VFS**)", - description: "This feature allows you to disregard the underlying disk file structure while automagically meeting Jellyfin's requirements for file organization. It also ensures that no unrecognized files appear in your library and allows us to fully leverage Jellyfin's native features better than we otherwise could. This enables us to effortlessly support trailers, special features, and theme videos for series, seasons and movies, as well as merge partial episodes into a single entry. All this is possible because we disregard the underlying disk file structure to create our own using symbolic links.\nRefer to our [Recommendations](/jellyfin/recommendations/#virtual-file-system-vfs) page for additional information on what to expect whether you choose to use this feature or not.", + Description: "This feature allows you to disregard the underlying disk file structure while automagically meeting Jellyfin's requirements for file organization. It also ensures that no unrecognized files appear in your library and allows us to fully leverage Jellyfin's native features better than we otherwise could. This enables us to effortlessly support trailers, special features, and theme videos for series, seasons and movies, as well as merge partial episodes into a single entry. All this is possible because we disregard the underlying disk file structure to create our own using symbolic links.\nRefer to our [Recommendations](/jellyfin/recommendations/#virtual-file-system-vfs) page for additional information on what to expect whether you choose to use this feature or not.", Default: "✓" }, { Advanced: "", Option: "Legacy Library Filtering", - description: "Adjust how Shokofin filters out unrecognized media from your library. Set to Strict to hide all media not yet recognized by Shoko Server. Set to Lax to allow unrecognized media to appear in the library. Set to Auto to have Shokofin filter out unrecognized media only if no other providers are enabled for the library. Only applies to libraries not using the VFS. VFS managed libraries will always act as though Strict has been set.", + Description: "Adjust how Shokofin filters out unrecognized media from your library. Set to Strict to hide all media not yet recognized by Shoko Server. Set to Lax to allow unrecognized media to appear in the library. Set to Auto to have Shokofin filter out unrecognized media only if no other providers are enabled for the library. Only applies to libraries not using the VFS. VFS managed libraries will always act as though Strict has been set.", Default: "Strict" }, ]; @@ -259,31 +259,31 @@ const shokofinVFSSettingsData = [ { Advanced: "", Option: "Add Trailers", - description: "Makes trailers appear as a native feature that Jellyfin can use.", + Description: "Makes trailers appear as a native feature that Jellyfin can use.", Default: "✓" }, { Advanced: "", Option: "Add Credits as Theme Videos", - description: "Make OPs/EDs appear as a native theme video that Jellyfin can use.", + Description: "Make OPs/EDs appear as a native theme video that Jellyfin can use.", Default: "✓" }, { Advanced: "", Option: "Add Credits as Special Features", - description: "Make OPs/EDs show up as native special features within Jellyfin.", + Description: "Make OPs/EDs show up as native special features within Jellyfin.", Default: "" }, { Advanced: "", Option: "Add Release Group to Path", - description: "Will add full or short release group names to all automatically linked files in the VFS. 'No Group' will be used if the file is not associated with a release group in Shoko Server. \n\n**Warning:** The release group in the file name may change if the release group info is incomplete, unavailable, or otherwise updated in Shoko Server at a later date. This may cause episode/movie entries to be 'removed' and 'added' as new entries when that happens. **Use at your own risk.**", + Description: "Will add full or short release group names to all automatically linked files in the VFS. 'No Group' will be used if the file is not associated with a release group in Shoko Server. \n\n**Warning:** The release group in the file name may change if the release group info is incomplete, unavailable, or otherwise updated in Shoko Server at a later date. This may cause episode/movie entries to be 'removed' and 'added' as new entries when that happens. **Use at your own risk.**", Default: "" }, { Advanced: "", Option: "Add Resolution to Path", - description: "Will add the resolution of the media to all automatically linked files in the VFS if available. \n\n**Warning:** Though rare, we may fail to read the media info in Shoko Server when the files were first added (e.g. because of a corrupt file, encountering an unsupported new codec, etc.), then reading it later. This may cause episode/movie entries to be 'removed' and 'added' as new entries when that happens. **Use at your own risk.**", + Description: "Will add the resolution of the media to all automatically linked files in the VFS if available. \n\n**Warning:** Though rare, we may fail to read the media info in Shoko Server when the files were first added (e.g. because of a corrupt file, encountering an unsupported new codec, etc.), then reading it later. This may cause episode/movie entries to be 'removed' and 'added' as new entries when that happens. **Use at your own risk.**", Default: "" }, ]; @@ -292,19 +292,19 @@ const advancedShokofinVFSSettingsData = [ { Advanced: "⚠", Option: "Resolve Links Before VFS", - description: "If a library contains symbolic links to media, it will follow them until a final 'real' file is found and use the path of said file for the VFS.", + Description: "If a library contains symbolic links to media, it will follow them until a final 'real' file is found and use the path of said file for the VFS.", Default: "" }, { Advanced: "⚠", Option: "Attach VFS to Libraries", - description: "Makes the VFS file structure that Shokofin automatically created show up as a library folder. This allows reusing the same media folder(s) across multiple libraries without needing other workarounds. Useful for separating movies and series into separate libraries while still using the same media folder for both.", + Description: "Makes the VFS file structure that Shokofin automatically created show up as a library folder. This allows reusing the same media folder(s) across multiple libraries without needing other workarounds. Useful for separating movies and series into separate libraries while still using the same media folder for both.", Default: "✓" }, { Advanced: "⚠", Option: "VFS Location", - description: "Change the location that Shokofin will place the VFS structure it generates on your system. Changing this will cause your library to 'remove' and 're-add' itself because of the path changes. You will need to manually move your VFS root if you plan to keep it when toggling this setting. Trick-play files will need to be backed-up beforehand and moved back the next library scan if you want to avoid regenerating them after you change this setting. \n**You have been warned.**", + Description: "Change the location that Shokofin will place the VFS structure it generates on your system. Changing this will cause your library to 'remove' and 're-add' itself because of the path changes. You will need to manually move your VFS root if you plan to keep it when toggling this setting. Trick-play files will need to be backed-up beforehand and moved back the next library scan if you want to avoid regenerating them after you change this setting. \n**You have been warned.**", Default: "Jellyfin Data Directory" }, ]; @@ -312,46 +312,46 @@ const advancedShokofinVFSSettingsData = [ const shokofinSyncSettingsData = [ { Option: "Enable Synchronization Features", - description: "Enable syncing certain data between Jellyfin and Shoko Server. The specific behavior on what gets synced and when can be configured using the remaining options in this section. Leaving this setting unchecked will disable synchronization entirely, regardless of other synchronization settings." + Description: "Enable syncing certain data between Jellyfin and Shoko Server. The specific behavior on what gets synced and when can be configured using the remaining options in this section. Leaving this setting unchecked will disable synchronization entirely, regardless of other synchronization settings." }, { Option: "Sync Watch-State on Import or Refresh", - description: "When media gets scanned into your library or when a library's metadata gets refreshed, sync watch-state between Jellyfin and Shoko Server." + Description: "When media gets scanned into your library or when a library's metadata gets refreshed, sync watch-state between Jellyfin and Shoko Server." }, { Option: "Sync Watch-State After Playback", - description: "Sync watch-state with Shoko Server when you finish watching a movie, episode, or other video." + Description: "Sync watch-state with Shoko Server when you finish watching a movie, episode, or other video." }, { Option: "Sync Watch-State Events During Playback", - description: "Sync partial watch-state to Shoko Server on play/pause/stop/resume events during media playback." + Description: "Sync partial watch-state to Shoko Server on play/pause/stop/resume events during media playback." }, { Option: "Sync Watch-State Live During Playback", - description: "Sync partial watch-state to Shoko Server at a regular interval during media playback." + Description: "Sync partial watch-state to Shoko Server at a regular interval during media playback." }, { Option: "Lazy Sync Watch-State Events With Shoko", - description: "Wait about 10 seconds before syncing any of the above configured watch-state events to Shoko Server. This will prevent accidental clicks and/or previews from marking a file as watched in Shoko Server, and will also keep them more in sync with Jellyfin since it's closer to how Jellyfin handles the watch-state internally." + Description: "Wait about 10 seconds before syncing any of the above configured watch-state events to Shoko Server. This will prevent accidental clicks and/or previews from marking a file as watched in Shoko Server, and will also keep them more in sync with Jellyfin since it's closer to how Jellyfin handles the watch-state internally." }, { Option: "Sync Watch-State for Restricted Videos", - description: "Allow syncing watch-state for adult content to Shoko Server." + Description: "Allow syncing watch-state for adult content to Shoko Server." }, { Option: "Username", - description: "The user in Shoko Server to sync the above watch-state events to." + Description: "The user in Shoko Server to sync the above watch-state events to." }, { Option: "Password", - description: "The password for the specified Shoko Server account." + Description: "The password for the specified Shoko Server account." }, ]; const shokofinSignalRStatusData = [ { Option: "Connection Status", - description: "Shows the current status of the SignalR connection. Will display if SignalR is disabled or enabled and if SignalR is currently connected or in the process of reconnecting to your running Shoko Server. SignalR can also be manually connected or disconnected using the button below this indicator." + Description: "Shows the current status of the SignalR connection. Will display if SignalR is disabled or enabled and if SignalR is currently connected or in the process of reconnecting to your running Shoko Server. SignalR can also be manually connected or disconnected using the button below this indicator." }, ]; @@ -359,19 +359,19 @@ const shokofinSignalRSettingsData = [ { Advanced: "", Option: "Auto Connect on Start", - description: "Attempt to connect to your running Shoko Server when Jellyfin starts up.", + Description: "Attempt to connect to your running Shoko Server when Jellyfin starts up.", Default: "" }, { Advanced: "⚠", Option: "Auto Reconnect Intervals", - description: "A comma separated list of intervals given in seconds to try to reconnect to your running Shoko Server if Shokofin ever gets disconnected. The provided list will have duplicates removed and will be performed in sorted order starting from the shortest time span when reconnecting. Once the longest interval has been reached and fails to reconnect, Shokofin will stop attempting to reconnect and leave SignalR disconnected until otherwise reconnected.", + Description: "A comma separated list of intervals given in seconds to try to reconnect to your running Shoko Server if Shokofin ever gets disconnected. The provided list will have duplicates removed and will be performed in sorted order starting from the shortest time span when reconnecting. Once the longest interval has been reached and fails to reconnect, Shokofin will stop attempting to reconnect and leave SignalR disconnected until otherwise reconnected.", Default: "0, 2, 10, 30, 60, 120, 300" }, { Advanced: "⚠", Option: "Event Sources", - description: "Choose which event sources to react to for metadata events.", + Description: "Choose which event sources to react to for metadata events.", Default: "Shoko, AniDB, TMDB" }, ]; @@ -380,13 +380,13 @@ const shokofinEventSettingsData = [ { Advanced: "", Option: "File Events", - description: "Have Shokofin listen for file events from Shoko Server when new media gets added or moved around in the file system and trigger library updates accordingly. Especially useful if your Jellyfin library is using a network share for it's media location where native file events may not be available for Jellyfin's real time monitoring to function. Can be used as a complete replacement for Jellyfin's built-in real time monitoring or used alongside it.", + Description: "Have Shokofin listen for file events from Shoko Server when new media gets added or moved around in the file system and trigger library updates accordingly. Especially useful if your Jellyfin library is using a network share for it's media location where native file events may not be available for Jellyfin's real time monitoring to function. Can be used as a complete replacement for Jellyfin's built-in real time monitoring or used alongside it.", Default: "✓" }, { Advanced: "", Option: "Metadata Events", - description: "Have Shokofin listen for metadata update events from Shoko Server when metadata gets added, updated, or removed and trigger library updates accordingly. Can be useful when media was missing episode titles or other info initially but was added or updated at a later time.", + Description: "Have Shokofin listen for metadata update events from Shoko Server when metadata gets added, updated, or removed and trigger library updates accordingly. Can be useful when media was missing episode titles or other info initially but was added or updated at a later time.", Default: "" }, ]; @@ -395,13 +395,13 @@ const miscShokofinSettings = [ { Advanced: "⚠", Option: "Show in Menu", - description: "Creates a shortcut to the Shokofin plugin settings in the Jellyfin dashboard's sidebar.", + Description: "Creates a shortcut to the Shokofin plugin settings in the Jellyfin dashboard's sidebar.", Default: "" }, { Advanced: "⚠", Option: "Ignored Folder Names", - description: "A comma separated list of folder names to ignore during a library scan. Useful for skipping folders generated by a NAS or other pieces of software that access the file system where media resides. Only applicable to libraries not managed by the VFS as files not recognized by Shoko Server are already ignored.", + Description: "A comma separated list of folder names to ignore during a library scan. Useful for skipping folders generated by a NAS or other pieces of software that access the file system where media resides. Only applicable to libraries not managed by the VFS as files not recognized by Shoko Server are already ignored.", Default: ".streams, @recently-snapshot" }, ]; diff --git a/docs/jellyfin/scheduled-tasks.md b/docs/jellyfin/scheduled-tasks.md index 9b6dab26..5aac90d6 100644 --- a/docs/jellyfin/scheduled-tasks.md +++ b/docs/jellyfin/scheduled-tasks.md @@ -14,62 +14,62 @@ const shokofinScheduledTasksData = [ { Advanced: "⚠", Task: "Check Server Version", - description: "Retrieve and update the known version of the connected Shoko Server.", + Description: "Retrieve and update the known version of the connected Shoko Server.", }, { Advanced: "⚠", Task: "Cleanup Virtual File System Roots", - description: "Removes any stale or leftover virtual file system roots that could have been left behind due to an outdated install or unfinished library removal.", + Description: "Removes any stale or leftover virtual file system roots that could have been left behind due to an outdated install or unfinished library removal.", }, { Advanced: "⚠", Task: "Clear Plugin Cache", - description: "Forcefully clears the plugin cache. Only should be ran for debugging or troubleshooting purposes. \n**Do not run while a library scan is in progress!**", + Description: "Forcefully clears the plugin cache. Only should be ran for debugging or troubleshooting purposes. \n**Do not run while a library scan is in progress!**", }, { Advanced: "", Task: "Export User Data", - description: "Export the user data stored in Jellyfin to Shoko Server. Will not import user data from Shoko Server.", + Description: "Export the user data stored in Jellyfin to Shoko Server. Will not import user data from Shoko Server.", }, { Advanced: "", Task: "Import User Data", - description: "Import the user data stored in Shoko Server to Jellyfin. Will not export user data from Jellyfin.", + Description: "Import the user data stored in Shoko Server to Jellyfin. Will not export user data from Jellyfin.", }, { Advanced: "⚠", Task: "Merge Episodes", - description: "Merge all episode entries with the same Shoko Episode ID into a single entry.\n**Do not run while a library scan is in progress!**", + Description: "Merge all episode entries with the same Shoko Episode ID into a single entry.\n**Do not run while a library scan is in progress!**", }, { Advanced: "⚠", Task: "Merge Movies", - description: "Merge all movie entries with the same Shoko Episode ID into a single entry.\n**Do not run while a library scan is in progress!**", + Description: "Merge all movie entries with the same Shoko Episode ID into a single entry.\n**Do not run while a library scan is in progress!**", }, { Advanced: "", Task: "Migrate Episode User Watch Data", - description: "Migrate user watch data for episodes stored in Jellyfin to the newest ID namespace.", + Description: "Migrate user watch data for episodes stored in Jellyfin to the newest ID namespace.", }, { Advanced: "⚠", Task: "Reconstruct Collections", - description: "Reconstruct all native Jellyfin collections managed by Shokofin outside of a library scan.\n**Do not run while a library scan is in progress!**", + Description: "Reconstruct all native Jellyfin collections managed by Shokofin outside of a library scan.\n**Do not run while a library scan is in progress!**", }, { Advanced: "⚠", Task: "Split Episodes", - description: "Split all episode entries with the same Shoko Episode ID into separate entries.\n**Do not run while a library scan is in progress!**", + Description: "Split all episode entries with the same Shoko Episode ID into separate entries.\n**Do not run while a library scan is in progress!**", }, { Advanced: "⚠", Task: "Split Movies", - description: "Split all movie entries with the same Shoko Episode ID into separate entries.\n**Do not run while a library scan is in progress!**", + Description: "Split all movie entries with the same Shoko Episode ID into separate entries.\n**Do not run while a library scan is in progress!**", }, { Advanced: "", Task: "Sync User Data", - description: "Synchronize the user data stored in Jellyfin with Shoko Server. Imports and exports data as needed.", + Description: "Synchronize the user data stored in Jellyfin with Shoko Server. Imports and exports data as needed.", }, ]; diff --git a/docs/kodi/configuring-shokodi.md b/docs/kodi/configuring-shokodi.md index b9bccdcc..572f86dd 100644 --- a/docs/kodi/configuring-shokodi.md +++ b/docs/kodi/configuring-shokodi.md @@ -31,19 +31,19 @@ for the required information :data="[ { Option: 'IP Address', -description: 'The IP address for the computer Shoko Server is on.' +Description: 'The IP address for the computer Shoko Server is on.' }, { Option: 'Port', -description: 'The port Shoko Server is using.' +Description: 'The port Shoko Server is using.' }, { Option: 'Username', -description: 'Your Shoko username.' +Description: 'Your Shoko username.' }, { Option: 'Password', -description: 'Your Shoko password.' +Description: 'Your Shoko password.' } ]" /> @@ -62,11 +62,11 @@ The Main Menu section will display the listed options on Shokodi's main menu if :data="[ { Option: 'Show Search', -description: 'Will show the search option on the menu.' +Description: 'Will show the search option on the menu.' }, { Option: 'Show Unsorted', -description: 'Will show the unsorted files option on the menu that lists all unrecognized files.' +Description: 'Will show the unsorted files option on the menu that lists all unrecognized files.' } ]" /> @@ -87,23 +87,23 @@ most significant impact are discussed. The remaining settings should be self-exp :data="[ { Option: 'Use Server Title', -description: 'When toggled, will use the settings as defined in Shoko Server.' +Description: 'When toggled, will use the settings as defined in Shoko Server.' }, { Option: 'Language', -description: 'The language to show titles in, only available when Use Server Title is not toggled.' +Description: 'The language to show titles in, only available when Use Server Title is not toggled.' }, { Option: 'Title Type', -description: 'Determines the source for the title shown, only available when Use Server Title is not toggled.' +Description: 'Determines the source for the title shown, only available when Use Server Title is not toggled.' }, { Option: 'Fix Desynced Watched Status in Kodi Database', -description: 'When ran, will update the Kodi database with watched state info from Shoko.' +Description: 'When ran, will update the Kodi database with watched state info from Shoko.' }, { Option: 'Fix Desynced Images in Kodi Database', -description: 'When ran, will forcefully update all series images to match what Shoko has.' +Description: 'When ran, will forcefully update all series images to match what Shoko has.' } ]" /> @@ -124,7 +124,7 @@ self-explanatory, we will focus on explaining the filter setting. :data="[ { Option: 'Filter Tags To', -description: 'Will either show toggled tag filter items, or hide them. In the above example, only Shorten Tag List will be active.' +Description: 'Will either show toggled tag filter items, or hide them. In the above example, only Shorten Tag List will be active.' } ]" /> @@ -159,11 +159,11 @@ However, there are two settings related to Seiyuu that are worth mentioning. :data="[ { Option: 'Disable Kodi\'s Internal Cast Menu', -description: 'If enabled, will not display the episode cast information.' +Description: 'If enabled, will not display the episode cast information.' }, { Option: 'Use Seiyuu Picture For Case Data', -description: 'If enabled, will use the Seiyuu images downloaded by Shoko.' +Description: 'If enabled, will use the Seiyuu images downloaded by Shoko.' } ]" /> \ No newline at end of file diff --git a/docs/plex/configuring-shoko-metadata.md b/docs/plex/configuring-shoko-metadata.md index 588f85c8..76d8342c 100644 --- a/docs/plex/configuring-shoko-metadata.md +++ b/docs/plex/configuring-shoko-metadata.md @@ -12,23 +12,23 @@ const serverConfigColumns = [ const serverConfigTableData = [ { Option: 'Username', - description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' }, { Option: 'Password', - description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' }, { Option: 'Server IP', - description: 'The IP address for the computer where Shoko Server is located. This can be left blank unless Shoko Server is running on a different computer.' + Description: 'The IP address for the computer where Shoko Server is located. This can be left blank unless Shoko Server is running on a different computer.' }, { Option: 'Port', - description: 'The port Shoko Server uses, by default it iss **8111**' + Description: 'The port Shoko Server uses, by default it iss **8111**' }, { Option: 'Use Single Season Ordering', - description: 'If you set **SingleSeasonOrdering** to True during the install process, make sure you check this box.' + Description: 'If you set **SingleSeasonOrdering** to True during the install process, make sure you check this box.' } ]; diff --git a/docs/plex/configuring-shoko-relay.md b/docs/plex/configuring-shoko-relay.md index a311c7bc..5645db82 100644 --- a/docs/plex/configuring-shoko-relay.md +++ b/docs/plex/configuring-shoko-relay.md @@ -12,23 +12,23 @@ const serverSettingsColumns = [ const serverSettingsData = [ { Option: 'The Shoko Server Username', - description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' }, { Option: 'The Shoko Server Password', - description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' }, { Option: 'The Shoko Server Hostname', - description: 'The IP address for the computer where Shoko Server is located. This can be left blank unless Shoko Server is running on a different computer.' + Description: 'The IP address for the computer where Shoko Server is located. This can be left blank unless Shoko Server is running on a different computer.' }, { Option: 'The Shoko Server Port', - description: 'The port Shoko Server uses, by default it is **8111**' + Description: 'The port Shoko Server uses, by default it is **8111**' }, { Option: 'Use single season ordering', - description: 'If you set **SingleSeasonOrdering** to True during the install process, make sure you check this box.' + Description: 'If you set **SingleSeasonOrdering** to True during the install process, make sure you check this box.' } ]; diff --git a/docs/plex/installing-agents-scanners.md b/docs/plex/installing-agents-scanners.md index 83d4fe72..d048b9be 100644 --- a/docs/plex/installing-agents-scanners.md +++ b/docs/plex/installing-agents-scanners.md @@ -12,15 +12,15 @@ const additionalOptionsColumns = [ const additionalOptionsData = [ { Option: 'IncludeSpecials *Metadata Only*', - description: 'Files marked as specials in Shoko will be shown in the series as part of Season 0.' + Description: 'Files marked as specials in Shoko will be shown in the series as part of Season 0.' }, { Option: 'IncludeOther *Metadata Only*', - description: 'Files marked as other in Shoko will be shown in the series as part of Season 0.' + Description: 'Files marked as other in Shoko will be shown in the series as part of Season 0.' }, { Option: 'SingleSeasonOrdering', - description: 'Episodes are no longer separated by seasons when matched with TMDB. All normal episodes are put into Season 1, specials into Season 0, and with Relay others into Negative Seasons.' + Description: 'Episodes are no longer separated by seasons when matched with TMDB. All normal episodes are put into Season 1, specials into Season 0, and with Relay others into Negative Seasons.' } ]; diff --git a/docs/plex/shoko-relay-utility-scripts.md b/docs/plex/shoko-relay-utility-scripts.md index c84fdf1b..d915f628 100644 --- a/docs/plex/shoko-relay-utility-scripts.md +++ b/docs/plex/shoko-relay-utility-scripts.md @@ -56,39 +56,39 @@ const plexConfigColumns = [ const plexConfigTableData = [ { Option: 'Username', - description: 'The username for the **admin account** of your Plex server.', + Description: 'The username for the **admin account** of your Plex server.', }, { Option: 'Password', - description: 'The password for the **admin account** of your Plex server. Skip this setting if two-factor authentication is in use.', + Description: 'The password for the **admin account** of your Plex server. Skip this setting if two-factor authentication is in use.', }, { Option: 'ServerName', - description: 'The name of your Plex server.', + Description: 'The name of your Plex server.', }, { Option: 'LibraryNames', - description: `The names of any libraries which you want the scripts to interact with. **Must be formatted as a Python list** e.g. \`'LibraryNames': ['Anime Shows', 'Anime Movies'],\``, + Description: `The names of any libraries which you want the scripts to interact with. **Must be formatted as a Python list** e.g. \`'LibraryNames': ['Anime Shows', 'Anime Movies'],\``, }, { Option: 'ExtraUsers (Optional)', - description: `The usernames of any managed or home users to sync watched states for (watched-sync.py) **Must be formatted as a Python list** e.g. \`'ExtraUsers': ['Family'],\``, + Description: `The usernames of any managed or home users to sync watched states for (watched-sync.py) **Must be formatted as a Python list** e.g. \`'ExtraUsers': ['Family'],\``, }, { Option: 'DataFolder (Optional)', - description: `The Location of your Plex [data folder](https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/) (collection-posters.py clean). **Requires double backslashes on windows** e.g. \`'DataFolder': '%LOCALAPPDATA%\\\\Plex Media Server',\``, + Description: `The Location of your Plex [data folder](https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/) (collection-posters.py clean). **Requires double backslashes on windows** e.g. \`'DataFolder': '%LOCALAPPDATA%\\\\Plex Media Server',\``, }, { Option: 'PostersFolder (Optional)', - description: `The folder containing any custom collection posters (collection-posters.py). **Requires double backslashes on windows** e.g. \`'PostersFolder': 'M:\\\\Anime\\\\Posters',\``, + Description: `The folder containing any custom collection posters (collection-posters.py). **Requires double backslashes on windows** e.g. \`'PostersFolder': 'M:\\\\Anime\\\\Posters',\``, }, { Option: 'SyncAdmin', - description: 'Whether the watched states of the Admin account should be synced (watched-sync.py)', + Description: 'Whether the watched states of the Admin account should be synced (watched-sync.py)', }, { Option: 'X-Plex-Token (2FA)', - description: 'An alternate Plex authentication method for those using two-factor authentication. More info on obtaining a token [here](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/).', + Description: 'An alternate Plex authentication method for those using two-factor authentication. More info on obtaining a token [here](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/).', }, ]; @@ -100,19 +100,19 @@ const shokoConfigColumns = [ const shokoConfigTableData = [ { Option: 'Hostname', - description: 'The IP address for the computer where Shoko Server is located.' + Description: 'The IP address for the computer where Shoko Server is located.' }, { Option: 'Port', - description: 'The port Shoko Server uses, by default its **8111**' + Description: 'The port Shoko Server uses, by default its **8111**' }, { Option: 'Username', - description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The username for the **local account** you created during the **First Run** setup in Shoko Server.' }, { Option: 'Password', - description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' + Description: 'The password for the **local account** you created during the **First Run** setup in Shoko Server.' } ]; @@ -124,15 +124,15 @@ const animeThemesConfigColumns = [ const animeThemesConfigTableData = [ { Option: 'FFplay_Enabled', - description: 'Whether the AnimeThemes script will playback the song after downloading or not.' + Description: 'Whether the AnimeThemes script will playback the song after downloading or not.' }, { Option: 'FFplay_Volume', - description: 'The volume of the audio playback if it is enabled.' + Description: 'The volume of the audio playback if it is enabled.' }, { Option: 'BatchOverwrite', - description: 'Whether the batch argument will overwrite **Theme.mp3** files or not.' + Description: 'Whether the batch argument will overwrite **Theme.mp3** files or not.' } ]; diff --git a/docs/renamer-plugins/available-renamers.md b/docs/renamer-plugins/available-renamers.md index e4a7ee84..d95cc83b 100644 --- a/docs/renamer-plugins/available-renamers.md +++ b/docs/renamer-plugins/available-renamers.md @@ -12,11 +12,11 @@ const renamerColumns = [ const renamerData = [ { Renamer: "WebAOM", - description: "Default renamer built into Shoko." + Description: "Default renamer built into Shoko." }, { Renamer: "Lua Renamer", - description: "Uses the Lua scripting language to create custom renaming scripts." + Description: "Uses the Lua scripting language to create custom renaming scripts." } ]; diff --git a/docs/shoko-server/actions.md b/docs/shoko-server/actions.md index d63465d5..399a936e 100644 --- a/docs/shoko-server/actions.md +++ b/docs/shoko-server/actions.md @@ -15,156 +15,156 @@ const createTableData = (data) => ({ const importData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Run Import', - description: 'Scans for new files in Shoko folders, computes their hashes, and searches AniDB and TvDB for metadata and images.' + Description: 'Scans for new files in Shoko folders, computes their hashes, and searches AniDB and TvDB for metadata and images.' }, { Name: 'Remove Missing Files', - description: 'Deletes entries in Shoko and MyList for files that are no longer accessible.' + Description: 'Deletes entries in Shoko and MyList for files that are no longer accessible.' }, { Name: 'Remove Missing Files (Keep in MyList)', - description: 'Deletes entries in Shoko, while retaining them in MyList, for files that are no longer accessible.' + Description: 'Deletes entries in Shoko, while retaining them in MyList, for files that are no longer accessible.' }, { Name: 'Import New Files', - description: 'Scans import folders and imports only the new files identified within the import folder.' + Description: 'Scans import folders and imports only the new files identified within the import folder.' } ]); const aniDBData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Download Missing AniDB Data', - description: 'Downloads XML data from AniDB forcefully. Use this only if the XML has been edited, deleted, or if Shoko has unexpectedly closed or crashed.' + Description: 'Downloads XML data from AniDB forcefully. Use this only if the XML has been edited, deleted, or if Shoko has unexpectedly closed or crashed.' }, { Name: 'Sync AniDB Votes', - description: 'Sync Series & Episode Votes from Shoko to AniDB.' + Description: 'Sync Series & Episode Votes from Shoko to AniDB.' }, { Name: 'Sync AniDB MyList', - description: 'Syncs all Series & Episode watch state data from Shoko to AniDB. THIS IS A ONE-WAY ACTION AND WILL OVERWRITE ALL ANIDB DATA!' + Description: 'Syncs all Series & Episode watch state data from Shoko to AniDB. THIS IS A ONE-WAY ACTION AND WILL OVERWRITE ALL ANIDB DATA!' }, { Name: 'Add All Manual Links To MyList', - description: 'Syncs Manually Linked Episodes to your MyList. File entries on AniDB will show up as Generic.' + Description: 'Syncs Manually Linked Episodes to your MyList. File entries on AniDB will show up as Generic.' }, { Name: 'Update All AniDB Info', - description: 'Update all Series information with the latest data from AniDB.' + Description: 'Update all Series information with the latest data from AniDB.' }, { Name: 'Update AniDB Calendar', - description: 'Updates the \'Upcoming Anime\' calendar in Shoko with the most recent information from AniDB.' + Description: 'Updates the \'Upcoming Anime\' calendar in Shoko with the most recent information from AniDB.' } ]); const traktData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Sync Trakt Collection', - description: 'Sync watch states from Shoko to Trakt. THIS IS A ONE-WAY ACTION AND WILL OVERWRITE ALL TRAKT DATA!' + Description: 'Sync watch states from Shoko to Trakt. THIS IS A ONE-WAY ACTION AND WILL OVERWRITE ALL TRAKT DATA!' }, { Name: 'Update All Trakt Info', - description: 'Sync all info for Series from Trakt to Shoko.' + Description: 'Sync all info for Series from Trakt to Shoko.' } ]); const tvDBData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Regenerate TvDB Links', - description: 'Recreates all episode matches for TvDB. This action is generally not required unless specifically instructed by a member of the Shoko team or mentioned in the release notes.' + Description: 'Recreates all episode matches for TvDB. This action is generally not required unless specifically instructed by a member of the Shoko team or mentioned in the release notes.' }, { Name: 'Update All TvDB Info', - description: 'Update all Series information with the latest data from TvDB.' + Description: 'Update all Series information with the latest data from TvDB.' } ]); const tmdbData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Update All MovieDB Info', - description: 'Updates information for all movie-related entries in your collection.' + Description: 'Updates information for all movie-related entries in your collection.' } ]); const shokoData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'AVDump Mismatched Files', - description: 'Scans the library, detects files without a hash match in AniDB, and runs AVDump on them.' + Description: 'Scans the library, detects files without a hash match in AniDB, and runs AVDump on them.' }, { Name: 'Recreate All Groups', - description: 'Deletes all existing groups in Shoko and recreates them.' + Description: 'Deletes all existing groups in Shoko and recreates them.' }, { Name: 'Rename All Groups', - description: 'Renames all default groups, excluding those with custom names, using the current language settings.' + Description: 'Renames all default groups, excluding those with custom names, using the current language settings.' }, { Name: 'Update Missing AniDB Release Groups', - description: 'Checks AniDB for updated data on files in your collection that lack a release group.' + Description: 'Checks AniDB for updated data on files in your collection that lack a release group.' }, { Name: 'Update Missing AniDB File Info', - description: 'Updates AniDB files lacking file information, including those missing release groups and those with outdated internal data versions.' + Description: 'Updates AniDB files lacking file information, including those missing release groups and those with outdated internal data versions.' }, { Name: 'Update All Mediainfo', - description: 'Runs MediaInfo on every file in your collection to update their metadata.' + Description: 'Runs MediaInfo on every file in your collection to update their metadata.' }, { Name: 'Update Series Stats', - description: 'Updates all series in your collection, recalculating totals, remainders, and watched statuses of items.' + Description: 'Updates all series in your collection, recalculating totals, remainders, and watched statuses of items.' } ]); const imagesData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Update All Images', - description: 'Updates and downloads all missing images from AniDB and TvDB.' + Description: 'Updates and downloads all missing images from AniDB and TvDB.' }, { Name: 'Validate All Images', - description: 'Identifies any invalid images and re-downloads them.' + Description: 'Identifies any invalid images and re-downloads them.' } ]); const plexData = createTableData([ { Name: 'Action', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Sync Plex Watch Status', - description: 'Synchronizes watch states with Plex.' + Description: 'Synchronizes watch states with Plex.' } ]); diff --git a/docs/shoko-server/dashboard.md b/docs/shoko-server/dashboard.md index c65fb387..9a2ea861 100644 --- a/docs/shoko-server/dashboard.md +++ b/docs/shoko-server/dashboard.md @@ -12,23 +12,23 @@ const displayOptionsColumns = [ const displayOptionsData = [ { Name: 'Combine Continue Watching & Next Up', - description: 'As the name suggests, enabling this setting will combine these two sections. Leaving a modified Continue Watching widget that display both sets of information.' + Description: 'As the name suggests, enabling this setting will combine these two sections. Leaving a modified Continue Watching widget that display both sets of information.' }, { Name: 'Hide R18 Content', - description: 'Checked by default, when unchecked, series with the R18 tag will show in every widget where applicable.' + Description: 'Checked by default, when unchecked, series with the R18 tag will show in every widget where applicable.' }, { Name: 'Shoko News Posts', - description: 'Allows you to define how many news posts from the Shoko site to show, feel free to set it to 100.' + Description: 'Allows you to define how many news posts from the Shoko site to show, feel free to set it to 100.' }, { Name: 'Recently Imported Episodes', - description: 'This setting lets you define how many episodes are displayed in the Recently Imported widget. There is a maximum limit of 100 episodes, and if you set it to anything higher, it will default to 100.' + Description: 'This setting lets you define how many episodes are displayed in the Recently Imported widget. There is a maximum limit of 100 episodes, and if you set it to anything higher, it will default to 100.' }, { Name: 'Recently Imported Series', - description: 'This setting lets you define how many series are displayed in the Recently Imported widget. There is a maximum limit of 100 episodes, and if you set it to anything higher, it will default to 100.' + Description: 'This setting lets you define how many series are displayed in the Recently Imported widget. There is a maximum limit of 100 episodes, and if you set it to anything higher, it will default to 100.' } ]; @@ -64,19 +64,19 @@ const importFolderColumns = [ const importFolderData = [ { Name: 'Name', - description: 'The name assigned to the import folder used for visual purposes only.' + Description: 'The name assigned to the import folder used for visual purposes only.' }, { Name: 'Location', - description: 'The actual location of the import folder, relative to where Shoko is installed.' + Description: 'The actual location of the import folder, relative to where Shoko is installed.' }, { Name: 'Drop Type', - description: 'This setting tells Shoko how to handle this folder when processing your files. \n The **Source** option instructs Shoko to grab files from this folder and move them to another import folder marked as Destination. \n The **Both** option allows Shoko to perform the moving actions without actually relocating the files, which enables renaming on import or applying any custom renamer settings. \n Finally, The **None** option tells Shoko not to perform any actions on the folder, which is typically paired with Watch For New Files set to Yes.' + Description: 'This setting tells Shoko how to handle this folder when processing your files. \n The **Source** option instructs Shoko to grab files from this folder and move them to another import folder marked as Destination. \n The **Both** option allows Shoko to perform the moving actions without actually relocating the files, which enables renaming on import or applying any custom renamer settings. \n Finally, The **None** option tells Shoko not to perform any actions on the folder, which is typically paired with Watch For New Files set to Yes.' }, { Name: 'Watch For New Files', - description: 'A true/false setting which tells Shoko to monitor the import folder for new files. If set to **no**, you\'ll have to use the **Import Files** action to update your collection.' + Description: 'A true/false setting which tells Shoko to monitor the import folder for new files. If set to **no**, you\'ll have to use the **Import Files** action to update your collection.' } ]; diff --git a/docs/shoko-server/settings.md b/docs/shoko-server/settings.md index 0e11e799..721c8c69 100644 --- a/docs/shoko-server/settings.md +++ b/docs/shoko-server/settings.md @@ -12,27 +12,27 @@ const importOptionsColumns = [ const importOptionsData = [ { Option: 'Import on Start', - description: 'When enabled, Shoko will start importing files when the program is first launched.' + Description: 'When enabled, Shoko will start importing files when the program is first launched.' }, { Option: 'Rename on Import', - description: 'When enabled and there is a renamer configured, Shoko will rename imported files.' + Description: 'When enabled and there is a renamer configured, Shoko will rename imported files.' }, { Option: 'Move on Import', - description: 'When enabled and when there is both a source and destination import folder. Shoko will move files to the destination import folder' + Description: 'When enabled and when there is both a source and destination import folder. Shoko will move files to the destination import folder' }, { Option: 'Move After Rename', - description: 'When enabled and when there is a renamer configured and there is both a source and destination import folder, Shoko will rename the file first and then move it.' + Description: 'When enabled and when there is a renamer configured and there is both a source and destination import folder, Shoko will rename the file first and then move it.' }, { Option: 'Set File as Watched if Episode is Watched', - description: 'When MyList functionality is enabled, an episode marked as watched on AniDB will have the file marked as watched when imported.' + Description: 'When MyList functionality is enabled, an episode marked as watched on AniDB will have the file marked as watched when imported.' }, { Option: 'Video Extensions', - description: 'All the formats Shoko will import within the set import folders.' + Description: 'All the formats Shoko will import within the set import folders.' } ]; diff --git a/docs/shoko-server/webui-themes.md b/docs/shoko-server/webui-themes.md index 6f9dd7f2..093d6b76 100644 --- a/docs/shoko-server/webui-themes.md +++ b/docs/shoko-server/webui-themes.md @@ -28,31 +28,31 @@ const jsonThemeColumns = [ const jsonThemeData = [ { Key: 'name', - description: 'The name of your theme' + Description: 'The name of your theme' }, { Key: 'version', - description: 'The version string, preferred format is X.X.X to keep it simple.' + Description: 'The version string, preferred format is X.X.X to keep it simple.' }, { Key: 'author', - description: 'Author of the theme.' + Description: 'Author of the theme.' }, { Key: 'description', - description: 'Description of the theme.' + Description: 'Description of the theme.' }, { Key: 'tags', - description: 'List of tags for the theme. A single tag for the type (dark, light, OMLED) and colors (red, blue, green).' + Description: 'List of tags for the theme. A single tag for the type (dark, light, OMLED) and colors (red, blue, green).' }, { Key: 'cssUrl', - description: 'URL to where the CSS file is hosted.' + Description: 'URL to where the CSS file is hosted.' }, { Key: 'updateUrl', - description: 'URL to where this file is located. Used for installing and auto-updates.' + Description: 'URL to where this file is located. Used for installing and auto-updates.' }, ];