Skip to content

Commit

Permalink
Merge pull request #153 from ShokoAnime/misc-fixes
Browse files Browse the repository at this point in the history
Add OG Support.
  • Loading branch information
ElementalCrisis authored Nov 19, 2024
2 parents 28776c3 + 4d5b66c commit 6385992
Show file tree
Hide file tree
Showing 19 changed files with 234 additions and 1,822 deletions.
17 changes: 17 additions & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,21 @@ export default defineConfig({
detailsLabel: 'Details',
},
},
transformHead({ pageData }) {
const title = pageData.frontmatter.title || 'Shoko';
const description = pageData.frontmatter.description || 'Anime Management System';
const ogImageUrl = `/images/og.svg?title=${encodeURIComponent(title,)}&description=${encodeURIComponent(description)}`;
const url = `https://docs.shokoanime.com/${pageData.relativePath.replace(/\.md$/, '',)}`;

return [
['meta', { name: 'og:title', content: title }],
['meta', { name: 'og:description', content: description }],
['meta', { name: 'og:image', content: ogImageUrl }],
['meta', { name: 'og:url', content: url }],
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
['meta', { name: 'twitter:title', content: title }],
['meta', { name: 'twitter:description', content: description }],
['meta', { name: 'twitter:image', content: ogImageUrl }],
];
},
});
2 changes: 1 addition & 1 deletion docs/getting-started/installing-shoko-server.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Installing Shoko Server
Description: Instructions on how to install Shoko Server.
description: Instructions on how to install Shoko Server.
---

<script setup>
Expand Down
126 changes: 63 additions & 63 deletions docs/jellyfin/configuring-shokofin.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/jellyfin/installing-shokofin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Installing Shokofin
Description: Information on how to install and configure Shokofin (Jellyfin)
description: Information on how to install and configure Shokofin (Jellyfin)
---

<script setup>
Expand Down
24 changes: 12 additions & 12 deletions docs/jellyfin/scheduled-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
},
];
</script>
Expand Down
28 changes: 14 additions & 14 deletions docs/kodi/configuring-shokodi.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
}
]"
/>
Expand All @@ -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.'
}
]"
/>
Expand All @@ -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.'
}
]"
/>
Expand All @@ -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.'
}
]"
/>
Expand Down Expand Up @@ -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.'
}
]"
/>
10 changes: 5 additions & 5 deletions docs/plex/configuring-shoko-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
}
];
</script>
Expand Down
10 changes: 5 additions & 5 deletions docs/plex/configuring-shoko-relay.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
}
];

Expand Down
18 changes: 9 additions & 9 deletions docs/plex/installing-agents-scanners.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
}
];
</script>
Expand All @@ -36,13 +36,8 @@ and running. If you haven't done so, [Download Shoko Server](https://shokoanime.
website and use the [Installing Shoko Server](/getting-started/installing-shoko-server) guide to properly
install and configure Shoko Server.

:::important
Make sure Plex Media Server is stopped before attempting to install the Agents and Scanners. Otherwise, a restart may be
necessary to make them work and appear in your Library settings.
:::

:::danger Nvidia Shield Compatibility
detailed [here](https://forums.plex.tv/t/important-information-for-users-running-plex-media-server-on-nvidia-shield-devices/883484),
Detailed [here](https://forums.plex.tv/t/important-information-for-users-running-plex-media-server-on-nvidia-shield-devices/883484),
these plugins will not function when running Plex Media Server v1.41.0 or newer on an Nvidia Shield device. It is
possible to sideload an older PMS build to continue to use third-party plugins, but that will not be covered here.
:::
Expand All @@ -58,6 +53,11 @@ to decide which plugin you'd like to use.
Both plugins are outstanding for media playback; the decision essentially comes down to identifying which plugin best
suits your needs.

:::important
Make sure Plex Media Server is stopped before attempting to install the Agents and Scanners. Otherwise, a restart may be
necessary to make them work and appear in your Library settings.
:::

## Windows

Installing on Windows is pretty straightforward and requires minimal editing on your part. If you run into any issues,
Expand Down
32 changes: 16 additions & 16 deletions docs/plex/shoko-relay-utility-scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/).',
},
];

Expand All @@ -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.'
}
];

Expand All @@ -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.'
}
];

Expand Down
Binary file added docs/public/images/og-background.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6385992

Please sign in to comment.