34 Commits

Author SHA1 Message Date
Mister Rajoy
59a46ae222 Fix background 2021-05-13 15:50:33 +02:00
Mister Rajoy
03b7f0bc25 Set imports at the start of the string 2021-05-13 15:50:21 +02:00
Daniel
781ef1c9f8 Merge pull request #34 from prayag17/master
Add new option and change the preview for blur
2021-05-13 13:15:17 +02:00
Prayag
6364927f99 Add new option and change the preview for blur 2021-05-13 12:26:26 +05:30
Mister Rajoy
cd8d71ada7 Fix default images 2021-05-12 13:28:55 +02:00
Daniel
247175d753 Merge pull request #33 from prayag17/master
Update/fix few things
2021-05-12 13:15:43 +02:00
Prayag
94f7473108 Add logo theming option for jellyflix 2021-05-12 08:33:51 +05:30
Prayag
f41d67cf39 Add 1 more option 2021-05-12 08:28:43 +05:30
Prayag
68e00efcca Add images for default 2021-05-12 08:23:24 +05:30
Prayag
fc8b88ee6b Merge branch 'master' of https://github.com/prayag17/jellyfin-plugin-skin-manager 2021-05-12 08:08:13 +05:30
Prayag
57c422ff87 Update few things 2021-05-12 07:59:30 +05:30
Prayag
d2f65e0060 Merge pull request #1 from danieladov/master
Update
2021-05-12 07:57:22 +05:30
Mister Rajoy
c15c47111b Fix selectors 2021-05-12 01:35:01 +02:00
Daniel
438f1bd2fa Merge pull request #32 from prayag17/master
Fix position of color picker
2021-05-11 14:11:30 +02:00
Prayag
e31d0e4c13 Fix position of color picker 2021-05-11 17:12:42 +05:30
Daniel
7b0ebf6e32 Merge pull request #31 from prayag17/master
Theme new inputs
2021-05-11 13:12:17 +02:00
Prayag
4d58525fa6 Defaultize custom option's default value 2021-05-11 16:37:44 +05:30
Prayag
0be80d9956 Update batch file 2021-05-11 15:36:14 +05:30
Prayag
5e10675eea Theme new inputs 2021-05-11 14:12:42 +05:30
Mister Rajoy
426782031b Add better colorpicker 2021-05-11 01:38:46 +02:00
Mister Rajoy
814d84f4e6 Fix font picker 2021-05-10 18:45:40 +02:00
Mister Rajoy
82cdcd904a Update skins-3.0.json 2021-05-10 18:20:59 +02:00
Mister Rajoy
edac2f8254 Fix json 2021-05-10 18:13:52 +02:00
Mister Rajoy
1758ffead2 Change font picker 2021-05-10 02:45:31 +02:00
Mister Rajoy
76cbeef6a1 Update skins-3.0.json 2021-05-10 02:45:06 +02:00
Mister Rajoy
b24f0d4b8c Add new fontPicker Files 2021-05-10 02:42:58 +02:00
Daniel
13383919ca Merge pull request #30 from prayag17/master
Add JSON maker
2021-05-02 23:20:27 +02:00
Daniel
583db6ea3d Merge branch 'master' into master 2021-05-02 23:19:38 +02:00
Prayag
0317cc7ef2 make custom look more default without theming 2021-05-02 19:02:56 +05:30
Prayag
ddfb13cf18 Add JSON maker 2021-05-02 18:54:47 +05:30
Daniel
b334cc04df Merge pull request #29 from prayag17/master
Update Json images
2021-04-30 14:44:08 +02:00
Prayag
c369e8942f Merge branch 'master' of https://github.com/prayag17/jellyfin-plugin-skin-manager 2021-04-20 09:21:49 +05:30
Prayag
f696f71b55 Add Images for JellyFlix 2021-04-20 09:21:46 +05:30
Prayag
f7759d1418 Merge pull request #1 from danieladov/master
Update
2021-04-20 08:56:21 +05:30
12 changed files with 11049 additions and 1833 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -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>

View File

@@ -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"
}
};
}

View File

@@ -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

View File

@@ -1,459 +1,490 @@
[
{
"name": "Default",
"author": "Jellyfin",
"description": "Default, stock, Jellyfin.",
"defaultCss": "",
"previews": [
{
"name": "Login Page",
"url": ""
},
{
"name": "Home/Index Page",
"url": ""
},
{
"name": "Library Page",
"url": ""
},
{
"name": "Title page",
"url": ""
}
],
"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": [
{
"name": "Login Page",
"url": "https://github.com/prayag17/JellyFlix/raw/main/Public%20Ver%201/LoginMan.png?raw=true"
},
{
"name": "Home/Index Page",
"url": "https://github.com/prayag17/JellyFlix/raw/main/Public%20Ver%201/Home.png?raw=true"
},
{
"name": "Library Page",
"url": "https://github.com/prayag17/JellyFlix/raw/main/Public%20Ver%201/LibPage.png?raw=true"
},
{
"name": "Title page",
"url": "https://github.com/prayag17/JellyFlix/raw/main/Public%20Ver%201/TV-TitlePage.png?raw=true"
}
],
"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": [
{
"name": "Login Page",
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Monochromic/login.jpg?raw=true"
},
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Monochromic/blob/master/screenshots/1.png?raw=true"
},
{
"name": "Library Page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Monochromic/Lib.jpg"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Monochromic/raw/master/screenshots/2.png"
}
],
"categories": [
{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/improve-performance_style.css');"
},
{
"type": "checkBox",
"name": "No rounded corners",
"description": "In fact, squares off every rounded corner JF ever had.",
"css": "@import url('https://ctalvio.github.io/Monochromic/sharp_style.css'); "
},
{
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "5"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": "@import url('https://ctalvio.github.io/Monochromic/customcolor_style.css');:root {--accent: $;}",
"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": [
{
"name": "Login Page",
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Kaleidochromic/Login.jpg?raw=true"
},
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/6.png"
},
{
"name": "Library Page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/5.png"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/1.png"
}
],
"categories": [
{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/improve-performance_style.css');"
},
{
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "12"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": ":root {--accent: $;}",
"default": "#6279cd"
}
]
}
]
},
{
"name": "Novachromic",
"author": "EdgeMentality",
"description": "Novachromic is essentially Monochromic, but with another layer of overrides on top.",
"defaultCss": "@import url('https://ctalvio.github.io/Novachromic/default_style.css');",
"previews": [
"author": "Jellyfin",
"description": "Default, stock, Jellyfin.",
"defaultCss": "",
"previews": [{
"name": "Login Page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Default/1.png"
},
{
"name": "Home/Index Page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Default/2.png"
},
{
"name": "Library Page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Default/3.png"
},
{
"name": "Title page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Default/4.png"
}
],
"categories": [{
"name": "Default",
"options": []
}]
},
{
"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": [{
"name": "Login Page",
"url": "https://prayag17.github.io/JellySkin/img/login.jpg"
},
{
"name": "Home/Index Page",
"url": "https://prayag17.github.io/JellySkin/img/Home.jpg"
},
{
"name": "Library Page",
"url": "https://prayag17.github.io/JellySkin/img/Movies.jpg"
},
{
"name": "Title page",
"url": "https://prayag17.github.io/JellySkin/img/Title%20Page-Movie.jpg"
}
],
"categories": [{
"name": "Default",
"options": [{
"type": "selector",
"name": "Gradient",
"description": "Changes the Jellyfin themed Hover gradient",
"css": "@import url('https://prayag17.github.io/JellySkin/$.css');",
"selections": [{
"name": "Default",
"value": "",
"css": "@import url('https://prayag17.github.io/JellySkin/default.css');"
},
{
"name": "Sea Gradient",
"value": "seaGradient",
"css": "@import url('https://prayag17.github.io/JellySkin/seaGradient.css');"
},
{
"name": "Sunset Gradient",
"value": "sunsetGradient",
"css": "@import url('https://prayag17.github.io/JellySkin/sunsetGradient.css');"
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/one.png"
},
{
"name": "Library Page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/six.png"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/four.png"
},
{
"name": "Dashboard page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/two.png"
}
],
"categories": [
{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "12"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": ":root {--accent: $;}",
"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": [
{
"name": "Login Page",
"url": "https://prayag17.github.io/JellySkin/img/login.jpg"
},
{
"name": "Home/Index Page",
"url": "https://prayag17.github.io/JellySkin/img/Home.jpg"
},
{
"name": "Library Page",
"url": "https://prayag17.github.io/JellySkin/img/Movies.jpg"
},
{
"name": "Title page",
"url": "https://prayag17.github.io/JellySkin/img/Title%20Page-Movie.jpg"
}
],
"categories": [
{
"name": "Default",
"options": [
{
"type": "selector",
"name": "Gradient",
"description": "Changes the Jellyfin themed Hover gradient",
"css": "@import url('https://prayag17.github.io/JellySkin/$.css');",
"selections": [
{
"name": "Default",
"value": ""
},
{
"name": "Sea Gradient",
"value": "seaGradient"
},
{
"name": "Sunset Gradient",
"value": "sunsetGradient"
},
{
"name": "Night Sky Gradient",
"value": "nightSkyGradient"
},
{
"name": "Morning Gradient",
"value": "morningGradient"
}
},
{
"name": "Night Sky Gradient",
"value": "nightSkyGradient",
"css": "@import url('https://prayag17.github.io/JellySkin/nightSkyGradient.css');"
},
{
"name": "Morning Gradient",
"value": "morningGradient",
"css": "@import url('https://prayag17.github.io/JellySkin/morningGradient.css');"
}
]
},
{
"type": "checkBox",
"name": "Theme Logo",
"description": "Styles title page in such a way in which logos are used instead of Names.",
"css": "@import url('https://prayag17.github.io/JellySkin/Logo.css');"
}
]
},
{
"type":"checkBox",
"name":"Theme Logo",
"description":"Styles title page in such a way in which logos are used instead of Names.",
"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": [
{
"name": "Fonts",
"options": [
{
"type": "googleFonts",
"css": "/*googleFonts*/"
},
{
"type": "number",
"name": "Title Font Size",
"description": "Change the size of the font used at titles.",
"step": "0.1",
"css": "h1 {font-size: $em;}",
"default": "1.8"
}
]
},
{
"name": "Home/Dashboard Page",
"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": [
{
"type": "selector",
"name": "Poster card hover effect",
"description": "Changes the hover effect on Movie/TV show/Music poster card.",
"css": "",
"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);}"
},
{
"name": "Pop up and down",
"css": "/*Dynamic Poster effect-option2*/.itemsContainer>.card>.cardBox {margin: 1em;background: rgba(0,0,0,0.5);transition: transform .2s, box-shadow .2s;}.card:hover .cardBox{transform: translatey(-5px);box-shadow: 0px 5px 10px black;}"
},
{
"name": "Poster Image in and out",
"css": "/*Dynamic Poster effect-option3*/.card:hover .cardImageContainer{filter:background-size: 120%} .cardImageContainer{background-size: 105%;transition: all .2s;}"
},
{
"name": "Poster Image blur",
"css": "/*Dynamic Poster effect-option4*/.card:hover .cardImageContainer{filter: blur(2px);} .cardImageContainer{transition: all .2s;}"
}
}]
},
{
"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": [{
"name": "Login Page",
"url": "https://prayag17.github.io/JellyFlix/img/Login.jpg"
},
{
"name": "Home/Index Page",
"url": "https://prayag17.github.io/JellyFlix/img/Home.jpg"
},
{
"name": "Library Page",
"url": "https://prayag17.github.io/JellyFlix/img/Movies.jpg"
},
{
"name": "Title page",
"url": "https://prayag17.github.io/JellyFlix/img/Title%20Page-TV.jpg"
}
],
"categories": [{
"name": "Default",
"options": [{
"type": "checkBox",
"name": "Theme Logo",
"description": "Styles title page in such a way in which logos are used instead of Names.",
"css": "@import url('https://prayag17.github.io/JellyFlix/Logo.css');"
}]
}]
},
{
"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": [{
"name": "Login Page",
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Monochromic/login.jpg?raw=true"
},
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Monochromic/blob/master/screenshots/1.png?raw=true"
},
{
"name": "Library Page",
"url": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/Monochromic/Lib.jpg"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Monochromic/raw/master/screenshots/2.png"
}
],
"categories": [{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/improve-performance_style.css');"
},
{
"type": "checkBox",
"name": "No rounded corners",
"description": "In fact, squares off every rounded corner JF ever had.",
"css": "@import url('https://ctalvio.github.io/Monochromic/sharp_style.css'); "
},
{
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "5"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": "@import url('https://ctalvio.github.io/Monochromic/customcolor_style.css');:root {--accent: $;}",
"default": ""
}
]
},
{
"type": "checkBox",
"name": "Minimal Actor's card",
"description": "display actor's cards in minimal and compact way",
"css": "/*Actors*/.card[data-type=Actor] .cardBox {background: none;position: relative;}.card[data-type=Actor] .cardScalable {height: 0;overflow: hidden;padding-top: 100%;border-radius: var(--rounding);}.card[data-type=Actor] .cardText {position: absolute;background: transparent !important;}.card[data-type=Actor] .cardImageContainer::after {content: '';background: linear-gradient(360deg, rgba(0,0,0,0.75), transparent 70%);width: 100%;bottom: 0;position: absolute;padding-top: 100%;}.card[data-type=Actor].cardText-secondary {bottom: 0%;width: -webkit-fill-available;border-radius: 0px 0px 10px 10px;height: 22px;}.card[data-type=Actor] .cardText-first {bottom: 23.5px;width: -webkit-fill-available;height: 22px;}.layout-mobile .card[data-type=Actor] .cardText-first {color: white !important;}.card[data-type=Actor] .cardScalable {overflow: hidden;border-radius: var(--rounding);height: 3rem;}.card[data-type=Actor] .cardOverlayButton-br {position: absolute;bottom: 23% !important;right: 0 !important;}.card[data-type=Actor] .cardPadder {background: none;}.card[data-type=Actor] .cardImageIcon {bottom: 41%;position: absolute;left: 50%;transform: translateX(-50%);}"
},
{
"type": "selector",
"name": "Episode View",
"description": "Theme episode list",
"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;}"
},
{
"name": "Compact List",
"css": ".listItemImage.listItemImage-large.itemAction.lazy {height: 110px;}.listItem-content {height: 115px;}.secondary.listItem-overview.listItemBodyText {height: 61px;margin: 0;}"
}
}]
},
{
"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": [{
"name": "Login Page",
"url": "https://github.com/danieladov/jellyfin-plugin-skin-manager/blob/master/src/img/Kaleidochromic/Login.jpg?raw=true"
},
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/6.png"
},
{
"name": "Library Page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/5.png"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Kaleidochromic/raw/main/screenshots/1.png"
}
],
"categories": [{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/improve-performance_style.css');"
},
{
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "12"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": ":root {--accent: $;}",
"default": "#6279cd"
}
]
},
{
"type": "checkBox",
"name": "Blur episode thumbnail",
"description": "Blur episode thumbnail to prevent spoiler. Note: Doesn't in browser's that dont support backdrop-filter, i.e firefox(can be enabled though), opera and more(unknown).",
"css": " .nextUpSection.verticalSection.detailVerticalSection>div>div>div>div.cardScalable>button {filter: blur(10px);}div.listItem>div>div>button:nth-child(1) {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}div.listItem>div>div>button:nth-child(1):hover {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}#childrenContent>div>div>div>div.listItemImage.listItemImage large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast>button {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}#childrenContent>div>div>div>div.listItemImage.listItemImage-large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast>button:hover {border-radius: 0px;height: 85%;width: 85%;backdrop-filter: blur(20px);}@supports not ( (backdrop-filter: blur(10px)) or (--webkit-backdrop-filter: blur(10px))) {#childrenContent>div>div>div>div.listItemImage.listItemImage-large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast {filter: blur(10px);}}@supports not ( (backdrop-filter: blur(10px)) or (--webkit-backdrop-filter: blur(10px))) {#itemDetailPage>div.detailPageWrapperContainer>div.detailPageSecondaryContainer>div.detailPageContent>div.verticalSection.detailVerticalSection.moreFromSeasonSection.emby-scroller-container>div.padded-top-focusscale.padded-bottom-focusscale.emby-scroller>.itemsContainer>.card.overflowBackdropCard.card-hoverable.card-withuserdata>div>.cardScalable {background: rgba(0, 0, 0, .5);filter: blur(10px);transition: none !important;filter: blur(10px);}}#itemDetailPage>div.detailPageWrapperContainer>div.detailPageSecondaryContainer>div.detailPageContent>div.verticalSection.detailVerticalSection.moreFromSeasonSection.emby-scroller-container>div.padded-top-focusscale.padded-bottom-focusscale.emby-scroller>.itemsContainer>.card.overflowBackdropCard.card-hoverable.card-withuserdata>div>.cardScalable>button {border-radius: 0px;height: 0%;width: 0%;background: rgba(0, 0, 0, .5);filter: blur(10px);transition: none !important;backdrop-filter: blur(10px);}.cardScalable{overflow: hidden;}"
},
{
"type": "checkBox",
"name": "Blur Dialog Background",
"description": "Blur Menu and dialog background. Note: Works in Chrome and Edge only, functionalty can be enable, click on help button for info.",
"css": ".mainDrawer {background: transparent;backdrop-filter: blur(20px);}"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Button text color",
"description": "change button's text color.",
"css": ".raised{color: $;}",
"default": "#ffffff"
},
{
"type": "colorPicker",
"mode":"hex",
"name": "Button background color",
"description": "change background color of button.",
"css": ".raised{background-color: $;}",
"default": "#303030"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Idle button color-foreground",
"description": "This modifies the color of buttons like cast and search.",
"css": ".paper-icon-button-light{color: $; transititon: all .2s;}",
"default": "#ffffff"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Idle button color-background",
"description": "This modifies the background color of buttons like cast and search.",
"css": ".paper-icon-button-light{background-color: $ !important; transition: all .2s;}",
"default": "#00FFFFFF"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Hover button color-foreground",
"description": "This modifies the color of buttons like cast and search when your cursor is on it.",
"css": ".paper-icon-button-light:hover{color: $ !important;}",
"default": "#00a4dc"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Hover button color-background",
"description": "This modifies the background color of buttons like cast and search when your cursor is on it.",
"css": ".paper-icon-button-light:hover{background-color: $ !important;}",
"default": "#00a4dc"
},
{
"type": "number",
"name": "Border Radius",
"description": "Change the rounding",
"css": "*,*::before,*::after{border-radius: $ !important;}",
"default": "0"
},
{
"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);}",
"default": "0"
}
}]
},
{
"name": "Novachromic",
"author": "EdgeMentality",
"description": "Novachromic is essentially Monochromic, but with another layer of overrides on top.",
"defaultCss": "@import url('https://ctalvio.github.io/Novachromic/default_style.css');",
"previews": [
{
"name": "Home/Index Page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/one.png"
},
{
"name": "Library Page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/six.png"
},
{
"name": "Title page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/four.png"
},
{
"name": "Dashboard page",
"url": "https://github.com/CTalvio/Novachromic/raw/main/screenshots/two.png"
}
],
"categories": [{
"name": "Default",
"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.",
"css": "@import url('https://ctalvio.github.io/Monochromic/bottom-progress_style.css');"
},
{
"type": "number",
"name": "Modify rounding",
"description": "Amount of rounding. Zero is none.",
"css": ":root {--rounding: $px;}",
"default": "12"
},
{
"type": "colorPicker",
"name": "Accent color",
"description": "Choose a custom accent color to use with the theme.",
"css": ":root {--accent: $;}",
"default": "#ffffff"
}
]
}]
},
{
"name": "Custom",
"author": "you",
"description": "customize the look of jellyfin by your needs",
"defaultCss": "/*Custom*/",
"categories": [{
"name": "Fonts",
"options": [{
"type": "googleFonts",
"name": "Change Font",
"css": "html {font-family: '$',sans-serif ; } body,h1,h2,h3 { font-family: '$' ,sans-serif;}"
},
{
"type": "number",
"name": "Title Font Size",
"description": "Change the size of the font used at titles.",
"step": "0.1",
"css": "h1 {font-size: $em;}",
"default": "1.8"
}
]
},
{
"name": "Home/Dashboard Page",
"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": [{
"type": "selector",
"name": "Poster card hover effect",
"description": "Changes the hover effect on Movie/TV show/Music poster card.",
"css": "/*poster-eff*/",
"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);}"
},
{
"name": "Pop up and down",
"css": "/*Dynamic Poster effect-option2*/.itemsContainer>.card>.cardBox {margin: 1em;background: rgba(0,0,0,0.5);transition: transform .2s, box-shadow .2s;}.card:hover .cardBox{transform: translatey(-5px);box-shadow: 0px 5px 10px black;}"
},
{
"name": "Poster Image in and out",
"css": "/*Dynamic Poster effect-option3*/.card:hover .cardImageContainer{filter:background-size: 120%} .cardImageContainer{background-size: 105%;transition: all .2s;}"
},
{
"name": "Poster Image blur",
"css": "/*Dynamic Poster effect-option4*/.card:hover .cardImageContainer{filter: blur(2px);} .cardImageContainer{transition: all .2s;}"
}
]
},
{
"type": "selector",
"name": "Icon Pack",
"description": "Changes all icons like dashboard and play. Choose non google fonts if you are blocking google fonts",
"css": "/*Icons*/",
"selections": [{
"name": "Default",
"css": ""
},
{
"name": "Outlined",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/Outline.css');"
},
{
"name": "Rounded",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/round.css');"
},
{
"name": "Sharp",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/Sharp.css');"
}, {
"name": "Outlined-Non google fonts",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/Outline.css');"
},
{
"name": "Rounded-Non google fonts",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/round.css');"
},
{
"name": "Sharp-Non google fonts",
"css": "@import url('https://prayag17.github.io/Jellyfin-Icons/Sharp.css');"
}
]
},
{
"type": "checkBox",
"name": "Image gradient in title page",
"description": "removes the bg of detail ribbon and replace it with image gradient",
"css": ".detailRibbon {background: transparent;}.itemBackdrop {-webkit-mask: linear-gradient(to bottom, black 50%,transparent);mask: linear-gradient(to bottom, black 50%,transparent);}"
},
{
"type": "checkBox",
"name": "Minimal Actor's card",
"description": "display actor's cards in minimal and compact way",
"css": "/*Actors*/.card[data-type=Actor] .cardBox {background: none;position: relative;}.card[data-type=Actor] .cardScalable {height: 0;overflow: hidden;padding-top: 100%;border-radius: var(--rounding);}.card[data-type=Actor] .cardText {position: absolute;background: transparent !important;}.card[data-type=Actor] .cardImageContainer::after {content: '';background: linear-gradient(360deg, rgba(0,0,0,0.75), transparent 70%);width: 100%;bottom: 0;position: absolute;padding-top: 100%;}.card[data-type=Actor].cardText-secondary {bottom: 0%;width: -webkit-fill-available;border-radius: 0px 0px 10px 10px;height: 22px;}.card[data-type=Actor] .cardText-first {bottom: 23.5px;width: -webkit-fill-available;height: 22px;}.layout-mobile .card[data-type=Actor] .cardText-first {color: white !important;}.card[data-type=Actor] .cardScalable {overflow: hidden;border-radius: var(--rounding);height: 3rem;}.card[data-type=Actor] .cardOverlayButton-br {position: absolute;bottom: 23% !important;right: 0 !important;}.card[data-type=Actor] .cardPadder {background: none;}.card[data-type=Actor] .cardImageIcon {bottom: 41%;position: absolute;left: 50%;transform: translateX(-50%);}"
},
{
"type": "selector",
"name": "Episode View",
"description": "Theme episode list",
"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;}"
},
{
"name": "Compact List",
"css": ".listItemImage.listItemImage-large.itemAction.lazy {height: 110px;}.listItem-content {height: 115px;}.secondary.listItem-overview.listItemBodyText {height: 61px;margin: 0;}"
}
]
},
{
"type": "checkBox",
"name": "Blur episode thumbnail",
"description": "Blur episode thumbnail to prevent spoiler. Note: Doesn't in browser's that dont support backdrop-filter, i.e firefox(can be enabled though), opera and more(unknown).",
"css": " .nextUpSection.verticalSection.detailVerticalSection>div>div>div>div.cardScalable>button {filter: blur(10px);}div.listItem>div>div>button:nth-child(1) {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}div.listItem>div>div>button:nth-child(1):hover {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}#childrenContent>div>div>div>div.listItemImage.listItemImage large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast>button {transition: none !important;border-radius: 0px;height: 100%;width: 100%;backdrop-filter: blur(10px);}#childrenContent>div>div>div>div.listItemImage.listItemImage-large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast>button:hover {border-radius: 0px;height: 85%;width: 85%;backdrop-filter: blur(20px);}@supports not ( (backdrop-filter: blur(10px)) or (--webkit-backdrop-filter: blur(10px))) {#childrenContent>div>div>div>div.listItemImage.listItemImage-large.itemAction.lazy.non-blurhashable.lazy-image-fadein-fast {filter: blur(10px);}}@supports not ( (backdrop-filter: blur(10px)) or (--webkit-backdrop-filter: blur(10px))) {#itemDetailPage>div.detailPageWrapperContainer>div.detailPageSecondaryContainer>div.detailPageContent>div.verticalSection.detailVerticalSection.moreFromSeasonSection.emby-scroller-container>div.padded-top-focusscale.padded-bottom-focusscale.emby-scroller>.itemsContainer>.card.overflowBackdropCard.card-hoverable.card-withuserdata>div>.cardScalable {background: rgba(0, 0, 0, .5);filter: blur(10px);transition: none !important;filter: blur(10px);}}#itemDetailPage>div.detailPageWrapperContainer>div.detailPageSecondaryContainer>div.detailPageContent>div.verticalSection.detailVerticalSection.moreFromSeasonSection.emby-scroller-container>div.padded-top-focusscale.padded-bottom-focusscale.emby-scroller>.itemsContainer>.card.overflowBackdropCard.card-hoverable.card-withuserdata>div>.cardScalable>button {border-radius: 0px;height: 0%;width: 0%;background: rgba(0, 0, 0, .5);filter: blur(10px);transition: none !important;backdrop-filter: blur(10px);}.cardScalable{overflow: hidden;}"
},
{
"type": "checkBox",
"name": "Blur Dialog Background",
"description": "Blur Menu and dialog background. Note: Works in Chrome and Edge only, functionalty can be enable, click on help button for info.",
"css": ".mainDrawer {background: transparent;backdrop-filter: blur(20px);}"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Title Page Button text color",
"description": "change button's text color.",
"css": ".raised{color: $;}",
"default": "#ffffff"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Title Page Button background color",
"description": "change background color of button.",
"css": ".raised{background-color: $;}",
"default": "#303030"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Idle button color-foreground",
"description": "This modifies the color of buttons like cast and search.",
"css": ".paper-icon-button-light{color: $; transititon: all .2s;}",
"default": "#ffffff"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Idle button color-background",
"description": "This modifies the background color of buttons like cast and search.",
"css": ".paper-icon-button-light{background-color: $ !important; transition: all .2s;}",
"default": "#00000000"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Hover button color-foreground",
"description": "This modifies the color of buttons like cast and search when your cursor is on it.",
"css": ".paper-icon-button-light:hover{color: $ !important;}",
"default": "#00a4dc"
},
{
"type": "colorPicker",
"mode": "hex",
"name": "Hover button color-background",
"description": "This modifies the background color of buttons like cast and search when your cursor is on it.",
"css": ".paper-icon-button-light:hover{background-color: $ !important;}",
"default": "#00a4db33"
},
{
"type": "number",
"name": "Border Radius",
"description": "Change the rounding",
"css": ":root{--btn-rounding: $px; --rounding: $px;} .missingIndicator, .unairedIndicator {border-radius: var(--rounding);}.formDialogHeader {border-top-left-radius: var(--rounding);border-top-right-radius: var(--rounding);}.formDialogFooter {border-bottom-left-radius: var(--rounding);border-bottom-right-radius: var(--rounding);}.cardOverlayContainer {border-radius: var(--rounding) !important;}.primaryImageWrapper>img, .toast, .paperList, .cardContent, .sessionNowPlayingInnerContent, .listItem:hover, .cardImage, .fab, .raised, .multiSelectCheckboxOutline, .itemSelectionPanel, .cardContent-button, .cardContent-shadow, .itemDetailImage, .cardOverlayButton-hover, .cardImageContainer, .cardPadder, .listItemImage, .listItemImageButton, .listItemButton, .headerButton, .paper-icon-button-light, .innerCardFooter, .blurhash-canvas, .dialog, .countIndicator, .playedIndicator, .listItemIcon, .listItem-border, .button-flat, .visualCardBox, .checkboxOutline, .emby-select-withcolor, .chapterThumbTextContainer, .chapterThumbContainer, .chapterThumb, .emby-input, .emby-textarea, .emby-select-withcolor, .nowPlayingPageImage, .upNextDialog-poster-img, .upNextContainer, .cardOverlayButtonIcon {border-radius: var(--rounding) !important;}.osdPoster img {border-radius: var(--rounding);border: none;}.mdl-slider::-moz-range-thumb {border-radius: var(--rounding);}.mdl-slider::-ms-thumb {border-radius: var(--rounding);}.mdl-slider::-webkit-slider-thumb {border-radius: var(--rounding);}div[data-role='controlgroup'] a[data-role='button']:first-child {border-bottom-left-radius: var(--rounding);border-top-left-radius: var(--rounding);}div[data-role='controlgroup'] a[data-role='button']:last-child {border-bottom-right-radius: var(--rounding);border-top-right-radius: var(--rounding);}#dashboardPage .cardContent, #dashboardPage .sessionNowPlayingInnerContent {border-radius: var(--rounding) var(--rounding) 0 0 !important;}#divVirtualFolders .cardImageContainer, #divVirtualFolders .cardContent {border-radius: var(--rounding) var(--rounding) 0 0 !important;}#userProfilesPage .cardImage, #userProfilesPage .cardContent {border-radius: var(--rounding) var(--rounding) 0 0 !important;}#user_usage_report_table, .detailTable {border-radius: var(--rounding);}progress {border-radius: var(--rounding);}progress::-webkit-progress-bar {border-radius: var(--rounding);}progress::-moz-progress-bar {border-radius: var(--rounding);}progress::-webkit-progress-value {border-radius: var(--rounding);}.taskProgressOuter, .taskProgressInner {border-radius: var(--rounding) !important;}::-webkit-scrollbar-thumb {border-radius: var(--rounding);} .paper-icon-button-light{border-radius: var(--btn-rounding) !impotant;}",
"default": "0"
},
{
"type": "colorPicker",
"name": "Background-color",
"description": "change background-color of the background",
"css": ".backgroundContainer.withBackdrop {background-color: $;}",
"default": "rgba(0, 0, 0, 0.86)"
},
{
"type": "blurSlider",
"name": "Backdrop Blur",
"description": "adds blur to the backdrop images default is zero",
"css": ":root{--bgblur: blur($px)}.backdropImage {filter: var(--bgblur);}",
"default": "0"
}
]
}
]
}
]
}
]
}
]

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

BIN
src/img/Default/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

88
src/js/json__compile.js Normal file
View 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);
}
}