102
skins-3.0.json
102
skins-3.0.json
@@ -1,11 +1,9 @@
|
||||
[
|
||||
{
|
||||
[{
|
||||
"name": "Default",
|
||||
"author": "Jellyfin",
|
||||
"description": "Default, stock, Jellyfin.",
|
||||
"defaultCss": "",
|
||||
"previews": [
|
||||
{
|
||||
"previews": [{
|
||||
"name": "Login Page",
|
||||
"url": ""
|
||||
},
|
||||
@@ -22,20 +20,17 @@
|
||||
"url": ""
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": []
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "JellyFlix",
|
||||
"author": "prayagprajapati17",
|
||||
"description": "A theme that aims to replicate the red and black look of Netflix. Theme is by prayag17.",
|
||||
"defaultCss": "@import url(https://prayag17.github.io/JellyFlix/default.css);",
|
||||
"previews": [
|
||||
{
|
||||
"previews": [{
|
||||
"name": "Login Page",
|
||||
"url": "https://prayag17.github.io/JellyFlix/img/Login.jpg"
|
||||
},
|
||||
@@ -52,20 +47,17 @@
|
||||
"url": "https://prayag17.github.io/JellyFlix/img/Title%20Page-TV.jpg"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": []
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "Monochromic",
|
||||
"author": "EdgeMentality",
|
||||
"description": "This theme aims to be minimalistic and somewhat muted in color. Add-ons and custom accent colors are possible, but not entirely supported by this plug-in. Visit the github of the theme for more information.",
|
||||
"defaultCss": "@import url('https://ctalvio.github.io/Monochromic/default_style.css');",
|
||||
"previews": [
|
||||
{
|
||||
"previews": [{
|
||||
"name": "Login Page",
|
||||
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Monochromic/login.jpg?raw=true"
|
||||
},
|
||||
@@ -82,11 +74,9 @@
|
||||
"url": "https://github.com/CTalvio/Monochromic/raw/master/screenshots/2.png"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "checkBox",
|
||||
"name": "Improve performance",
|
||||
"description": "The theme uses mask-image to fade out items below the top bar as you scroll. This works well on most reasonable hardware but struggles on some phones and especially smart TVs. This switches to a method without using mask-image, but foregoes the fade-out effect. I may switch to this method being the default.",
|
||||
@@ -119,16 +109,14 @@
|
||||
"default": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "Kaleidochromic",
|
||||
"author": "Casper Talvio",
|
||||
"description": "This theme aims to be more colorful and minimalistic. Add-ons and custom accent colors are possible, but not entirely supported by this plug-in. Visit the github of the theme for more information.",
|
||||
"defaultCss": "@import url('https://ctalvio.github.io/Kaleidochromic/default_style.css');",
|
||||
"previews": [
|
||||
{
|
||||
"previews": [{
|
||||
"name": "Login Page",
|
||||
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Kaleidochromic/Login.jpg?raw=true"
|
||||
},
|
||||
@@ -145,11 +133,9 @@
|
||||
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/1.png"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "checkBox",
|
||||
"name": "Improve performance",
|
||||
"description": "The theme uses mask-image to fade out items below the top bar as you scroll. This works well on most reasonable hardware but struggles on some phones and especially smart TVs. This switches to a method without using mask-image, but foregoes the fade-out effect.",
|
||||
@@ -176,8 +162,7 @@
|
||||
"default": "#6279cd"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "Novachromic",
|
||||
@@ -203,11 +188,9 @@
|
||||
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/two.png"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "checkBox",
|
||||
"name": "Restore bottom bar style episode progress",
|
||||
"description": "Don't like my transparent view progress overlay? Use this to go back to the old style.",
|
||||
@@ -228,16 +211,14 @@
|
||||
"default": "#ffffff"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "JellySkin",
|
||||
"author": "prayagprajapati17",
|
||||
"description": "A very bright and colorful look using lots of drop shadows. Theme is by prayag17.",
|
||||
"defaultCss": "@import url('https://prayag17.github.io/JellySkin/default.css');",
|
||||
"previews": [
|
||||
{
|
||||
"previews": [{
|
||||
"name": "Login Page",
|
||||
"url": "https://prayag17.github.io/JellySkin/img/login.jpg"
|
||||
},
|
||||
@@ -254,17 +235,14 @@
|
||||
"url": "https://prayag17.github.io/JellySkin/img/Title%20Page-Movie.jpg"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "selector",
|
||||
"name": "Gradient",
|
||||
"description": "Changes the Jellyfin themed Hover gradient",
|
||||
"css": "@import url('https://prayag17.github.io/JellySkin/$.css');",
|
||||
"selections": [
|
||||
{
|
||||
"selections": [{
|
||||
"name": "Default",
|
||||
"value": ""
|
||||
},
|
||||
@@ -293,21 +271,17 @@
|
||||
"css": "@import url('https://prayag17.github.io/JellySkin/Logo.css');"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "Custom",
|
||||
"author": "you",
|
||||
"description": "customize the look of jellyfin by your needs",
|
||||
"defaultCss": "/*Custom*/",
|
||||
"categories": [
|
||||
{
|
||||
"categories": [{
|
||||
"name": "Fonts",
|
||||
"options": [
|
||||
{
|
||||
"type": "googleFonts",
|
||||
"css": "/*googleFonts*/"
|
||||
"options": [{
|
||||
"type": "googleFonts"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
@@ -321,25 +295,21 @@
|
||||
},
|
||||
{
|
||||
"name": "Home/Dashboard Page",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "checkBox",
|
||||
"name": "Enlarge Tab Buttons",
|
||||
"description": "Enlarges the tab buttons, suggested, genres, etc. By default they are really tiny, especially on mobile.",
|
||||
"css": ".headerTabs.sectionTabs {text-size-adjust: 110%; font-size: 110%;}.pageTitle {margin-top: auto; margin-bottom: auto;}.emby-tab-button {padding: 1.75em 1.7em;}"
|
||||
}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "Miscellaneous",
|
||||
"options": [
|
||||
{
|
||||
"options": [{
|
||||
"type": "selector",
|
||||
"name": "Poster card hover effect",
|
||||
"description": "Changes the hover effect on Movie/TV show/Music poster card.",
|
||||
"css": "",
|
||||
"selections": [
|
||||
{
|
||||
"selections": [{
|
||||
"name": "Scale in and out",
|
||||
"css": "/*Dynamic Poster effect-option1*/.cardBox-bottompadded{margin-bottom; 1em !important;}.itemsContainer>.card>.cardBox {margin: 1em;background: rgba(0,0,0,0.5);transition: transform .2s;}.card:hover .cardBox{transform: scale(1.1);}"
|
||||
},
|
||||
@@ -367,8 +337,7 @@
|
||||
"type": "selector",
|
||||
"name": "Episode View",
|
||||
"description": "Theme episode list",
|
||||
"selections": [
|
||||
{
|
||||
"selections": [{
|
||||
"name": "Card",
|
||||
"css": " #itemDetailPage .vertical-list {display: grid;grid-template-columns: 30% 30% 30%;padding: 0 6px !important;height: fit-content;justify-content: space-evenly;-webkit-box-orient: horizontal;-webkit-box-direction: normal;margin: -6px;width: calc(100% - 6px);}.listItem-withContentWrapper:hover .listItemImageButton.itemAction.paper-icon-button-light {opacity: 100%;}@media (max-width: 901px){#itemDetailPage .vertical-list {grid-template-columns: 30% 30%;}}.listItem-withContentWrapper {transition: none;height: fit-content;max-width: 100%;margin: 6px;border-radius: var(--rounding);overflow: hidden;padding: 0;overflow: hidden;}.listItem-withContentWrapper:hover{background: transparent;}.listItem-content {height: 100%;}.listItem-content {display: -webkit-flex;display: flex;-webkit-align-items: center;align-items: center;width: 100%;display: grid;grid-template-columns: 100%;}.listItemImage.listItemImage-large.itemAction.lazy {height: 14rem;width: 100%;padding: 0 !important;margin: 0 !important;top: 0;left: 0;}.layout-mobile #itemDetailPage .vertical-list {grid-template-columns: 100%;}.secondary.listItem-overview.listItemBodyText {height: fit-content;}.layout-mobile .listItem-bottomoverview {padding: 0 10px;}.listItemBody.itemAction {padding: 0 5px;}.listItemImageButton.itemAction.paper-icon-button-light {opacity: 0;color: var(--accent);transition: all .2s;}.layout-mobile .listItemImageButton.itemAction.paper-icon-button-light{opacity: 100% !important;}"
|
||||
},
|
||||
@@ -445,11 +414,18 @@
|
||||
"css": "*,*::before,*::after{border-radius: $ !important;}",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"type": "colorPicker",
|
||||
"name": "Background-color",
|
||||
"description": "change background-color of the background",
|
||||
"css": ".backgroundContainer.withBackdrop {background-color: rgba(0,0,0,0);}",
|
||||
"default": "inherit"
|
||||
},
|
||||
{
|
||||
"type": "blurSlider",
|
||||
"name": "Backdrop Blur",
|
||||
"description": "adds blur to the backdrop images default is zero",
|
||||
"css": ":root{--bgblur: blur($px)}.backdropImage {filter: var(--bgblur);}.backgroundContainer.withBackdrop {background-color: rgba(0,0,0,0);}",
|
||||
"css": ":root{--bgblur: blur($px)}.backdropImage {filter: var(--bgblur);}",
|
||||
"default": "0"
|
||||
}
|
||||
]
|
||||
|
||||
30
src/html/skin__request.html
Normal file
30
src/html/skin__request.html
Normal file
@@ -0,0 +1,30 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js" integrity="sha512-n/4gHW3atM3QqRcbCn6ewmpxcLAHGaDjpEBu4xZd47N0W2oQ+6q7oc3PXstrJYXcbNU1OHdQ1T7pAP+gi5Yu8g==" crossorigin="anonymous"></script>
|
||||
<script src="../js/json__compile.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div>
|
||||
<form>
|
||||
<input type="text" id="name" name="name">
|
||||
<input type="text" id="author" name="author">
|
||||
<input type=" text " id="desc" name="desc">
|
||||
<input type=" text " id="css" name="css">
|
||||
<h2>Images</h2>
|
||||
<input type=" text " id="login" name="login">
|
||||
<input type=" text " id="home" name="home">
|
||||
<input type=" text " id="lib" name="lib">
|
||||
<input type=" text " id="title" name="title">
|
||||
<h2>Categories</h2>
|
||||
<input type="button" id="add" value="Add a foryour options categorie" onclick="add__option()">
|
||||
<input type="button" id="no_op" value="Don't have any options/addons?" onclick="no__option()">
|
||||
<div id="cat"></div>
|
||||
<input type="hidden" value="1" id="total_chq">
|
||||
<input type="button" onclick="createJSON()" value="save" />
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
88
src/js/json__compile.js
Normal file
88
src/js/json__compile.js
Normal file
@@ -0,0 +1,88 @@
|
||||
function add__option() {
|
||||
window.new_chq_no = parseInt($('#total_chq').val()) + 1;
|
||||
window.new_input = "<h3>Categorie Name</h3><input type='text' id='cat_name'><div id='op_cont'><div class='inner'><h4>option name</h4><input type='text' id='op_name'><h4>option type</h4><input type='text' id='op_type'><h4>option description</h4><input type='text' id='op_desc'><h4>option css</h4><input type='text' id='op_css'></div><input type='button' value='Add a new option'></div>";
|
||||
|
||||
$('#cat').append(new_input);
|
||||
|
||||
$('#total_chq').val(new_chq_no);
|
||||
}
|
||||
|
||||
function create_option_json() {
|
||||
var option__name = document.querySelectorAll('#op_name');
|
||||
option__name.forEach(option__name => function() {
|
||||
var json__options = {
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": [{
|
||||
"name": name
|
||||
}]
|
||||
}]
|
||||
}
|
||||
})
|
||||
|
||||
var categories = {}
|
||||
}
|
||||
|
||||
function no__option() {
|
||||
$('#no_op').on('click', function() {
|
||||
var json__options = {
|
||||
"categories": [{
|
||||
"name": "Default",
|
||||
"options": []
|
||||
}]
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function createJSON() {
|
||||
var name = document.getElementById("name").value;
|
||||
var author = document.getElementById("author").value;
|
||||
var desc = document.getElementById("desc").value;
|
||||
var CSS = document.getElementById("css").value;
|
||||
var login = document.getElementById("login").value;
|
||||
var home = document.getElementById("home").value;
|
||||
var lib = document.getElementById("lib").value;
|
||||
var title = document.getElementById("title").value;
|
||||
var json__compiled = {
|
||||
"name ": name,
|
||||
"author ": author,
|
||||
"description ": desc,
|
||||
"defaultCss ": CSS,
|
||||
"previews ": [{
|
||||
"name ": "Login Page ",
|
||||
"url ": login
|
||||
},
|
||||
{
|
||||
"name ": "Home/Index Page ",
|
||||
"url ": home
|
||||
},
|
||||
{
|
||||
"name ": "Library Page ",
|
||||
"url ": lib
|
||||
},
|
||||
{
|
||||
"name ": "Title page ",
|
||||
"url ": title
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
var json = JSON.stringify(json__compiled, null, 4);
|
||||
|
||||
json = [json];
|
||||
var json__blob = new Blob(json, { type: "text/plain;charset=utf-8" });
|
||||
|
||||
var isIE = false || !!document.documentMode;
|
||||
if (isIE) {
|
||||
window.navigator.msSaveBlob(json__blob, name + ".json");
|
||||
} else {
|
||||
var url = window.URL || window.webkitURL;
|
||||
link = url.createObjectURL(json__blob);
|
||||
var a = document.createElement("a");
|
||||
a.download = name + ".json";
|
||||
a.href = link;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user