commit b8a9c1106f29460eb1c66ef962d46f0db8413470 Author: sanj <67624670+iodrift@users.noreply.github.com> Date: Sun Aug 4 20:23:51 2024 -0700 version 1.3.2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ecbceeb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,27 @@ +## Version 1.3.2 + +Added screenshot (for real this time). + +## Version 1.3.1 + +Added screenshot. + +## Version 1.2.2 + +Proper README.md added. + +## Version 1.2.1 + +Added screenshot. + +## Version 1.2 + +Added proper italics and manifest. + +## Version 1.1 + +Broken release! + +## Version 1.0 + +Initial release. diff --git a/README.md b/README.md new file mode 100644 index 0000000..39f684f --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +``` + ──── n e o n v a ─────────────────────── + + dBBBBb dBBBP dBBBBP dBBBBb dBP dP dBBBBBb + dBP dBP.BP dBP BB + dBP dBP dBBP dBP.BP dBP dBP dB .BP dBP BB + dBP dBP dBP dBP.BP dBP dBP BB.BP dBP BB + dBP dBP dBBBBP dBBBBP dBP dBP BBBP dBBBBBBB + +────────────────────────── b y s i j . a i ──── + +``` + +## 👋 Howdy folks! + +_Neonva_ is a quick and dirty modification of the stock theme _Neon_ by [Panic](http://Panic.com). + +There are some subtle changes here and there, but the main attraction is the _italicization_ of **keywords.** + +Go ahead and pour yourself a cup of your favorite beverage (_chilled_ or **hot**), load up your favorite font with _cursive italics_, and enjoy yourself. + +Here are a few fan favorites: + +- [Cascadia Mono](https://github.com/microsoft/cascadia-code) +- [Operator Mono](https://typography.com/fonts/operator/styles) +- [Victor Mono](https://fonts.google.com/specimen/Victor+Mono) + +## Screenshot + +![screenshot](https://img.sij.ai/neonva.jpg) + +## Shameless self-promotion + +Check out my other projects at _[sij.ai](https://sij.ai)_! + +## Acknowledgements + +_Neonva_ is based on **Neon** by [Panic](http://Panic.com). diff --git a/Themes/neonva.css b/Themes/neonva.css new file mode 100644 index 0000000..3ea7756 --- /dev/null +++ b/Themes/neonva.css @@ -0,0 +1,415 @@ +meta { + -theme-display-name: "Neonva"; + -theme-interface-style: dark; +} + +/* + * Window styles + */ +meta.window { + background-color: hsl(270, 40%, 15%); + border-color: hsl(285, 80%, 24%); +} +meta.titlebar { + color: hsl(321, 56%, 91%); + text-shadow: 0 0 5px hsl(322, 99%, 48%); + background: linear-gradient(hsl(283, 83%, 29%), hsl(267, 39%, 15%)); + border-color: hsl(286, 66%, 35%); +} +meta.titlebar.inactive { + background-color: hsl(267, 39%, 15%); + border-color: hsl(284, 79%, 24%); +} + +meta.button { + background: linear-gradient(hsl(273, 76%, 30%), hsl(255, 45%, 24%)); + border: linear-gradient(hsl(267, 39%, 15%), hsl(261, 89%, 7%)); + color: rgba(255, 255, 255, 0.75); +} +meta.button.highlighted { + background: linear-gradient(hsl(322, 99%, 48%), hsl(326, 100%, 42%)); + color: white; +} +meta.button.selected { + background: linear-gradient(hsl(326, 100%, 42%), hsl(312, 100%, 29%)); + color: white; +} +meta.button.highlighted.selected { + background: linear-gradient(hsl(322, 99%, 48%), hsl(326, 100%, 42%)); + color: white; +} +meta.button.disabled { + background: none; + border: hsla(0, 0%, 100%, 0.1); +} + +meta.textfield { + background-color: hsl(255, 45%, 24%); + border-color: hsl(284, 79%, 24%); +} + +/* + * Document styles + */ +meta.document { + background-color: hsl(270, 30%, 12%); + border-color: hsl(285, 80%, 24%); +} + +meta.document.button { + background: linear-gradient(hsl(273, 76%, 30%), hsl(255, 45%, 24%)); + border: linear-gradient(hsl(267, 39%, 15%), rgb(13, 2, 33)); + color: hsla(0, 0%, 100%, 0.75); +} +meta.document.button.selected { + background: linear-gradient(hsl(326, 100%, 42%), hsl(312, 100%, 29%)); + color: white; +} +meta.document.button.highlighted { + background: linear-gradient(hsl(322, 99%, 48%), hsl(326, 100%, 42%)); + color: white; +} +meta.document.button.highlighted.selected { + background: linear-gradient(hsl(322, 99%, 48%), hsl(326, 100%, 42%)); + color: white; +} +meta.document.button.disabled { + background: linear-gradient(hsl(273, 76%, 30%), hsl(255, 45%, 24%)); + border: linear-gradient(hsl(267, 39%, 15%), hsl(261, 89%, 7%)); + color: hsla(0, 0%, 100%, 0.25); +} + +meta.document.textfield { + background-color: hsl(255, 45%, 24%); + border-color: hsl(284, 79%, 24%); +} + +/* Text */ +meta.text { + color: hsl(315, 65%, 65%); +} +meta.text.invisible { + color: hsl(235, 40%, 50%); +} +meta.text.selected { +} + +/* Cursor */ +meta.cursor { + background-color: hsl(255, 45%, 24%); +} + +/* Indentation Guides */ +meta.indentguide { + border-color: hsl(315, 100%, 30%); +} + +/* Gutter */ +meta.gutter { + color: hsl(285, 65%, 35%); +} +meta.gutter.selected { + background-color: hsl(255, 45%, 25%); + color: hsl(315, 100%, 50%); +} + +/* + * Syntax styles + */ + +comment { + color: hsl(235, 25%, 55%); +} +comment.doctag { + color: hsl(235, 30%, 75%); +} +processing { + color: hsl(235, 25%, 55%); +} +processing.argument { + color: hsl(235, 30%, 75%); +} +declaration { + color: hsl(235, 25%, 55%); +} +bracket { + color: hsl(320, 50%, 80%); +} +operator { + color: hsl(320, 50%, 90%); + text-shadow: 0 0 5px hsl(320, 100%, 50%); +} +invalid { + background-color: hsl(360, 100%, 50%); +} +link { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} + +/* Keywords */ +keyword { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} +keyword.modifier { + color: hsl(30, 70%, 80%); + text-shadow: 0 0 5px hsl(30, 100%, 35%); + font-style: italic; +} +keyword.condition { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} +keyword.construct { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} +keyword.operator { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} +keyword.self { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} +keyword.self.prefix { + color: hsl(45, 70%, 100%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-style: italic; +} + +/* Values */ +value.boolean { + color: hsl(23, 100%, 55%); +} +value.null { + color: hsl(23, 100%, 55%); +} +value.number { + color: hsl(365, 85%, 70%); +} +value.number.prefix { + color: hsl(365, 85%, 80%); +} +value.entity { + color: hsl(23, 100%, 55%); +} +value.symbol { + color: hsl(23, 100%, 55%); +} + +/* Identifiers */ +identifier.type { + color: hsl(360, 33%, 94%); + text-shadow: 0 0 5px hsl(15, 100%, 40%); +} +identifier.type.declare { + color: hsl(300, 90%, 85%); + text-shadow: 0 0 5px hsl(300, 100%, 40%); + font-weight: bold; +} +identifier.constant, +identifier.global, +identifier.variable { + color: hsl(210, 100%, 75%); +} +identifier.constant.prefix, +identifier.global.prefix, +identifier.variable.prefix { + color: hsl(180, 100%, 85%); +} +identifier.property { + color: hsl(210, 100%, 85%); + text-shadow: 0 0 5px hsl(210, 100%, 40%); +} +identifier.decorator, +identifier.function, +identifier.method { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +identifier.key { + color: hsl(210, 100%, 85%); + text-shadow: 0 0 5px hsl(210, 100%, 40%); +} +identifier.argument { + color: hsl(345, 80%, 75%); +} +identifier.argument.prefix { + color: hsl(345, 80%, 85%); +} + +/* Strings */ +string { + color: hsl(15, 85%, 70%); +} +string.delimiter { + color: hsl(15, 100%, 60%); +} +string.escape { + color: hsl(15, 95%, 75%); +} +string.key { + color: hsl(15, 85%, 70%); +} +string-keyword { + color: hsl(315, 100%, 50%); +} +string-template { + color: hsl(315, 100%, 50%); +} +regex { + color: hsl(315, 85%, 75%); +} +regex.delimiter { + color: hsl(315, 85%, 75%); +} +regex.escape { + color: hsl(180, 100%, 85%); +} +cdata { +} + +/* Markup */ +markup.heading { + color: hsl(23, 100%, 85%); + text-shadow: 0 0 5px hsl(23, 100%, 45%); +} +markup.line { + color: hsl(45, 70%, 95%); + text-shadow: 0 0 5px hsl(45, 100%, 45%); +} +markup.bold { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); + font-weight: bold; +} +markup.italic { + color: hsl(23, 100%, 85%); + text-shadow: 0 0 5px hsl(23, 100%, 45%); + font-style: italic; +} +markup.strikethrough { + color: hsl(315, 55%, 90%); + text-shadow: 0 0 5px hsl(315, 100%, 35%); +} +markup.list.item { + color: hsl(45, 70%, 95%); + text-shadow: 0 0 5px hsl(45, 100%, 45%); +} +markup.code { + background-color: hsla(0, 0%, 50%, 0.2); +} +markup.link { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} + +/* Types */ +definition.class.name, +definition.type.name, +definition.package.name, +definition.enum.name, +definition.union.name, +definition.struct.name { +} + +/* Members */ +definition.property.name, +definition.function.name, +definition.method.name { +} + +/* Tags */ +tag { + color: hsl(45, 30%, 72%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); +} +tag.name { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); +} +tag.framework { + color: hsl(180, 80%, 65%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +tag.framework.name { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +tag.attribute.name { + color: hsl(0, 70%, 80%); + text-shadow: 0 0 5px hsl(0, 95%, 50%); +} +tag.framework.attribute.name { + color: hsl(210, 100%, 85%); + text-shadow: 0 0 5px hsl(210, 100%, 45%); +} +tag.attribute.operator { + color: hsl(330, 100%, 50%); + text-shadow: 0 0 5px hsl(330, 100%, 25%); +} +tag.attribute.value { + color: hsl(15, 85%, 70%); +} +tag.attribute.value.delimiter { + color: hsl(15, 100%, 60%); +} +tag.attribute.value.link { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} + +/* Styles */ +style.at { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); + font-weight: bold; +} +style.selector.element { + color: hsl(45, 70%, 92%); + text-shadow: 0 0 5px hsl(45, 100%, 35%); +} +style.selector.identifier.id { + color: hsl(360, 33%, 94%); + text-shadow: 0 0 5px hsl(15, 100%, 40%); + font-weight: bold; +} +style.selector.identifier.class { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +style.selector.pseudoclass { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +style.selector.pseudoelement { + color: hsl(180, 100%, 85%); + text-shadow: 0 0 5px hsl(180, 100%, 35%); +} +style.attribute.name { + color: hsl(315, 85%, 75%); + text-shadow: 0 0 5px hsl(315, 100%, 45%); +} +style.value.number { + color: hsl(365, 85%, 70%); +} +style.value.number.prefix { + color: hsl(365, 85%, 80%); +} +style.value.color.hex { + color: hsl(365, 85%, 70%); +} +style.value.keyword { + color: hsl(45, 70%, 55%); + text-shadow: none; +} +style.value.color.named { + color: hsl(45, 70%, 55%); +} diff --git a/extension.json b/extension.json new file mode 100644 index 0000000..484a4b1 --- /dev/null +++ b/extension.json @@ -0,0 +1,10 @@ +{ + "bugs": "https://git.sij.ai/sij/neonva", + "categories": ["themes"], + "description": "Panic's Neon theme with italicized keywords.", + "identifier": "ai.sij.neonva", + "name": "Neonva", + "organization": "sij", + "repository": "https://git.sij.ai/sij/neonva", + "version": "1.3.2" +} diff --git a/extension.png b/extension.png new file mode 100644 index 0000000..c5ec563 Binary files /dev/null and b/extension.png differ diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..386157b Binary files /dev/null and b/screenshot.png differ