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

+
+ Start + Features +
+
+
+ + + 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 0000000..0cd1cb6 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Bold.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf new file mode 100644 index 0000000..136d448 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-BoldItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf b/jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf new file mode 100644 index 0000000..de49a65 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-ExtraBold.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf new file mode 100644 index 0000000..357b69e Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf b/jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf new file mode 100644 index 0000000..73a1268 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-ExtraLight.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf new file mode 100644 index 0000000..7c7b1a1 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-Italic.ttf b/jbmono/fonts/ttf/JetBrainsMono-Italic.ttf new file mode 100644 index 0000000..d65e68c Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Italic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-Light.ttf b/jbmono/fonts/ttf/JetBrainsMono-Light.ttf new file mode 100644 index 0000000..3d54fe2 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Light.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-LightItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-LightItalic.ttf new file mode 100644 index 0000000..8786f03 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-LightItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-Medium.ttf b/jbmono/fonts/ttf/JetBrainsMono-Medium.ttf new file mode 100644 index 0000000..ae9a99e Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Medium.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-MediumItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-MediumItalic.ttf new file mode 100644 index 0000000..68afaf6 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-MediumItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-Regular.ttf b/jbmono/fonts/ttf/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000..5f2f00f Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Regular.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-Thin.ttf b/jbmono/fonts/ttf/JetBrainsMono-Thin.ttf new file mode 100644 index 0000000..35d16e6 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-Thin.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf b/jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf new file mode 100644 index 0000000..da6fe4c Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMono-ThinItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf new file mode 100644 index 0000000..d6a1a38 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Bold.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf new file mode 100644 index 0000000..97065c7 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf new file mode 100644 index 0000000..d48cc6f Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf new file mode 100644 index 0000000..18ea280 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf new file mode 100644 index 0000000..41413c1 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf new file mode 100644 index 0000000..9d581e0 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Italic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Italic.ttf new file mode 100644 index 0000000..b8245bc Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Italic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf new file mode 100644 index 0000000..9579c0e Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Light.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf new file mode 100644 index 0000000..6ee3131 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf new file mode 100644 index 0000000..eaae22d Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Medium.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf new file mode 100644 index 0000000..206eeb6 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf new file mode 100644 index 0000000..9d8b0a3 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Regular.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf new file mode 100644 index 0000000..d149728 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-Thin.ttf differ diff --git a/jbmono/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf b/jbmono/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf new file mode 100644 index 0000000..6502903 Binary files /dev/null and b/jbmono/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf differ diff --git a/jbmono/fonts/variable/JetBrainsMono-Italic[wght].ttf b/jbmono/fonts/variable/JetBrainsMono-Italic[wght].ttf new file mode 100644 index 0000000..36805b6 Binary files /dev/null and b/jbmono/fonts/variable/JetBrainsMono-Italic[wght].ttf differ diff --git a/jbmono/fonts/variable/JetBrainsMono[wght].ttf b/jbmono/fonts/variable/JetBrainsMono[wght].ttf new file mode 100644 index 0000000..1d12d48 Binary files /dev/null and b/jbmono/fonts/variable/JetBrainsMono[wght].ttf differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2 new file mode 100644 index 0000000..07fe5d7 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Bold.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2 new file mode 100644 index 0000000..57263ef Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2 new file mode 100644 index 0000000..9ba04e6 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-ExtraBold.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 new file mode 100644 index 0000000..25b16c9 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2 new file mode 100644 index 0000000..0fcf808 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-ExtraLight.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2 new file mode 100644 index 0000000..2101028 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Italic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Italic.woff2 new file mode 100644 index 0000000..cf9e8ef Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Italic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Light.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Light.woff2 new file mode 100644 index 0000000..a456787 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Light.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2 new file mode 100644 index 0000000..209ce0a Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-LightItalic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2 new file mode 100644 index 0000000..b4d9438 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Medium.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2 new file mode 100644 index 0000000..3ac249b Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-MediumItalic.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2 new file mode 100644 index 0000000..cc9a1ae Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Regular.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2 new file mode 100644 index 0000000..70e9c48 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-Thin.woff2 differ diff --git a/jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2 b/jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2 new file mode 100644 index 0000000..dc9f741 Binary files /dev/null and b/jbmono/fonts/webfonts/JetBrainsMono-ThinItalic.woff2 differ diff --git a/js/loadtheme.js b/js/loadtheme.js new file mode 100644 index 0000000..6705f75 --- /dev/null +++ b/js/loadtheme.js @@ -0,0 +1,8 @@ +function saveTheme(theme) { + document.cookie = `theme=${encodeURIComponent(theme)}`; +}; + +function loadTheme() { + var result = document.cookie.match(/;*theme=(\w+)(?:;|$)/m); + return (result) ? result[1] : 'dark'; +}; diff --git a/js/script.js b/js/script.js new file mode 100644 index 0000000..352e0d6 --- /dev/null +++ b/js/script.js @@ -0,0 +1,25 @@ +function monolight() { + var usercode = document.getElementById('usercode').innerHTML.replace('&', '&').replace('<', '<').replace('>', '>'); + var theme = document.getElementById('theme-option').value; + var font = document.getElementById('font-option').value; + var fontdl = (font.includes('JetBrains Mono') ? 'http://darkcat09.github.io/monolight/css/jetbrainsmono.css' : ''); + var lang = document.getElementById('language-option').value; + var exportlang = document.getElementById('export-option').value; + var bg_checkedid = document.querySelector('#bg-radio .radio-on').parentNode.querySelector('input.radio').id; + var bg = + (bg_checkedid == 'custombg-option') ? `#${document.getElementById('bgcolor-option').value.match(/#*([0-9A-Fa-f]+)$/)[1]}` : + (bg_checkedid == 'transpbg-option') ? 'rgba(0, 0, 0, 0)' : null; + var scroll = document.getElementById('scroll-option').checked; + var border = document.getElementById('border-option').checked; + var bdrs = `${document.getElementById('bdradius-option').value}px`; + var controls = { + 'copy': document.getElementById('ctrlcopy-option').checked, + 'win': document.getElementById('ctrlwin-option').checked, + 'lnum': document.getElementById('ctrlline').checked, + 'wrap': document.getElementById('ctrlwrap').checked, + 'cons': document.getElementById('ctrlcons').checked + }; + var outtype = document.getElementById('type-option').value; + + // +}; diff --git a/js/ui.js b/js/ui.js new file mode 100644 index 0000000..52e7a92 --- /dev/null +++ b/js/ui.js @@ -0,0 +1,56 @@ +document.body.addEventListener('DOMContentLoaded', () => { + document.body.classList.toggle(loadTheme()); +}); +bgColorOption_focused = false; + +function showHint(e, id) { + var id = (id) ? (id.trim() != '' ? (`#${id}`) : '') : ''; + var hint = document.querySelector('.hint' + id); + hint.style.top = (e.pageY + 'px'); + hint.style.left = (e.pageX + 'px'); + hint.style.opacity = '1'; +}; +function hideHint(e, id) { + var id = (id) ? (id.trim() != '' ? (`#${id}`) : '') : ''; + var hint = document.querySelector('.hint' + id); + hint.style.opacity = '0'; +}; + +function toggleTheme(e) { + e.target.classList.toggle('switch-on'); + document.body.classList.toggle('light'); + if (document.body.classList.contains('light')) + saveTheme('light'); + else + saveTheme('dark'); +}; + +function toggle(id) { + //e.target.classList.toggle('switch-on'); + document.getElementById(id).classList.toggle('switch-on'); +}; +function switchRadioButton(id) { + var current = document.getElementById(id); + var curradio = current.parentNode.querySelector('input.radio'); + var radios = current.parentNode.parentNode.querySelectorAll('input.radio'); + var stylized_radios = current.parentNode.parentNode.querySelectorAll('span.radio-btn'); + for (var i = 0; i < radios.length; i++) { + if (radios[i] != curradio) + radios[i].checked = false; + } + for (var i = 0; i < stylized_radios.length; i++) { + stylized_radios[i].classList.remove('radio-on'); + } + current.classList.add('radio-on'); +}; + +function checkKey(e) { + if (e.code.startsWith('Key') && !e.key.toLowerCase().match(/#*([0-9A-Fa-f]+)$/)) { + e.preventDefault(); + return false; + } +}; + +function bdrsChange(e) { + e.target.parentNode.querySelector('#bdradius-text').innerHTML = e.target.value; +}; diff --git a/langs/bash.json b/langs/bash.json new file mode 100644 index 0000000..b8cd78a --- /dev/null +++ b/langs/bash.json @@ -0,0 +1,9 @@ +{ + "comment": "#.+$", + "oper": "[+\\-<>!=`\\|&\\[\\]\\(\\):]", + "cmd": "(?:^\\w+)|(?:`\\w+?`)|(?:$\\(\\w+?\\))|(?:\\|.*?\\w+)", + "var": "(?:${\\w+?})|(?:$\\w+)", + "num": "(?:\\d+?\\.\\d+)|(?:\\d+)", + "str": "[\\'\\\"].+?[\\'\\\"]", + "kw": "if|elif|else|fi|case|esac|set|let", +} diff --git a/langs/diff.json b/langs/diff.json new file mode 100644 index 0000000..3f1378f --- /dev/null +++ b/langs/diff.json @@ -0,0 +1,5 @@ +{ + "diff-i": "^\\+.*$", + "diff-d": "^\\-.*$", + "diff-c": "^@@ -\\d+?,\\d+? \\+\\d+?,\\d+? @@" +} diff --git a/languages.txt b/languages.txt new file mode 100644 index 0000000..618b5b7 --- /dev/null +++ b/languages.txt @@ -0,0 +1,32 @@ +Arduino +AsciiDoc +AutoHotKey +Awk +Bash +BBCode +C,C++ +C# +CSS +Cmd +Diff +Go +Gradle +HTML,XML +Http +Haskell +JSON +Java +JavaScript +Kotlin +Lua +Makefile +Markdown +MobileBASIC +PHP +Perl +Plaintext +Powershell +Processing +Python,REPL +TypeScript +VBScript diff --git a/start.html b/start.html new file mode 100644 index 0000000..d8b2fcb --- /dev/null +++ b/start.html @@ -0,0 +1,246 @@ + + + + + MonoLight: Getting Started + + + + + + +
+
+

Syntax Highlighter

+

Paste your code and get result!

+
+ +
+ Paste your code here +

+
+
+ Choose a theme: + +
+
+ Choose a font: + +
+
+ Choose the programming language: + +
+
+ Choose an output language: + +
+
+ Customize appearance: +
+ +
+ + + +
+ +
+ Enter background color in HEX format +
+ +
+ + + +
+ +
+ + + +
+
+
+ + + +
+
+ + + +
+ Border radius: + + 5 +
+
+ Customize controls: +
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+ Output type: + +
+ + All-in-one: CSS and JS are embedded into <style> and <script> +
+ Standalone: CSS is in the style attribute, no JS +
+
+
+
+
+ Generate + Copy +
+
+
+ Preview: +
+
+ Code: +
+
+
+
+
+ + + + diff --git a/themes/base16-atelier-cave-light.css b/themes/base16-atelier-cave-light.css new file mode 100644 index 0000000..a5da6cf --- /dev/null +++ b/themes/base16-atelier-cave-light.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier cave light */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #efecf4; } +.mlight-strnum { color: #e2dfe7; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #8b8792; } +.mlight-comment { color: #7e7887; } +.mlight-codepanel { background: #655f6d; } +.mlight-fg { color: #585260; } +.mlight-oper { color: #585260; } +.mlight-var { color: #be4678; } +.mlight-diff-d { color: #be4678; } +.mlight-const { color: #aa573c; } +.mlight-class { color: #a06e3b; } +.mlight-str { color: #2a9292; } +.mlight-diff-i { color: #2a9292; } +.mlight-esc { color: #398bc6; } +.mlight-func { color: #576ddb; } +.mlight-kw { color: #955ae7; } +.mlight-diff-c { color: #955ae7; } +.mlight-embed { color: #bf40bf; } diff --git a/themes/base16-atelier-cave.css b/themes/base16-atelier-cave.css new file mode 100644 index 0000000..7d94a9f --- /dev/null +++ b/themes/base16-atelier-cave.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier cave */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #19171c; } +.mlight-strnum { color: #26232a; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #585260; } +.mlight-comment { color: #655f6d; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #8b8792; } +.mlight-oper { color: #8b8792; } +.mlight-var { color: #be4678; } +.mlight-diff-d { color: #be4678; } +.mlight-const { color: #aa573c; } +.mlight-class { color: #a06e3b; } +.mlight-str { color: #2a9292; } +.mlight-diff-i { color: #2a9292; } +.mlight-esc { color: #398bc6; } +.mlight-func { color: #576ddb; } +.mlight-kw { color: #955ae7; } +.mlight-diff-c { color: #955ae7; } +.mlight-embed { color: #bf40bf; } diff --git a/themes/base16-atelier-dune-light.css b/themes/base16-atelier-dune-light.css new file mode 100644 index 0000000..18f197f --- /dev/null +++ b/themes/base16-atelier-dune-light.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier dune light */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #fefbec; } +.mlight-strnum { color: #e8e4cf; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #a6a28c; } +.mlight-comment { color: #999580; } +.mlight-codepanel { background: #7d7a68; } +.mlight-fg { color: #6e6b5e; } +.mlight-oper { color: #6e6b5e; } +.mlight-var { color: #d73737; } +.mlight-diff-d { color: #d73737; } +.mlight-const { color: #b65611; } +.mlight-class { color: #ae9513; } +.mlight-str { color: #60ac39; } +.mlight-diff-i { color: #60ac39; } +.mlight-esc { color: #1fad83; } +.mlight-func { color: #6684e1; } +.mlight-kw { color: #b854d4; } +.mlight-diff-c { color: #b854d4; } +.mlight-embed { color: #d43552; } diff --git a/themes/base16-atelier-dune.css b/themes/base16-atelier-dune.css new file mode 100644 index 0000000..a0996e0 --- /dev/null +++ b/themes/base16-atelier-dune.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier dune */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #20201d; } +.mlight-strnum { color: #292824; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #6e6b5e; } +.mlight-comment { color: #7d7a68; } +.mlight-codepanel { background: #999580; } +.mlight-fg { color: #a6a28c; } +.mlight-oper { color: #a6a28c; } +.mlight-var { color: #d73737; } +.mlight-diff-d { color: #d73737; } +.mlight-const { color: #b65611; } +.mlight-class { color: #ae9513; } +.mlight-str { color: #60ac39; } +.mlight-diff-i { color: #60ac39; } +.mlight-esc { color: #1fad83; } +.mlight-func { color: #6684e1; } +.mlight-kw { color: #b854d4; } +.mlight-diff-c { color: #b854d4; } +.mlight-embed { color: #d43552; } diff --git a/themes/base16-atelier-forest-light.css b/themes/base16-atelier-forest-light.css new file mode 100644 index 0000000..4e6ad4d --- /dev/null +++ b/themes/base16-atelier-forest-light.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier forest light */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #f1efee; } +.mlight-strnum { color: #e6e2e0; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #a8a19f; } +.mlight-comment { color: #9c9491; } +.mlight-codepanel { background: #766e6b; } +.mlight-fg { color: #68615e; } +.mlight-oper { color: #68615e; } +.mlight-var { color: #f22c40; } +.mlight-diff-d { color: #f22c40; } +.mlight-const { color: #df5320; } +.mlight-class { color: #c38418; } +.mlight-str { color: #7b9726; } +.mlight-diff-i { color: #7b9726; } +.mlight-esc { color: #3d97b8; } +.mlight-func { color: #407ee7; } +.mlight-kw { color: #6666ea; } +.mlight-diff-c { color: #6666ea; } +.mlight-embed { color: #c33ff3; } diff --git a/themes/base16-atelier-forest.css b/themes/base16-atelier-forest.css new file mode 100644 index 0000000..bfe687c --- /dev/null +++ b/themes/base16-atelier-forest.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier forest */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #1b1918; } +.mlight-strnum { color: #2c2421; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #68615e; } +.mlight-comment { color: #766e6b; } +.mlight-codepanel { background: #9c9491; } +.mlight-fg { color: #a8a19f; } +.mlight-oper { color: #a8a19f; } +.mlight-var { color: #f22c40; } +.mlight-diff-d { color: #f22c40; } +.mlight-const { color: #df5320; } +.mlight-class { color: #c38418; } +.mlight-str { color: #7b9726; } +.mlight-diff-i { color: #7b9726; } +.mlight-esc { color: #3d97b8; } +.mlight-func { color: #407ee7; } +.mlight-kw { color: #6666ea; } +.mlight-diff-c { color: #6666ea; } +.mlight-embed { color: #c33ff3; } diff --git a/themes/base16-atelier-lakeside-light.css b/themes/base16-atelier-lakeside-light.css new file mode 100644 index 0000000..39da761 --- /dev/null +++ b/themes/base16-atelier-lakeside-light.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier lakeside light */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #ebf8ff; } +.mlight-strnum { color: #c1e4f6; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #7ea2b4; } +.mlight-comment { color: #7195a8; } +.mlight-codepanel { background: #5a7b8c; } +.mlight-fg { color: #516d7b; } +.mlight-oper { color: #516d7b; } +.mlight-var { color: #d22d72; } +.mlight-diff-d { color: #d22d72; } +.mlight-const { color: #935c25; } +.mlight-class { color: #8a8a0f; } +.mlight-str { color: #568c3b; } +.mlight-diff-i { color: #568c3b; } +.mlight-esc { color: #2d8f6f; } +.mlight-func { color: #257fad; } +.mlight-kw { color: #6b6bb8; } +.mlight-diff-c { color: #6b6bb8; } +.mlight-embed { color: #b72dd2; } diff --git a/themes/base16-atelier-lakeside.css b/themes/base16-atelier-lakeside.css new file mode 100644 index 0000000..1c82297 --- /dev/null +++ b/themes/base16-atelier-lakeside.css @@ -0,0 +1,22 @@ +/* Color Scheme atelier lakeside */ +/* by bram de haan (http://atelierbramdehaan.nl) */ + +.mlight-bg { background: #161b1d; } +.mlight-strnum { color: #1f292e; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #516d7b; } +.mlight-comment { color: #5a7b8c; } +.mlight-codepanel { background: #7195a8; } +.mlight-fg { color: #7ea2b4; } +.mlight-oper { color: #7ea2b4; } +.mlight-var { color: #d22d72; } +.mlight-diff-d { color: #d22d72; } +.mlight-const { color: #935c25; } +.mlight-class { color: #8a8a0f; } +.mlight-str { color: #568c3b; } +.mlight-diff-i { color: #568c3b; } +.mlight-esc { color: #2d8f6f; } +.mlight-func { color: #257fad; } +.mlight-kw { color: #6b6bb8; } +.mlight-diff-c { color: #6b6bb8; } +.mlight-embed { color: #b72dd2; } diff --git a/themes/base16-classic-dark.css b/themes/base16-classic-dark.css new file mode 100644 index 0000000..cb0385f --- /dev/null +++ b/themes/base16-classic-dark.css @@ -0,0 +1,22 @@ +/* Color Scheme classic dark */ +/* by jason heeris (http://heeris.id.au) */ + +.mlight-bg { background: #151515; } +.mlight-strnum { color: #202020; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #303030; } +.mlight-comment { color: #505050; } +.mlight-codepanel { background: #b0b0b0; } +.mlight-fg { color: #d0d0d0; } +.mlight-oper { color: #d0d0d0; } +.mlight-var { color: #ac4142; } +.mlight-diff-d { color: #ac4142; } +.mlight-const { color: #d28445; } +.mlight-class { color: #f4bf75; } +.mlight-str { color: #90a959; } +.mlight-diff-i { color: #90a959; } +.mlight-esc { color: #75b5aa; } +.mlight-func { color: #6a9fb5; } +.mlight-kw { color: #aa759f; } +.mlight-diff-c { color: #aa759f; } +.mlight-embed { color: #8f5536; } diff --git a/themes/base16-classic-light.css b/themes/base16-classic-light.css new file mode 100644 index 0000000..eadebc6 --- /dev/null +++ b/themes/base16-classic-light.css @@ -0,0 +1,22 @@ +/* Color Scheme classic light */ +/* by jason heeris (http://heeris.id.au) */ + +.mlight-bg { background: #f5f5f5; } +.mlight-strnum { color: #e0e0e0; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #d0d0d0; } +.mlight-comment { color: #b0b0b0; } +.mlight-codepanel { background: #505050; } +.mlight-fg { color: #303030; } +.mlight-oper { color: #303030; } +.mlight-var { color: #ac4142; } +.mlight-diff-d { color: #ac4142; } +.mlight-const { color: #d28445; } +.mlight-class { color: #f4bf75; } +.mlight-str { color: #90a959; } +.mlight-diff-i { color: #90a959; } +.mlight-esc { color: #75b5aa; } +.mlight-func { color: #6a9fb5; } +.mlight-kw { color: #aa759f; } +.mlight-diff-c { color: #aa759f; } +.mlight-embed { color: #8f5536; } diff --git a/themes/base16-github.css b/themes/base16-github.css new file mode 100644 index 0000000..251b7ef --- /dev/null +++ b/themes/base16-github.css @@ -0,0 +1,22 @@ +/* Color Scheme github */ +/* by defman21 */ + +.mlight-bg { background: #ffffff; } +.mlight-strnum { color: #f5f5f5; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #c8c8fa; } +.mlight-comment { color: #969896; } +.mlight-codepanel { background: #e8e8e8; } +.mlight-fg { color: #333333; } +.mlight-oper { color: #333333; } +.mlight-var { color: #ed6a43; } +.mlight-diff-d { color: #ed6a43; } +.mlight-const { color: #0086b3; } +.mlight-class { color: #795da3; } +.mlight-str { color: #183691; } +.mlight-diff-i { color: #183691; } +.mlight-esc { color: #183691; } +.mlight-func { color: #795da3; } +.mlight-kw { color: #a71d5d; } +.mlight-diff-c { color: #a71d5d; } +.mlight-embed { color: #333333; } diff --git a/themes/base16-material-darker.css b/themes/base16-material-darker.css new file mode 100644 index 0000000..477e238 --- /dev/null +++ b/themes/base16-material-darker.css @@ -0,0 +1,22 @@ +/* Color Scheme material darker */ +/* by nate peterson */ + +.mlight-bg { background: #212121; } +.mlight-strnum { color: #303030; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #353535; } +.mlight-comment { color: #4a4a4a; } +.mlight-codepanel { background: #b2ccd6; } +.mlight-fg { color: #eeffff; } +.mlight-oper { color: #eeffff; } +.mlight-var { color: #f07178; } +.mlight-diff-d { color: #f07178; } +.mlight-const { color: #f78c6c; } +.mlight-class { color: #ffcb6b; } +.mlight-str { color: #c3e88d; } +.mlight-diff-i { color: #c3e88d; } +.mlight-esc { color: #89ddff; } +.mlight-func { color: #82aaff; } +.mlight-kw { color: #c792ea; } +.mlight-diff-c { color: #c792ea; } +.mlight-embed { color: #ff5370; } diff --git a/themes/base16-material-lighter.css b/themes/base16-material-lighter.css new file mode 100644 index 0000000..0686c84 --- /dev/null +++ b/themes/base16-material-lighter.css @@ -0,0 +1,22 @@ +/* Color Scheme material lighter */ +/* by nate peterson */ + +.mlight-bg { background: #fafafa; } +.mlight-strnum { color: #e7eaec; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #cceae7; } +.mlight-comment { color: #ccd7da; } +.mlight-codepanel { background: #8796b0; } +.mlight-fg { color: #80cbc4; } +.mlight-oper { color: #80cbc4; } +.mlight-var { color: #ff5370; } +.mlight-diff-d { color: #ff5370; } +.mlight-const { color: #f76d47; } +.mlight-class { color: #ffb62c; } +.mlight-str { color: #91b859; } +.mlight-diff-i { color: #91b859; } +.mlight-esc { color: #39adb5; } +.mlight-func { color: #6182b8; } +.mlight-kw { color: #7c4dff; } +.mlight-diff-c { color: #7c4dff; } +.mlight-embed { color: #e53935; } diff --git a/themes/base16-material-palenight.css b/themes/base16-material-palenight.css new file mode 100644 index 0000000..5a926b1 --- /dev/null +++ b/themes/base16-material-palenight.css @@ -0,0 +1,22 @@ +/* Color Scheme material palenight */ +/* by nate peterson */ + +.mlight-bg { background: #292d3e; } +.mlight-strnum { color: #444267; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #32374d; } +.mlight-comment { color: #676e95; } +.mlight-codepanel { background: #8796b0; } +.mlight-fg { color: #959dcb; } +.mlight-oper { color: #959dcb; } +.mlight-var { color: #f07178; } +.mlight-diff-d { color: #f07178; } +.mlight-const { color: #f78c6c; } +.mlight-class { color: #ffcb6b; } +.mlight-str { color: #c3e88d; } +.mlight-diff-i { color: #c3e88d; } +.mlight-esc { color: #89ddff; } +.mlight-func { color: #82aaff; } +.mlight-kw { color: #c792ea; } +.mlight-diff-c { color: #c792ea; } +.mlight-embed { color: #ff5370; } diff --git a/themes/base16-material.css b/themes/base16-material.css new file mode 100644 index 0000000..2883343 --- /dev/null +++ b/themes/base16-material.css @@ -0,0 +1,22 @@ +/* Color Scheme material */ +/* by nate peterson */ + +.mlight-bg { background: #263238; } +.mlight-strnum { color: #2e3c43; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #314549; } +.mlight-comment { color: #546e7a; } +.mlight-codepanel { background: #b2ccd6; } +.mlight-fg { color: #eeffff; } +.mlight-oper { color: #eeffff; } +.mlight-var { color: #f07178; } +.mlight-diff-d { color: #f07178; } +.mlight-const { color: #f78c6c; } +.mlight-class { color: #ffcb6b; } +.mlight-str { color: #c3e88d; } +.mlight-diff-i { color: #c3e88d; } +.mlight-esc { color: #89ddff; } +.mlight-func { color: #82aaff; } +.mlight-kw { color: #c792ea; } +.mlight-diff-c { color: #c792ea; } +.mlight-embed { color: #ff5370; } diff --git a/themes/base16-nova.css b/themes/base16-nova.css new file mode 100644 index 0000000..a00e749 --- /dev/null +++ b/themes/base16-nova.css @@ -0,0 +1,22 @@ +/* Color Scheme nova */ +/* by george essig (https://github.com/gessig), trevor d. miller (https://trevordmiller.com) */ + +.mlight-bg { background: #3c4c55; } +.mlight-strnum { color: #556873; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #6a7d89; } +.mlight-comment { color: #899ba6; } +.mlight-codepanel { background: #899ba6; } +.mlight-fg { color: #c5d4dd; } +.mlight-oper { color: #c5d4dd; } +.mlight-var { color: #83afe5; } +.mlight-diff-d { color: #83afe5; } +.mlight-const { color: #7fc1ca; } +.mlight-class { color: #a8ce93; } +.mlight-str { color: #7fc1ca; } +.mlight-diff-i { color: #7fc1ca; } +.mlight-esc { color: #f2c38f; } +.mlight-func { color: #83afe5; } +.mlight-kw { color: #9a93e1; } +.mlight-diff-c { color: #9a93e1; } +.mlight-embed { color: #f2c38f; } diff --git a/themes/base16-onedark.css b/themes/base16-onedark.css new file mode 100644 index 0000000..04785aa --- /dev/null +++ b/themes/base16-onedark.css @@ -0,0 +1,22 @@ +/* Color Scheme onedark */ +/* by lalit magant (http://github.com/tilal6991) */ + +.mlight-bg { background: #282c34; } +.mlight-strnum { color: #353b45; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #3e4451; } +.mlight-comment { color: #545862; } +.mlight-codepanel { background: #565c64; } +.mlight-fg { color: #abb2bf; } +.mlight-oper { color: #abb2bf; } +.mlight-var { color: #e06c75; } +.mlight-diff-d { color: #e06c75; } +.mlight-const { color: #d19a66; } +.mlight-class { color: #e5c07b; } +.mlight-str { color: #98c379; } +.mlight-diff-i { color: #98c379; } +.mlight-esc { color: #56b6c2; } +.mlight-func { color: #61afef; } +.mlight-kw { color: #c678dd; } +.mlight-diff-c { color: #c678dd; } +.mlight-embed { color: #be5046; } diff --git a/themes/base16-porple.css b/themes/base16-porple.css new file mode 100644 index 0000000..c4a1ab9 --- /dev/null +++ b/themes/base16-porple.css @@ -0,0 +1,22 @@ +/* Color Scheme porple */ +/* by niek den breeje (https://github.com/auditemarlow) */ + +.mlight-bg { background: #292c36; } +.mlight-strnum { color: #333344; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #474160; } +.mlight-comment { color: #65568a; } +.mlight-codepanel { background: #b8b8b8; } +.mlight-fg { color: #d8d8d8; } +.mlight-oper { color: #d8d8d8; } +.mlight-var { color: #f84547; } +.mlight-diff-d { color: #f84547; } +.mlight-const { color: #d28e5d; } +.mlight-class { color: #efa16b; } +.mlight-str { color: #95c76f; } +.mlight-diff-i { color: #95c76f; } +.mlight-esc { color: #64878f; } +.mlight-func { color: #8485ce; } +.mlight-kw { color: #b74989; } +.mlight-diff-c { color: #b74989; } +.mlight-embed { color: #986841; } diff --git a/themes/intellij.css b/themes/intellij.css new file mode 100644 index 0000000..544c057 --- /dev/null +++ b/themes/intellij.css @@ -0,0 +1,32 @@ +/* + * IntelliJ IDEA Dark Theme + * The file was written by DarkCat09 + */ + +.mlight-bg { background: #2b2b2b; } +.mlight-strnum { color: #606366; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #585260; } +.mlight-comment { color: #808080; } +.mlight-todo { color: #a8c023; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #a9b7c6; } +.mlight-oper { color: #a9b7c6; } +.mlight-cmd { color: #c57633; } +.mlight-var { color: #a9b7c6; } +.mlight-diff-d { background: #656e76; } +.mlight-const { color: #9876aa; font-style: italic; } +.mlight-num { color: #6897bb; } +.mlight-class { color: #a9b7c6; } +.mlight-annot { color: #bbb529; } +.mlight-str { color: #6a8759; } +.mlight-diff-i { background: #447152; } +.mlight-esc { color: #cc7832; } +.mlight-func { color: #ffc66d; } +.mlight-delim { color: #cc7832; } +.mlight-kw { color: #cc7832; } +.mlight-diff-c { background: #385570; } +.mlight-embed { background: #232525; } +.mlight-err { color: #ff6b68; } +.mlight-warn { color: #bbb; } +.mlight-shebang { font-weight: 700; } diff --git a/themes/intellij2.css b/themes/intellij2.css new file mode 100644 index 0000000..0da5c4d --- /dev/null +++ b/themes/intellij2.css @@ -0,0 +1,33 @@ +/* + * IntelliJ IDEA Light Theme + * The file was written by DarkCat09 + */ + +.mlight-bg { background: #fff; } +.mlight-strnum { color: #999; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #5974ab; } +.mlight-comment { color: #808080; font-style: italic; } +.mlight-todo { color: #0073bf; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #000; } +.mlight-oper { color: #000; } +.mlight-cmd { color: #0073bf; } +.mlight-var { color: #000; } +.mlight-diff-d { background: #c8c8c8; } +.mlight-const { color: #660e7a; font-style: italic; } +.mlight-num { color: #0000ff; } +.mlight-class { color: #000; } +.mlight-annot { color: #808000; } +.mlight-str { color: #008000; } +.mlight-diff-i { background: #aadeaa; } +.mlight-esc { color: #000080; } +.mlight-func { color: #000; } +.mlight-param { color: #000; } +.mlight-delim { color: #000; } +.mlight-kw { color: #000080; font-weight: 700; } +.mlight-diff-c { background: #b8cbf5; } +.mlight-embed { background: #f7faff; } +.mlight-err { color: #7f0000; } +.mlight-warn { color: #00007f; } +.mlight-shebang { font-weight: 700; } diff --git a/themes/monokai-spacegray.css b/themes/monokai-spacegray.css new file mode 100644 index 0000000..aa6946e --- /dev/null +++ b/themes/monokai-spacegray.css @@ -0,0 +1,25 @@ +/* + * Monokai Spacegray Theme + * The file was written by DarkCat09 + */ + +.mlight-bg { background: #1a1e24; } +.mlight-strnum { color: #898b8e; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #3c3c3c; } +.mlight-comment { color: #808080; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #f8f8f8; } +.mlight-oper { color: #8b8792; } +.mlight-var { color: #f92692; } +.mlight-diff-d { color: #f92692; } +.mlight-const { color: #ae81ff; } +.mlight-class { color: #a6e22e; text-decoration: underline; } +.mlight-annot { color: #95952b; } +.mlight-str { color: #e6db74; } +.mlight-diff-i { color: #a6e22e; } +.mlight-esc { color: #ae81ff; } +.mlight-func { color: #a6e22e; } +.mlight-kw { color: #f92672; font-style: italic; } +.mlight-diff-c { color: #e6db74; } +.mlight-embed { color: #f8f8f8; } diff --git a/themes/monokai.css b/themes/monokai.css new file mode 100644 index 0000000..37c3e57 --- /dev/null +++ b/themes/monokai.css @@ -0,0 +1,26 @@ +/* + * Monokai Pro Theme + * The file was written by DarkCat09 + */ + +.mlight-bg { background: #2d2a2e; } +.mlight-strnum { color: #dadbd9; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #585260; } +.mlight-comment { color: #555254; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #fdf9f3; } +.mlight-oper { color: #ff6188; } +.mlight-brck { color: #908e8f; } +.mlight-var { color: #fcfcfa; } +.mlight-diff-d { color: #ff6188; } +.mlight-const { color: #ab9df2; } +.mlight-class { color: #78dce8; text-decoration: underline; } +.mlight-annot { color: #95952b; } +.mlight-str { color: #ffd866; } +.mlight-diff-i { color: #ffd866; } +.mlight-esc { color: #ab9df2; } +.mlight-func { color: #a9dc76; } +.mlight-kw { color: #78dce8; font-style: italic; } +.mlight-diff-c { color: #78dce8; } +.mlight-embed { color: #fdf9f3; } diff --git a/themes/monolight.css b/themes/monolight.css new file mode 100644 index 0000000..378ee5b --- /dev/null +++ b/themes/monolight.css @@ -0,0 +1,26 @@ +/* + * Monolight Theme + * by DarkCat09 + */ + +.mlight-bg { background: #1a1e24; } +.mlight-strnum { color: #dadbd9; } +.mlight-select::selection, +.mlight-select::-moz-selection { background: #3c3c3c; } +.mlight-comment { color: #758080; } +.mlight-codepanel { background: #7e7887; } +.mlight-fg { color: #ddd; } +.mlight-oper { color: #8b8792; } +.mlight-var { color: #bf7160; } +.mlight-diff-d { color: #bf7160; } +.mlight-const { color: #766bbf; } +.mlight-num { color: #5f8ead; } +.mlight-class { color: #ddd; } +.mlight-annot { color: #b8a954; } +.mlight-str { color: #b8a954; } +.mlight-diff-i { color: #6aab60; } +.mlight-esc { color: #766bbf; } +.mlight-func { color: #6aab60; } +.mlight-kw { color: #5f8ead; font-weight: 700; } +.mlight-diff-c { color: #b8a954; } +.mlight-embed { color: #766bbf; }