-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
4bit.js
92 lines (82 loc) · 11.7 KB
/
4bit.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var defaultTheme = "Konsolas";
function GetColorSchemeList() {
return [
"3024-Day","3024-Night","Aardvark-Blue","Abernathy","Adventure","AdventureTime","Afterglow","Alabaster","AlienBlood","Andromeda","Apple-Classic","Apple-System-Colors","arcoiris","Argonaut","Arthur","AtelierSulphurpool","Atom","AtomOneLight","Aurora","Ayu-Mirage","ayu-light","ayu","Banana-Blueberry","Batman","Belafonte-Day","Belafonte-Night","BirdsOfParadise","Blazer","Blue-Matrix","BlueBerryPie","BlueDolphin","BlulocoDark","BlulocoLight","Borland","Breeze","Bright-Lights","Broadcast","Brogrammer","Builtin-Dark","Builtin-Light","Builtin-Pastel-Dark","Builtin-Solarized-Dark","Builtin-Solarized-Light","Builtin-Tango-Dark","Builtin-Tango-Light","C64","Calamity","catppuccin-frappe","catppuccin-latte","catppuccin-macchiato","catppuccin-mocha","CGA","Chalk","Chalkboard","ChallengerDeep","Chester","Ciapre","CLRS","Cobalt-Neon","Cobalt2","coffee-theme","CrayonPonyFish","CutiePro","Cyberdyne","cyberpunk","CyberpunkScarletProtocol","Dark-Pastel","Dark+","darkermatrix","darkmatrix","Darkside","dayfox","deep","Desert","Dimidium","DimmedMonokai","Django","DjangoRebornAgain","DjangoSmooth","Doom-Peacock","DoomOne","DotGov","Dracula","Dracula+","duckbones","Duotone-Dark","Earthsong","Elemental","Elementary","ENCOM","Espresso-Libre","Espresso","Everblush","Fahrenheit","Fairyfloss","farmhouse-dark","farmhouse-light","Fideloper","Firefly-Traditional","FirefoxDev","Firewatch","FishTank","Flat","Flatland","flexoki-dark","flexoki-light","Floraverse","ForestBlue","Framer","FrontEndDelight","FunForrest","Galaxy","Galizur","GitHub-Dark","Github","Glacier","Grape","Grass","Grey-green","gruber-darker","Gruvbox-Light","GruvboxDark","GruvboxDarkHard","GruvboxLight","Guezwhoz","Hacktober","Hardcore","Harper","HaX0R-BLUE","HaX0R-GR33N","HaX0R-R3D","Highway","Hipster-Green","Hivacruz","Homebrew","Hopscotch-256","Hopscotch","Hurtado","Hybrid","IC-Green-PPL","IC-Orange-PPL","iceberg-dark","iceberg-light","idea","idleToes","IR-Black","iTerm2-Dark-Background","iTerm2-Default","iTerm2-Light-Background","iTerm2-Pastel-Dark-Background","iTerm2-Smoooooth","iTerm2-Solarized-Dark","iTerm2-Solarized-Light","iTerm2-Tango-Dark","iTerm2-Tango-Light","Jackie-Brown","Japanesque","Jellybeans","JetBrains-Darcula","jubi","kanagawabones","Kibble","Kolorit","Konsolas","kurokula","Lab-Fox","Laser","Later-This-Evening","Lavandula","LiquidCarbon","LiquidCarbonTransparent","LiquidCarbonTransparentInverse","lovelace","Man-Page","Mariana","Material","MaterialDark","MaterialDarker","MaterialDesignColors","MaterialOcean","Mathias","matrix","Medallion","Mellifluous","mellow","midnight-in-mojave","Mirage","Misterioso","Molokai","MonaLisa","Monokai-Remastered","Monokai-Soda","Monokai-Vivid","N0tch2k","neobones-dark","neobones-light","Neon","Neopolitan","Neutron","Night-Owlish-Light","nightfox","NightLion-v1","NightLion-v2","niji","Nocturnal-Winter","nord-light","nord","Novel","NvimDark","NvimLight","Obsidian","Ocean","Oceanic-Next","OceanicMaterial","Ollie","OneHalfDark","OneHalfLight","Operator-Mono-Dark","Overnight-Slumber","Oxocarbon","PaleNightHC","Pandora","Paraiso-Dark","PaulMillr","PencilDark","PencilLight","Peppermint","Piatto-Light","Pnevma","Popping-and-Locking","primary","Pro-Light","Pro","Purple-Rain","purplepeter","Rapture","Raycast-Dark","Raycast-Light","rebecca","Red-Alert","Red-Planet","Red-Sands","Relaxed","Retro","Rippedcasts","rose-pine-dawn","rose-pine-moon","rose-pine","Rouge-2","Royal","Ryuuko","Sakura","Scarlet-Protocol","Seafoam-Pastel","SeaShells","seoulbones-dark","seoulbones-light","Seti","shades-of-purple","Shaman","Slate","SleepyHollow","Smyck","Snazzy","SoftServer","Solarized-Darcula","Solarized-Dark-Patched","Solarized-Dark-Higher-Contrast","Spacedust","SpaceGray-Bright","SpaceGray-Eighties-Dull","SpaceGray-Eighties","SpaceGray","Spiderman","Spring","Square","Sublette","Subliminal","Sugarplum","Sundried","Symfonic","synthwave-everything","synthwave","SynthwaveAlpha","Tango-Adapted","Tango-Half-Adapted","Teerb","terafox","Terminal-Basic","Thayer-Bright","The-Hulk","Tinacious-Design-Dark","Tinacious-Design-Light","tokyonight-day","tokyonight-storm","tokyonight","Tomorrow-Night-Blue","Tomorrow-Night-Bright","Tomorrow-Night-Burns","Tomorrow-Night-Eighties","Tomorrow-Night","Tomorrow","ToyChest","Treehouse","Twilight","Ubuntu","UltraDark","UltraViolent","UnderTheSea","Unikitty","Urple","Vaughn","Vesper","VibrantInk","vimbones","Violet-Dark","Violet-Light","WarmNeon","Wez","Whimsy","WildCherry","wilmersdorf","Wombat","Wryan","xcodedark","xcodedarkhc","xcodelight","xcodelighthc","xcodewwdc","zenbones-dark","zenbones-light","zenbones","Zenburn","zenburned","zenwritten-dark","zenwritten-light","Terminal-Basic"
]
}
function GetDarkColorSchemes() {
return [
"3024-Day","3024-Night","Aardvark-Blue","Abernathy","Adventure","AdventureTime","Afterglow","Alabaster","AlienBlood","Andromeda","Apple-Classic","Apple-System-Colors","arcoiris","Argonaut","Arthur","AtelierSulphurpool","Atom","AtomOneLight","Aurora","Ayu-Mirage","ayu-light","ayu","Banana-Blueberry","Batman","Belafonte-Day","Belafonte-Night","BirdsOfParadise","Blazer","Blue-Matrix","BlueBerryPie","BlueDolphin","BlulocoDark","BlulocoLight","Borland","Breeze","Bright-Lights","Broadcast","Brogrammer","Builtin-Dark","Builtin-Light","Builtin-Pastel-Dark","Builtin-Solarized-Dark","Builtin-Solarized-Light","Builtin-Tango-Dark","Builtin-Tango-Light","C64","Calamity","catppuccin-frappe","catppuccin-latte","catppuccin-macchiato","catppuccin-mocha","CGA","Chalk","Chalkboard","ChallengerDeep","Chester","Ciapre","CLRS","Cobalt-Neon","Cobalt2","coffee-theme","CrayonPonyFish","CutiePro","Cyberdyne","cyberpunk","CyberpunkScarletProtocol","Dark-Pastel","Dark+","darkermatrix","darkmatrix","Darkside","dayfox","deep","Desert","Dimidium","DimmedMonokai","Django","DjangoRebornAgain","DjangoSmooth","Doom-Peacock","DoomOne","DotGov","Dracula","Dracula+","duckbones","Duotone-Dark","Earthsong","Elemental","Elementary","ENCOM","Espresso-Libre","Espresso","Everblush","Fahrenheit","Fairyfloss","farmhouse-dark","farmhouse-light","Fideloper","Firefly-Traditional","FirefoxDev","Firewatch","FishTank","Flat","Flatland","flexoki-dark","flexoki-light","Floraverse","ForestBlue","Framer","FrontEndDelight","FunForrest","Galaxy","Galizur","GitHub-Dark","Github","Glacier","Grape","Grass","Grey-green","gruber-darker","Gruvbox-Light","GruvboxDark","GruvboxDarkHard","GruvboxLight","Guezwhoz","Hacktober","Hardcore","Harper","HaX0R-BLUE","HaX0R-GR33N","HaX0R-R3D","Highway","Hipster-Green","Hivacruz","Homebrew","Hopscotch-256","Hopscotch","Hurtado","Hybrid","IC-Green-PPL","IC-Orange-PPL","iceberg-dark","iceberg-light","idea","idleToes","IR-Black","iTerm2-Dark-Background","iTerm2-Default","iTerm2-Light-Background","iTerm2-Pastel-Dark-Background","iTerm2-Smoooooth","iTerm2-Solarized-Dark","iTerm2-Solarized-Light","iTerm2-Tango-Dark","iTerm2-Tango-Light","Jackie-Brown","Japanesque","Jellybeans","JetBrains-Darcula","jubi","kanagawabones","Kibble","Kolorit","Konsolas","kurokula","Lab-Fox","Laser","Later-This-Evening","Lavandula","LiquidCarbon","LiquidCarbonTransparent","LiquidCarbonTransparentInverse","lovelace","Man-Page","Mariana","Material","MaterialDark","MaterialDarker","MaterialDesignColors","MaterialOcean","Mathias","matrix","Medallion","Mellifluous","mellow","midnight-in-mojave","Mirage","Misterioso","Molokai","MonaLisa","Monokai-Remastered","Monokai-Soda","Monokai-Vivid","N0tch2k","neobones-dark","neobones-light","Neon","Neopolitan","Neutron","Night-Owlish-Light","nightfox","NightLion-v1","NightLion-v2","niji","Nocturnal-Winter","nord-light","nord","Novel","NvimDark","NvimLight","Obsidian","Ocean","Oceanic-Next","OceanicMaterial","Ollie","OneHalfDark","OneHalfLight","Operator-Mono-Dark","Overnight-Slumber","Oxocarbon","PaleNightHC","Pandora","Paraiso-Dark","PaulMillr","PencilDark","PencilLight","Peppermint","Piatto-Light","Pnevma","Popping-and-Locking","primary","Pro-Light","Pro","Purple-Rain","purplepeter","Rapture","Raycast-Dark","Raycast-Light","rebecca","Red-Alert","Red-Planet","Red-Sands","Relaxed","Retro","Rippedcasts","rose-pine-dawn","rose-pine-moon","rose-pine","Rouge-2","Royal","Ryuuko","Sakura","Scarlet-Protocol","Seafoam-Pastel","SeaShells","seoulbones-dark","seoulbones-light","Seti","shades-of-purple","Shaman","Slate","SleepyHollow","Smyck","Snazzy","SoftServer","Solarized-Darcula","Solarized-Dark-Patched","Solarized-Dark-Higher-Contrast","Spacedust","SpaceGray-Bright","SpaceGray-Eighties-Dull","SpaceGray-Eighties","SpaceGray","Spiderman","Spring","Square","Sublette","Subliminal","Sugarplum","Sundried","Symfonic","synthwave-everything","synthwave","SynthwaveAlpha","Tango-Adapted","Tango-Half-Adapted","Teerb","terafox","Terminal-Basic","Thayer-Bright","The-Hulk","Tinacious-Design-Dark","Tinacious-Design-Light","tokyonight-day","tokyonight-storm","tokyonight","Tomorrow-Night-Blue","Tomorrow-Night-Bright","Tomorrow-Night-Burns","Tomorrow-Night-Eighties","Tomorrow-Night","Tomorrow","ToyChest","Treehouse","Twilight","Ubuntu","UltraDark","UltraViolent","UnderTheSea","Unikitty","Urple","Vaughn","Vesper","VibrantInk","vimbones","Violet-Dark","Violet-Light","WarmNeon","Wez","Whimsy","WildCherry","wilmersdorf","Wombat","Wryan","xcodedark","xcodedarkhc","xcodelight","xcodelighthc","xcodewwdc","zenbones-dark","zenbones-light","zenbones","Zenburn","zenburned","zenwritten-dark","zenwritten-light","Terminal-Basic"
]
}
function GetLightColorSchemes() {
return [
""
]
}
function feelingLucky() {
var colorSchemes = GetColorSchemeList();
var randomNumber = Math.floor(Math.random() * colorSchemes.length);
var fourBitCssLink = document.getElementById("4bitcss");
if (! fourBitCssLink) {
throw "Must have a stylesheet link with the id '4bitcss'"
}
SetColorScheme(colorSchemes[randomNumber])
}
function SetColorScheme(colorSchemeName) {
var fourBitCssLink = document.getElementById("4bitcss");
if (! fourBitCssLink) {
throw "Must have a stylesheet link with the id '4bitcss'"
}
var foundScheme = GetColorSchemeList().find(element => element == colorSchemeName);
if (! foundScheme) {
throw ("Color Scheme '" + colorSchemeName + "' does not exist");
}
fourBitCssLink.href = "/" + foundScheme + "/" + foundScheme + ".css";
fourBitCssLink.themeName = foundScheme;
var downloadLink = document.getElementById("downloadSchemeLink");
if (downloadLink) {
downloadLink.href = "/" + foundScheme + "/" + foundScheme + ".css";
}
var cdnLink = document.getElementById("cdnSchemeLink")
if (cdnLink) {
cdnLink.href = "https://cdn.jsdelivr.net/gh/2bitdesigns/4bitcss@latest/css/" + foundScheme + ".css";
}
var colorSchemeNameLink = document.getElementById("colorSchemeNameLink")
if (colorSchemeNameLink) {
colorSchemeNameLink.href = "/" + foundScheme;
}
var schemeSelector = document.getElementById("schemeSelector");
if (schemeSelector) {
schemeSelector.value = foundScheme;
}
}
function GetCSSVariable(name) {
var root = document.querySelector(":root");
var rootStyle = getComputedStyle(root);
return rootStyle.getPropertyValue(name);
}
function saveTheme() {
var fourBitCssLink = document.getElementById("4bitcss");
if (! fourBitCssLink) {
throw "Must have a stylesheet link with the id '4bitcss'"
}
if (typeof(Storage) == "undefined") {
throw "Cannot save themes without HTML5 Local Storage"
}
localStorage.setItem("savedThemeLink", fourBitCssLink.themeName);
}
function loadTheme() {
if (typeof(Storage) == "undefined") {
throw "Cannot save themes without HTML5 Local Storage"
}
var previouslySaved = localStorage.getItem("savedThemeLink");
if (previouslySaved) {
SetColorScheme(previouslySaved);
}
for (arg in arguments) {
if (arguments[arg].value) {
arguments[arg].value = previouslySaved;
}
}
}