From f128cd4989d4ef2b39b463f8eff79f427d71bd20 Mon Sep 17 00:00:00 2001
From: Andrey <50486086+DarkCat09@users.noreply.github.com>
Date: Tue, 27 Jul 2021 18:17:09 +0400
Subject: [PATCH] Add files via upload
---
convert/base16tocss.py | 97 +++++++
convert/convertall.bat | 2 +
convert/convertall.sh | 1 +
css/jetbrainsmono.css | 240 +++++++++++++++++
css/style.css | 218 ++++++++++++++++
index.html | 41 +++
jbmono/AUTHORS.txt | 10 +
jbmono/OFL.txt | 93 +++++++
jbmono/fonts/ttf/JetBrainsMono-Bold.ttf | Bin 0 -> 173264 bytes
jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf | Bin 0 -> 175800 bytes
jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf | Bin 0 -> 175812 bytes
.../ttf/JetBrainsMono-ExtraBoldItalic.ttf | Bin 0 -> 178492 bytes
jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf | Bin 0 -> 171732 bytes
.../ttf/JetBrainsMono-ExtraLightItalic.ttf | Bin 0 -> 173496 bytes
jbmono/fonts/ttf/JetBrainsMono-Italic.ttf | Bin 0 -> 175656 bytes
jbmono/fonts/ttf/JetBrainsMono-Light.ttf | Bin 0 -> 173244 bytes
.../fonts/ttf/JetBrainsMono-LightItalic.ttf | Bin 0 -> 175140 bytes
jbmono/fonts/ttf/JetBrainsMono-Medium.ttf | Bin 0 -> 173444 bytes
.../fonts/ttf/JetBrainsMono-MediumItalic.ttf | Bin 0 -> 176680 bytes
jbmono/fonts/ttf/JetBrainsMono-Regular.ttf | Bin 0 -> 171876 bytes
jbmono/fonts/ttf/JetBrainsMono-Thin.ttf | Bin 0 -> 169480 bytes
jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf | Bin 0 -> 172548 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf | Bin 0 -> 116608 bytes
.../fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf | Bin 0 -> 120048 bytes
.../fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf | Bin 0 -> 118208 bytes
.../ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf | Bin 0 -> 120868 bytes
.../fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf | Bin 0 -> 116040 bytes
.../ttf/JetBrainsMonoNL-ExtraLightItalic.ttf | Bin 0 -> 118404 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Italic.ttf | Bin 0 -> 119268 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf | Bin 0 -> 116204 bytes
.../fonts/ttf/JetBrainsMonoNL-LightItalic.ttf | Bin 0 -> 119040 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf | Bin 0 -> 115960 bytes
.../ttf/JetBrainsMonoNL-MediumItalic.ttf | Bin 0 -> 120040 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf | Bin 0 -> 115148 bytes
jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf | Bin 0 -> 114644 bytes
.../fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf | Bin 0 -> 117928 bytes
.../variable/JetBrainsMono-Italic[wght].ttf | Bin 0 -> 200372 bytes
jbmono/fonts/variable/JetBrainsMono[wght].ttf | Bin 0 -> 195528 bytes
.../fonts/webfonts/JetBrainsMono-Bold.woff2 | Bin 0 -> 59436 bytes
.../webfonts/JetBrainsMono-BoldItalic.woff2 | Bin 0 -> 61992 bytes
.../webfonts/JetBrainsMono-ExtraBold.woff2 | Bin 0 -> 59004 bytes
.../JetBrainsMono-ExtraBoldItalic.woff2 | Bin 0 -> 61804 bytes
.../webfonts/JetBrainsMono-ExtraLight.woff2 | Bin 0 -> 58520 bytes
.../JetBrainsMono-ExtraLightItalic.woff2 | Bin 0 -> 60700 bytes
.../fonts/webfonts/JetBrainsMono-Italic.woff2 | Bin 0 -> 60864 bytes
.../fonts/webfonts/JetBrainsMono-Light.woff2 | Bin 0 -> 59112 bytes
.../webfonts/JetBrainsMono-LightItalic.woff2 | Bin 0 -> 61804 bytes
.../fonts/webfonts/JetBrainsMono-Medium.woff2 | Bin 0 -> 59232 bytes
.../webfonts/JetBrainsMono-MediumItalic.woff2 | Bin 0 -> 62208 bytes
.../webfonts/JetBrainsMono-Regular.woff2 | Bin 0 -> 58268 bytes
.../fonts/webfonts/JetBrainsMono-Thin.woff2 | Bin 0 -> 56972 bytes
.../webfonts/JetBrainsMono-ThinItalic.woff2 | Bin 0 -> 59648 bytes
js/loadtheme.js | 8 +
js/script.js | 25 ++
js/ui.js | 56 ++++
langs/bash.json | 9 +
langs/diff.json | 5 +
languages.txt | 32 +++
start.html | 246 ++++++++++++++++++
themes/base16-atelier-cave-light.css | 22 ++
themes/base16-atelier-cave.css | 22 ++
themes/base16-atelier-dune-light.css | 22 ++
themes/base16-atelier-dune.css | 22 ++
themes/base16-atelier-forest-light.css | 22 ++
themes/base16-atelier-forest.css | 22 ++
themes/base16-atelier-lakeside-light.css | 22 ++
themes/base16-atelier-lakeside.css | 22 ++
themes/base16-classic-dark.css | 22 ++
themes/base16-classic-light.css | 22 ++
themes/base16-github.css | 22 ++
themes/base16-material-darker.css | 22 ++
themes/base16-material-lighter.css | 22 ++
themes/base16-material-palenight.css | 22 ++
themes/base16-material.css | 22 ++
themes/base16-nova.css | 22 ++
themes/base16-onedark.css | 22 ++
themes/base16-porple.css | 22 ++
themes/intellij.css | 32 +++
themes/intellij2.css | 33 +++
themes/monokai-spacegray.css | 25 ++
themes/monokai.css | 26 ++
themes/monolight.css | 26 ++
82 files changed, 1621 insertions(+)
create mode 100644 convert/base16tocss.py
create mode 100644 convert/convertall.bat
create mode 100644 convert/convertall.sh
create mode 100644 css/jetbrainsmono.css
create mode 100644 css/style.css
create mode 100644 index.html
create mode 100644 jbmono/AUTHORS.txt
create mode 100644 jbmono/OFL.txt
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Bold.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Italic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Light.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-LightItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Medium.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-MediumItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Regular.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-Thin.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Italic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf
create mode 100644 jbmono/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf
create mode 100644 jbmono/fonts/variable/JetBrainsMono-Italic[wght].ttf
create mode 100644 jbmono/fonts/variable/JetBrainsMono[wght].ttf
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Italic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Light.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2
create mode 100644 jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2
create mode 100644 js/loadtheme.js
create mode 100644 js/script.js
create mode 100644 js/ui.js
create mode 100644 langs/bash.json
create mode 100644 langs/diff.json
create mode 100644 languages.txt
create mode 100644 start.html
create mode 100644 themes/base16-atelier-cave-light.css
create mode 100644 themes/base16-atelier-cave.css
create mode 100644 themes/base16-atelier-dune-light.css
create mode 100644 themes/base16-atelier-dune.css
create mode 100644 themes/base16-atelier-forest-light.css
create mode 100644 themes/base16-atelier-forest.css
create mode 100644 themes/base16-atelier-lakeside-light.css
create mode 100644 themes/base16-atelier-lakeside.css
create mode 100644 themes/base16-classic-dark.css
create mode 100644 themes/base16-classic-light.css
create mode 100644 themes/base16-github.css
create mode 100644 themes/base16-material-darker.css
create mode 100644 themes/base16-material-lighter.css
create mode 100644 themes/base16-material-palenight.css
create mode 100644 themes/base16-material.css
create mode 100644 themes/base16-nova.css
create mode 100644 themes/base16-onedark.css
create mode 100644 themes/base16-porple.css
create mode 100644 themes/intellij.css
create mode 100644 themes/intellij2.css
create mode 100644 themes/monokai-spacegray.css
create mode 100644 themes/monokai.css
create mode 100644 themes/monolight.css
diff --git a/convert/base16tocss.py b/convert/base16tocss.py
new file mode 100644
index 0000000..ae6b778
--- /dev/null
+++ b/convert/base16tocss.py
@@ -0,0 +1,97 @@
+import os
+import sys
+
+def convert_scheme2css(filename):
+
+ themefile = open(filename, 'rt')
+ base16 = themefile.read().splitlines()
+ themefile.close()
+
+ filename = os.path.basename(filename)
+ cssfilename = 'base16-' + filename[:filename.rfind('.yaml')] + '.css'
+ style = open(cssfilename, 'wt')
+ for line in base16:
+ line = line.lower()
+ csscode = ''
+ add = True
+
+ if (line.startswith('scheme')):
+ csscode = '/* Color Scheme %(value)s */'
+
+ elif (line.startswith('author')):
+ csscode = '/* by %(value)s */\n'
+
+ elif (line.startswith('base00')):
+ csscode = '.mlight-bg { background: #%(value)s; }'
+
+ elif (line.startswith('base01')):
+ csscode = '.mlight-strnum { color: #%(value)s; }'
+
+ elif (line.startswith('base02')):
+ csscode = \
+ '.mlight-select::selection,\n' + \
+ '.mlight-select::-moz-selection { background: #%(value)s; }'
+
+ elif (line.startswith('base03')):
+ csscode = '.mlight-comment { color: #%(value)s; }'
+
+ elif (line.startswith('base04')):
+ csscode = '.mlight-codepanel { background: #%(value)s; }'
+
+ elif (line.startswith('base05')):
+ csscode = \
+ '.mlight-fg { color: #%(value)s; }\n' + \
+ '.mlight-oper { color: #%(value)s; }'
+
+ elif (line.startswith('base08')):
+ csscode = \
+ '.mlight-var { color: #%(value)s; }\n' + \
+ '.mlight-diff-d { color: #%(value)s; }'
+
+ elif (line.startswith('base09')):
+ csscode = '.mlight-const { color: #%(value)s; }'
+
+ elif (line.startswith('base0a')):
+ csscode = '.mlight-class { color: #%(value)s; }'
+
+ elif (line.startswith('base0b')):
+ csscode = \
+ '.mlight-str { color: #%(value)s; }\n' + \
+ '.mlight-diff-i { color: #%(value)s; }'
+
+ elif (line.startswith('base0c')):
+ csscode = '.mlight-esc { color: #%(value)s; }'
+
+ elif (line.startswith('base0d')):
+ csscode = '.mlight-func { color: #%(value)s; }'
+
+ elif (line.startswith('base0e')):
+ csscode = \
+ '.mlight-kw { color: #%(value)s; }\n' + \
+ '.mlight-diff-c { color: #%(value)s; }'
+
+ elif (line.startswith('base0f')):
+ csscode = '.mlight-embed { color: #%(value)s; }'
+
+ else:
+ add = False
+ print('Unknown key! Line:', line)
+
+ if add:
+ style.write((csscode % {'value': line[9:line.rfind('"')]}) + '\n')
+ style.close()
+
+
+if __name__ == '__main__':
+
+ try:
+ if len(sys.argv) > 1:
+ for scheme in range(1, len(sys.argv)):
+ base16file = sys.argv[scheme]
+ convert_scheme2css(base16file)
+ else:
+ base16file = input('Enter path to a Base16 color scheme file: ')
+ convert_scheme2css(base16file)
+ except Exception as ex:
+ print(ex)
+ input()
diff --git a/convert/convertall.bat b/convert/convertall.bat
new file mode 100644
index 0000000..be82a17
--- /dev/null
+++ b/convert/convertall.bat
@@ -0,0 +1,2 @@
+@echo off
+for /F "usebackq delims=" %%A in (`dir /B ^| findstr /V base16tocss.py ^| findstr /V .css ^| findstr /V .bat ^| findstr /V .sh ^| tr "\r\n" " "`) do python base16tocss.py %%A
diff --git a/convert/convertall.sh b/convert/convertall.sh
new file mode 100644
index 0000000..c722eed
--- /dev/null
+++ b/convert/convertall.sh
@@ -0,0 +1 @@
+python base16tocss.py `ls --hide=*.py --hide=*.css --hide=*.bat --hide=*.sh`
diff --git a/css/jetbrainsmono.css b/css/jetbrainsmono.css
new file mode 100644
index 0000000..41ed141
--- /dev/null
+++ b/css/jetbrainsmono.css
@@ -0,0 +1,240 @@
+/* Copyright 2021 Chechkenev Andrey, MIT License
+ *
+ * JetBrains Mono
+ * Font-Face CSS File by DarkCat09
+ */
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-Thin.ttf') format('truetype');
+ font-weight: 100;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf') format('truetype');
+ font-weight: 100;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf') format('truetype');
+ font-weight: 200;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf') format('truetype');
+ font-weight: 200;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Light.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-Light.ttf') format('truetype');
+ font-weight: 300;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-LightItalic.ttf') format('truetype');
+ font-weight: 300;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-Regular.ttf') format('truetype');
+ font-weight: 400;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-Medium.ttf') format('truetype');
+ font-weight: 500;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-MediumItalic.ttf') format('truetype');
+ font-weight: 500;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-Bold.ttf') format('truetype');
+ font-weight: 700;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf') format('truetype');
+ font-weight: 700;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf') format('truetype');
+ font-weight: 800;
+ font-style: normal;
+ font-variant-ligatures: normal;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf') format('truetype');
+ font-weight: 800;
+ font-style: italic;
+ font-variant-ligatures: normal;
+}
+
+/* No Ligatures */
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf') format('truetype');
+ font-weight: 100;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf') format('truetype');
+ font-weight: 100;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf') format('truetype');
+ font-weight: 200;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf') format('truetype');
+ font-weight: 200;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Light.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf') format('truetype');
+ font-weight: 300;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf') format('truetype');
+ font-weight: 300;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf') format('truetype');
+ font-weight: 400;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf') format('truetype');
+ font-weight: 500;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf') format('truetype');
+ font-weight: 500;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf') format('truetype');
+ font-weight: 700;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf') format('truetype');
+ font-weight: 700;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf') format('truetype');
+ font-weight: 800;
+ font-style: normal;
+ font-variant-ligatures: none;
+}
+
+@font-face {
+ font-family: 'JetBrains Mono', monospace;
+ src: url('../jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2') format('woff'),
+ url('../jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf') format('truetype');
+ font-weight: 800;
+ font-style: italic;
+ font-variant-ligatures: none;
+}
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..e5cfcd8
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,218 @@
+@import url('jetbrainsmono.css');
+
+body {
+ margin: 0;
+ padding: 0;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ font-family: 'JetBrains Mono', monospace;
+}
+body.dark { background-color: #333; color: #fff; }
+body.light { background-color: #ddd; color: #000; }
+
+.menu {
+ margin: 0;
+ padding: 0;
+ top: 0;
+ left: 0;
+ right: 0;
+ position: fixed;
+ background-color: inherit;
+ box-shadow: 0px 8px 10px 0px #000;
+}
+.top-menu {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: row;
+ justify-content: start;
+ align-items: center;
+}
+.top-menu li {
+ display: inline-block;
+ padding: 8px;
+ transition: color 0.4s ease-out 0s;
+}
+.top-menu li:hover {
+ color: #5581c9;
+}
+.top-menu li > a {
+ color: inherit;
+ text-decoration: none;
+}
+
+.hint {
+ position: absolute;
+ pointer-events: none;
+ top: 0;
+ left: 0;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 5px;
+ padding: 10px;
+ opacity: 0;
+ transition: opacity 0.1s ease-out 0s;
+ backdrop-filter: blur(5px);
+ z-index: 799;
+}
+.hint-content {
+ color: #fff;
+ z-index: 800;
+}
+
+.main-content {
+ margin-top: 4em;
+}
+#home {
+ margin-top: 7em;
+ margin-left: 2em;
+}
+#start {
+ margin-left: 1em;
+}
+
+h1 {
+ font-size: 3em;
+ margin: 0;
+}
+h3 {
+ font-size: 1.5em;
+ font-weight: 400;
+ font-style: italic;
+ margin: 0;
+}
+#light-text {
+ text-shadow: #5581c9 1px 0 10px;
+}
+
+.home-buttons {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin-top: 10px;
+}
+
+.button {
+ text-decoration: none;
+ text-transform: uppercase;
+ font-size: 1.1em;
+ padding: 5px 10px 5px 10px;
+ margin-right: 15px;
+ border-radius: 10px;
+ color: inherit;
+ transition: box-shadow 0.4s ease 0s;
+}
+.button:hover {
+ box-shadow: 0 0 10px #5581c9;
+}
+body.dark .button { border: 3px solid #ddd; }
+body.light .button { border: 3px solid #000; }
+body.dark .main-button { background-color: #ddd; color: #000; }
+body.light .main-button { border: 3px solid #000; }
+
+body.dark input:not([type="range"]),
+body.dark select,
+body.dark textarea {
+ border: 1px solid #aaa;
+}
+body.light input:not([type="color"]),
+body.light select,
+body.light textarea {
+ border: 1px solid #222;
+}
+input:not([type="color"]), select, textarea {
+ outline: none;
+ border-radius: 10px;
+ font-family: 'JetBrains Mono', monospace;
+ font-size: 1.15em;
+ font-weight: 300;
+ color: inherit;
+ background-color: inherit;
+}
+select, label { cursor: pointer; }
+select {
+ background-color: #ddd;
+ color: #333;
+}
+label {
+ margin: 5px;
+}
+textarea.codearea { font-size: 0.9em; }
+
+.code-options {
+ display: inline-grid;
+ grid-template-columns: auto auto;
+ font-size: 1em;
+}
+.option { margin: 5px; }
+
+.toggle-wrapper, .radio-wrapper {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin: 5px 0 5px 0;
+}
+
+.start-buttons {
+ margin-top: 1.1em;
+}
+
+.switch-btn {
+ display: inline-block;
+ width: 3.375rem;
+ height: 1.875rem;
+ border-radius: 1.19rem;
+ background: #bfbfbf;
+ margin: 0;
+ padding: 0;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border: none;
+ cursor: pointer;
+ position: relative;
+ transition-duration: 300ms;
+}
+.switch-btn::after {
+ content: "";
+ height: 1.5rem;
+ width: 1.5rem;
+ border-radius: 1.063rem;
+ background: #fff;
+ top: 0.188rem;
+ left: 0.188rem;
+ transition-duration: 300ms;
+ position: absolute;
+}
+.switch-on {
+ background: linear-gradient(to bottom, #36527f 0%,#3652c9 35%,#5581c9 100%);
+}
+.switch-on::after {
+ left: 1.75rem;
+}
+
+.radio-btn {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ background-color: inherit;
+ border: 1px solid #aaa;
+ border-radius: 50%;
+ cursor: pointer;
+}
+.radio-on {
+ background: linear-gradient(to bottom, #36527f 0%,#3652c9 35%,#5581c9 100%);
+}
+.radio-on::after {
+ content: "";
+ position: absolute;
+ width: 0.5em;
+ height: 0.5em;
+ margin-top: 4px;
+ margin-left: 4px;
+ background-color: #fff;
+ border-radius: 50%;
+}
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..679f79a
--- /dev/null
+++ b/index.html
@@ -0,0 +1,41 @@
+
+
+
+
+ Monolight: Code Highlighter with Monospace Font
+
+
+
+
+
+
+
+
+
MonoLight
+
Fully customizable syntax highliter
+
+
+
+
+
+
diff --git a/jbmono/AUTHORS.txt b/jbmono/AUTHORS.txt
new file mode 100644
index 0000000..8814941
--- /dev/null
+++ b/jbmono/AUTHORS.txt
@@ -0,0 +1,10 @@
+# This is the official list of project authors for copyright purposes.
+# This file is distinct from the CONTRIBUTORS.txt file.
+# See the latter for an explanation.
+#
+# Names should be added to this file as:
+# Name or Organization
+
+JetBrains <>
+Philipp Nurullin
+Konstantin Bulenkov
diff --git a/jbmono/OFL.txt b/jbmono/OFL.txt
new file mode 100644
index 0000000..821a3da
--- /dev/null
+++ b/jbmono/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/jbmono/fonts/ttf/JetBrainsMono-Bold.ttf b/jbmono/fonts/ttf/JetBrainsMono-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0cd1cb66bd193f2b178d0a69a7b0658d76b3a670
GIT binary patch
literal 173264
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 E
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%0Abi#}=?x9#AzJ05!8Z#!udP+
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