Jellycanvas themes

How it works

What is this?

Jellycanvas is a theme designer for Jellyfin 12, delivered as a server plugin. A theme is one JSON file with the designer's settings. This site is where people share those files - with a live preview, so you can see a theme on a real Jellyfin 12 before you touch your own server.

Using a theme

  1. Install the plugin: Dashboard → Plugins → Repositories → add https://raw.githubusercontent.com/SpeeDFireCZE/jellycanvas/main/manifest.json, then install Jellycanvas from the catalog and restart.
  2. Open Dashboard → My Plugins → Jellycanvas and scroll to Share / import.
  3. On a theme's page here, copy the import link and paste it into the import box (or download the .json and open it there). The plugin fetches the file and loads it into the designer.
  4. Look at the preview, change what you like, then Apply. Nothing on your server changes before that.

Themes marked needs File Transformation use the plugin's client script (home slideshow, card badges, the info bar). That part needs the File Transformation plugin on your server; the CSS part works without it.

Sharing a theme

Sign in - with GitHub, or with an account made here (a name and a password, no e-mail) - click Share a theme and paste the JSON from the designer's Copy theme JSON. The preview shows it as others will see it. You can edit or delete your themes any time from My themes.

What the checks do

Every upload is validated against the plugin's own settings model before it is stored, rendered or served:

A theme is still CSS: it can hide, move or restyle anything in the web client. Look at the preview and the JSON before you apply one - it is your server.

The preview

The preview is a real Jellyfin 12 with the plugin installed and a small demo library, signed in as a user who can only look. It is reachable only through this site and only for reading; whatever you click in it stays in the demo.

Five of the pages cannot be visited that way - the player's prompts only exist while a video plays, and the admin pages belong to an administrator. Those are drawn from the same markup the client builds, with the theme applied to it, the way the plugin's own designer shows them: a picture of the page, with nothing behind it to change or save.