Compare commits
39 Commits
Fix-font-s
...
2.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84c4462648 | ||
|
|
a970349a1f | ||
|
|
deeb8976f6 | ||
|
|
a00e8b6352 | ||
|
|
4b63aa0c8c | ||
|
|
59a46ae222 | ||
|
|
03b7f0bc25 | ||
|
|
781ef1c9f8 | ||
|
|
6364927f99 | ||
|
|
cd8d71ada7 | ||
|
|
247175d753 | ||
|
|
94f7473108 | ||
|
|
f41d67cf39 | ||
|
|
68e00efcca | ||
|
|
fc8b88ee6b | ||
|
|
57c422ff87 | ||
|
|
d2f65e0060 | ||
|
|
c15c47111b | ||
|
|
438f1bd2fa | ||
|
|
e31d0e4c13 | ||
|
|
7b0ebf6e32 | ||
|
|
4d58525fa6 | ||
|
|
0be80d9956 | ||
|
|
5e10675eea | ||
|
|
426782031b | ||
|
|
814d84f4e6 | ||
|
|
82cdcd904a | ||
|
|
edac2f8254 | ||
|
|
1758ffead2 | ||
|
|
76cbeef6a1 | ||
|
|
b24f0d4b8c | ||
|
|
13383919ca | ||
|
|
583db6ea3d | ||
|
|
0317cc7ef2 | ||
|
|
ddfb13cf18 | ||
|
|
b334cc04df | ||
|
|
c369e8942f | ||
|
|
f696f71b55 | ||
|
|
f7759d1418 |
File diff suppressed because one or more lines are too long
8508
Jellyfin.Plugin.SkinManager/Configuration/fontpicker.js
Normal file
8508
Jellyfin.Plugin.SkinManager/Configuration/fontpicker.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<IsPackable>true</IsPackable>
|
||||
<AssemblyVersion>1.5.0</AssemblyVersion>
|
||||
<FileVersion>1.5.0</FileVersion>
|
||||
<AssemblyVersion>2.0.1</AssemblyVersion>
|
||||
<FileVersion>2.0.1</FileVersion>
|
||||
<Authors />
|
||||
<Company />
|
||||
</PropertyGroup>
|
||||
@@ -16,6 +16,9 @@
|
||||
<ItemGroup>
|
||||
<None Remove="Configuration\configurationpage.html" />
|
||||
<EmbeddedResource Include="Configuration\configurationpage.html" />
|
||||
|
||||
<None Remove="Configuration\fontpicker.js" />
|
||||
<EmbeddedResource Include="Configuration\fontpicker.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -34,6 +34,16 @@ namespace Jellyfin.Plugin.SkinManager
|
||||
{
|
||||
Name = "SkinManager",
|
||||
EmbeddedResourcePath = GetType().Namespace + ".Configuration.configurationpage.html"
|
||||
},
|
||||
new PluginPageInfo
|
||||
{
|
||||
Name = "fontpicker.js",
|
||||
EmbeddedResourcePath = GetType().Namespace + ".Configuration.fontpicker.js"
|
||||
},
|
||||
new PluginPageInfo
|
||||
{
|
||||
Name = "fontpicker.css",
|
||||
EmbeddedResourcePath = GetType().Namespace + ".Configuration.jquery.fontpicker.min.css"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
13
install.bat
13
install.bat
@@ -1,3 +1,10 @@
|
||||
This will not work if you have installed jellyfin to a custom location
|
||||
dotnet publish --configuration Release --output bin
|
||||
move bin\Jellyfin.Plugin.SkinManager.dll C:\ProgramData\Jellyfin\Server\plugins\SkinManager
|
||||
@ECHO OFF
|
||||
@echo This will not work if you have installed jellyfin to a custom location
|
||||
set /p ask = Enter 'X' to continue or 'C' to cancel:
|
||||
if "%ask%" neq "x" goto:eof
|
||||
|
||||
@echo starting install...
|
||||
|
||||
dotnet publish --configuration Release --output bin
|
||||
|
||||
move bin\Jellyfin.Plugin.SkinManager.dll C:\ProgramData\Jellyfin\Server\plugins\SkinManager
|
||||
1181
skins-3.0.json
1181
skins-3.0.json
File diff suppressed because it is too large
Load Diff
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>
|
||||
BIN
src/img/Default/1.png
Normal file
BIN
src/img/Default/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
src/img/Default/2.png
Normal file
BIN
src/img/Default/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
BIN
src/img/Default/3.png
Normal file
BIN
src/img/Default/3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
BIN
src/img/Default/4.png
Normal file
BIN
src/img/Default/4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 MiB |
BIN
src/img/thumb.png
Normal file
BIN
src/img/thumb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
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