From 88b5de7aee5187a2b5b74ed1df329d54a107033b Mon Sep 17 00:00:00 2001 From: "Engineering (agent-engineering)" Date: Fri, 15 May 2026 21:37:21 -0700 Subject: [PATCH] feat: Jellyfin plugin skeleton - Plugin.cs: BasePlugin, Name 'Lessons' - PluginConfiguration.cs: empty config class - ServiceRegistrator.cs: IPluginServiceRegistrator for DI Closes #2 --- plugin/Configuration/PluginConfiguration.cs | 7 +++++++ plugin/Plugin.cs | 21 +++++++++++++++++++++ plugin/ServiceRegistrator.cs | 11 +++++++++++ 3 files changed, 39 insertions(+) create mode 100644 plugin/Configuration/PluginConfiguration.cs create mode 100644 plugin/Plugin.cs create mode 100644 plugin/ServiceRegistrator.cs diff --git a/plugin/Configuration/PluginConfiguration.cs b/plugin/Configuration/PluginConfiguration.cs new file mode 100644 index 0000000..e9eb9b6 --- /dev/null +++ b/plugin/Configuration/PluginConfiguration.cs @@ -0,0 +1,7 @@ +using MediaBrowser.Model.Plugins; + +namespace Jellyfin.Plugin.Lessons.Configuration; + +public class PluginConfiguration : BasePluginConfiguration +{ +} diff --git a/plugin/Plugin.cs b/plugin/Plugin.cs new file mode 100644 index 0000000..59f6f42 --- /dev/null +++ b/plugin/Plugin.cs @@ -0,0 +1,21 @@ +using MediaBrowser.Common.Plugins; +using MediaBrowser.Model.Plugins; +using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; +using Jellyfin.Plugin.Lessons.Configuration; + +namespace Jellyfin.Plugin.Lessons; + +public class Plugin : BasePlugin +{ + public Plugin(IApplicationPaths appPaths, IXmlSerializer xmlSerializer) + : base(appPaths, xmlSerializer) + { + } + + public override string Name => "Lessons"; + + public override Guid Id => Guid.Parse("a1b2c3d4-e5f6-7890-abcd-ef1234567890"); + + public override string Description => "Homeschool lesson plans with embedded media"; +} diff --git a/plugin/ServiceRegistrator.cs b/plugin/ServiceRegistrator.cs new file mode 100644 index 0000000..cae7cc3 --- /dev/null +++ b/plugin/ServiceRegistrator.cs @@ -0,0 +1,11 @@ +using MediaBrowser.Common.Plugins; +using Microsoft.Extensions.DependencyInjection; + +namespace Jellyfin.Plugin.Lessons; + +public class ServiceRegistrator : IPluginServiceRegistrator +{ + public void RegisterServices(IServiceCollection services) + { + } +}