Jellyfin.Plugin.HomeScreenSections
1.1.0
See the version list below for details.
dotnet add package Jellyfin.Plugin.HomeScreenSections --version 1.1.0
NuGet\Install-Package Jellyfin.Plugin.HomeScreenSections -Version 1.1.0
<PackageReference Include="Jellyfin.Plugin.HomeScreenSections" Version="1.1.0" />
paket add Jellyfin.Plugin.HomeScreenSections --version 1.1.0
#r "nuget: Jellyfin.Plugin.HomeScreenSections, 1.1.0"
// Install Jellyfin.Plugin.HomeScreenSections as a Cake Addin #addin nuget:?package=Jellyfin.Plugin.HomeScreenSections&version=1.1.0 // Install Jellyfin.Plugin.HomeScreenSections as a Cake Tool #tool nuget:?package=Jellyfin.Plugin.HomeScreenSections&version=1.1.0
<h1 align="center">Home Screen Sections (Modular Home)</h1> <h2 align="center">A Jellyfin Plugin</h2> <p align="center"> <img alt="Logo" width="256" height="256" src="https://camo.githubusercontent.com/ab4b1ec289bed0a0ac8dd2828c41b695dbfeaad8c82596339f09ce23b30d3eb3/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f73656c666873742f69636f6e732f776562702f6a656c6c7966696e2e77656270" /> <br /> <sub>Custom Logo Coming Soon</sub> <br /> <br /> <a href="https://github.com/IAmParadox27/jellyfin-plugin-home-sections"> <img alt="GPL 3.0 License" src="https://img.shields.io/github/license/IAmParadox27/jellyfin-plugin-home-sections.svg" /> </a> <a href="https://github.com/IAmParadox27/jellyfin-plugin-home-sections/releases"> <img alt="Current Release" src="https://img.shields.io/github/release/IAmParadox27/jellyfin-plugin-home-sections.svg" /> </a> </p>
Introduction
Home Screen Sections (commonly referred to as Modular Home) is a Jellyfin plugin which allows users to update their web client's home screen to be a bit more dynamic and more "Netflixy".
Sections Included
A lot of the sections included are the base sections that would appear in a vanilla instance of Jellyfin. This has been done because using Modular Home hasn't been integrated to work side by side with the vanilla home screen and instead wholesale replaces it. Since a lot of the sections are useful and contain everything you'd want in a home screen they've been included for convenience.
NOTE: Its worth noting that the sections that have been created are one's that I myself use for my own instance, if there is a section that's missing check the "Adding your own sections" heading below for info on how you can create your own.
These vanilla sections are listed here:
- My Media
- Same as vanilla Jellyfin
- Continue Watching
- Same as vanilla Jellyfin
- Next Up
- Same as vanilla Jellyfin
- Recently Added Movies/TV Shows
- Same as vanilla Jellyfin
- Live TV
- Mostly the same as vanilla Jellyfin. Current State is untested since updating to 10.10.3 so may find that there are issues
The sections that are new for this plugin (and most likely the reason you would use this plugin in the first place) are outlined here:
Because You Watched
- Very similar to Netflix's "because you watched" section, a maximum of 5 of these will appear when the section is enabled <img src="https://raw.githubusercontent.com/IAmParadox27/jellyfin-plugin-home-sections/refs/heads/main/screenshots/because-you-watched.png" alt="Because You Watched Preview" />
Watch Again
- Again similar to Netflix's feature of the same name, this will request Movies in a Collection and TV Shows that have been watched to their completion and will provide the user an option to watch the show/movie collection again. The listed entry will be the first movie to be released in that collection (done by Premiere Date) or the first episode in the series <img src="https://raw.githubusercontent.com/IAmParadox27/jellyfin-plugin-home-sections/refs/heads/main/screenshots/watch-again.png" alt="Watch Again Preview" />
My List
- Again similar to Netflix's feature. This requires a bit more setup than the others to get working. It looks for a playlist called "My List" and retrieves the entries in that playlist. <img src="https://raw.githubusercontent.com/IAmParadox27/jellyfin-plugin-home-sections/refs/heads/main/screenshots/my-list.png" alt="My List Preview" />
Installation
Prerequisites
- This plugin is based on Jellyfin Version
10.10.3
- The following plugins are required to also be installed, please following their installation guides:
- File Transformation (https://github.com/IAmParadox27/jellyfin-plugin-file-transformation)
- Plugin Pages (https://github.com/IAmParadox27/jellyfin-plugin-pages)
Installation
- Add
https://www.iamparadox.dev/jellyfin/plugins/manifest.json
to your plugin repositories. - Install
Home Screen Sections
from the Catalogue. - Restart Jellyfin.
- On the user's homepage, open the hamburger menu and you should see a link for settings to "Modular Home". Click this.
- At the top there is a button to enable support and it will retrieve all sections that are available on your instance. Select all that apply.
- Save the settings. Please note currently the user is not provided any feedback when the settings are saved.
- Force refresh your webpage (or app) and you should see your new sections instead of the original ones.
Upcoming Features/Known Issues
If you find an issue with any of the sections or usage of the plugin, please open an issue on GitHub, see below the issues I know about already which are planned to be solved in due course.
Feature | Status | Comments |
---|---|---|
Server Side Configuration | Planned | The plugin doesn't have any server side configuration at the moment, there are plans to add some configuration on the server side to configure things like "which sections are available" and "how many of some sections are allowed". |
Save Settings User Feedback | Bug | Currently when the user saves their settings the webpage doesn't tell them that the settings have been saved successfully. |
FAQ
How can I tell if its worked?
The easiest way to confirm whether the user is using the modular home settings is to check whether the movie posters are portrait or landscape. Due to how the cards are delivered from the backend all cards are forced to be landscape
Contribution
Adding your own sections
This is great an' all but I want a section that doesn't exist here. Can I make one?
Yep! Home Screen Sections supports "plugins" 😅.
The easiest way is to reference the NuGet package Jellyfin.Plugin.HomeScreenSections
When you have a project created. Make a new type and inherit from IHomeScreenSection
. Implement the required properties/functions and away you go.
When referencing Jellyfin NuGet packages please ensure that you reference the same version that is references by Home Screen Sections to avoid any conflicts.
Pull Requests
I'm open to any and all pull requests that expand the functionality of this plugin, while keeping within the scope of what its outlined to do, however if the PR includes new sections which are not vanilla implementations it will be rejected as the above approach is preferred.
I don't want this plugin to bloat with lots of section types another server admin might not want, best to keep those as "plugin plugins".
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Jellyfin.Controller (>= 10.10.3)
- Jellyfin.Model (>= 10.10.3)
- Jellyfin.Plugin.FileTransformation (>= 1.1.0)
- Jellyfin.Plugin.Referenceable (>= 1.1.0)
- Jellyfin.Sdk (>= 2024.10.28)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.1-alpha.3 | 0 | 1/30/2025 |
1.1.1-alpha.2 | 0 | 1/30/2025 |
1.1.1-alpha.1 | 6 | 1/30/2025 |
1.1.0 | 7 | 1/30/2025 |
1.1.0-alpha.1 | 5 | 1/30/2025 |