Sobre o projeto
mleem-jellyfin é uma biblioteca pessoal de plugins Jellyfin que serve como ponto de distribuição para os projetos Jellyfin de Marvin. Não é um repositório modelo: cada plugin em plugins/ é mantido como um projeto real com seu próprio código-fonte, metadados, README e metadados de lançamento. O repositório é direcionado ao Jellyfin 10.10+ e é construído no .NET 9 sob a licença Apache 2.0.
Plugins
- HDD Display: adiciona uma visão geral de armazenamento ao painel de administração do Jellyfin, juntamente com telemetria de transcodificação NVIDIA.
- Better MusicDisplay: melhora a interface de música com rolagem infinita, pesquisa ao vivo e layouts por usuário.
- MusicHoarderz Cover & Metadata Provider: fornece capas de música e metadados usando MusicHoarderz/COV, Spotify e YouTube.
Instalação
Os usuários podem adicionar o repositório ao Jellyfin através de uma URL de manifesto hospedada no GitHub (raw.githubusercontent.com/mleem97/mleem-jellyfin/main/manifest.json), que permite ao Jellyfin descobrir e instalar os plugins publicados.
Compilação e testes
A solução completa, incluindo plugins e testes, pode ser restaurada e compilada com dotnet usando Jellyfin.Plugins.sln, e projetos de plugins individuais também podem ser compilados diretamente. Um conjunto de testes em todo o repositório é executado via dotnet test. A CI também cria pacotes ZIP temporários a partir de cada saída Release e valida seus artefatos declarados com um script de teste de pacote Python.
Lançamentos automatizados
Os lançamentos de plugins são automatizados a partir do branch principal através de um fluxo de trabalho acionado manualmente chamado "Auto Publish Plugins". Dado um plugin selecionado e uma versão exata de quatro partes ou um tipo de incremento configurado, ele compila e valida o plugin, cria um pacote ZIP, atualiza o manifest.json, verifica a soma de verificação SHA-256 e publica o lançamento no GitHub.
Versionamento
As versões seguem o esquema de quatro partes do Jellyfin (major.minor.patch.revision), com incrementos automáticos orientados por convenções de mensagens de commit: mudanças de quebra (BREAKING CHANGE ou tipo!:) incrementam a versão major, feat: incrementa minor, fix:/perf:/refactor: incrementa patch, e todo o resto incrementa a revision. Cada plugin tem seu próprio namespace de tag, como HddDisplay-v0.1.0.0 ou MusicHoarderzProvider-v0.2.0.0.
Documentos de planejamento em docs/ cobrem o trabalho de armazenamento e GPU do painel de administração, um roteiro de plugins, um plano de lote e uma política de integração COV.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.