Jellyfin plugin to allow other plugin developers to intercept and change the delivered web content of jellyfin-web without requiring custom jellyfin-web builds or injected javascript. This plugin is based on a Pull Request (https://github.com/jellyfin/jellyfin/pull/9095) by https://github.com/JPVenson. Most of the code here was written by him, though adapted to function in a plugin context rather than a native change.
$ dotnet add package Jellyfin.Plugin.FileTransformationFile Transformation is a Referenceable Jellyfin Plugin (and C# Library) that can be used to modify the served jellyfin-web content without having to modify the files directly.
:warning: This plugin makes use of Jellyfin Referenceable using version
1.2.1. Ensure all plugins that use this plugin are compatible with that version.
The use cases for this can be seen in my other plugins plugin-pages and home-sections which both take advantage of this.
The original code and concept for this plugin came from this Pull Request from JPVenson. A lot of the code is unmodified (bar personal code standards).
Why would I use this rather than just asking installers to change the files?
Well, this plugin is non destructive and allows multiple plugins to manipulate the served data. The install remains clean and free for users to update their Jellyfin server whenever they want.
https://www.iamparadox.dev/jellyfin/plugins/manifest.json as a plugin source repository on your Jellyfin server.| Plugin Version | Jellyfin Version |
|---|---|
| 1.1.0 | 10.10.3 |
| 1.2.* | 10.10.5 |
Add Jellyfin.Plugin.FileTransformation from NuGet using the most appropriate version from the table above. All versions previous to 1.1.0 do not work correctly and have issues which were only discovered after making the release.
<PackageReference Include="Jellyfin.Plugin.FileTransformation" Version="1.2.1" />
If any functionality is desired to be overridden from Jellyfin's server please open a feature-request issue on GitHub.
Frequent questions will be added here as they are asked.
Ensure that you check the closed issues on GitHub before asking any questions as they may have already been answered.