43 Commits

Author SHA1 Message Date
eaeaa67807 moved skeleton files to cache so that the python code doesn't need to be updated dynamically. 2024-07-10 14:52:38 -06:00
d6b96c3980 Merge pull request #11 from kkYrusobad/patch-1
Create gruvbox.css
2022-01-30 14:26:13 -08:00
d429fdc231 Create gruvbox.css
Gruvbox color scheme for the startpage.
2021-11-19 14:33:13 +05:30
a666c05e7c updated README 2021-08-20 17:12:58 -07:00
45f5fe950a updated readme 2021-08-20 17:11:12 -07:00
39b1038467 forced all entries to stay on a single line 2020-09-24 14:21:52 -07:00
e3b9fd9fc3 Updated README with credits to original design 2020-09-05 16:54:40 -07:00
4b5236b3f1 Merge pull request #8 from aruffj/master
Added theme based on "tomorrow-night-eighties"
2020-09-05 16:47:59 -07:00
d1b4d27a35 Added theme based on "tomorrow-night-eighties"
Colorscheme based on chriskempson "tomorrow-night-eitghties"
2020-09-03 11:19:26 +02:00
5af56f68ae updated README 2020-08-27 17:54:12 -07:00
14a00433f8 browsers will no longer cache colors.css which fixes colors not updating 2020-08-26 15:52:43 -07:00
d60c0212e7 added better nginx conf to disable cache 2020-08-26 15:44:46 -07:00
666cb6d933 install now adds starttree.py to path, which can be run from any directory 2020-08-26 15:41:53 -07:00
8ef7375fac fixed bug with no such file or directory error 2020-08-25 10:59:47 -07:00
b782436526 added nice themes 2020-08-24 19:21:42 -07:00
82388ab9cc Update README 2020-08-24 18:36:19 -07:00
b05b6cda4d init.py is now a bash script: init.sh 2020-08-24 18:35:10 -07:00
a5150b7c0b fixed typo 2020-08-24 17:53:37 -07:00
28da1cd78e updated css retrieval method 2020-08-24 17:29:00 -07:00
b1d7778750 Merge branch 'master' into dockerize
Merging  master into dockerize
2020-08-24 17:17:20 -07:00
1d651d5af7 Update README 2020-08-24 17:14:04 -07:00
cf15fc5097 updated readme for docker info 2020-08-24 16:53:32 -07:00
48223dfdfd updated screenshot 2020-08-24 16:50:28 -07:00
893761d4e8 added compose file 2020-08-24 16:47:37 -07:00
4369b2d721 updated screenshot 2020-08-24 16:34:09 -07:00
933c16ac7e updating dockerize branch 2020-08-24 16:29:25 -07:00
e11f8aa6e9 Update README.md 2020-08-24 16:27:16 -07:00
086707a355 Update README.md 2020-08-24 16:25:35 -07:00
1e9677dcb9 added scrot 2020-08-24 16:16:21 -07:00
eb404aca82 i hate merging 2020-08-24 16:15:39 -07:00
6e75da4ec2 added forest theme 2020-08-24 16:15:17 -07:00
db03581cfd Update README.md 2020-08-24 16:08:18 -07:00
59a8b23a4b Update README.md 2020-08-24 16:07:57 -07:00
56c0bf2af7 added photos 2020-08-24 16:07:29 -07:00
15adabdd86 fuck you 2020-08-24 15:59:12 -07:00
9b969eecf6 renamed main script 2020-08-24 15:57:37 -07:00
8492439cdc updated README 2020-08-24 15:54:37 -07:00
0da73d49ed added theme selection 2020-08-24 15:52:49 -07:00
a2fd07f2df Merge remote-tracking branch 'origin/themes' into master
merged master with themes branch
2020-08-24 15:18:08 -07:00
22d7b4ce73 fixed bug with duplicate keys 2020-08-24 15:13:14 -07:00
9a78049525 implemented font-size selection 2020-08-24 15:07:28 -07:00
2f28ed3063 added docker files 2020-08-24 14:58:33 -07:00
a84f0f9e3e added font-size variable to config 2020-08-24 14:51:57 -07:00
29 changed files with 637 additions and 125 deletions

View File

@ -1,30 +1,68 @@
# StartTree # StartTree
A terminal-style home page replicating the tree command. A terminal-style home page replicating the tree command, modified from [this](https://notabug.org/nytly/home) start page, which no longer exists.
<p align="center"> <p align="center">
<img src="/StartTree.png", title="StartTree"/> <img src="/images/StartTree.png", title="StartTree"/>
</p> </p>
## TODO <div align="center">
- [x] Add screenshot to README.md <h1>
- [x] add install script <a href="https://gideonwolfe.com/">
- [ ] Should allow selection of search engine <img style="vertical-align:middle" src="/images/forest.png", width="400", />
- [x] Should allow for multiple columns </a>
- [x] User makes a 'config.yaml' file that is parsed and translated into the HTML <span style="">
- [ ] Allow setting the font size in the config <img style="vertical-align:middle" src="/images/void.png", width="400", />
- [ ] Install the update script into a `$PATH` directory </a>
</span>
</h1>
</div>
# Usage
## Requirements
Requires the `bs4` python package.
## Installation
To install StartTree for the first time, run the following commands:
(Note: If the `~/.config/StartTree` directory already exists, `init.sh` will not copy the example config to prevent accidentally overwriting a custom config. )
```
git clone https://github.com/Paul-Houser/StartTree.git
cd StartTree
chmod +x init.sh
chmod +x generate.py
./init.sh
./generate.py
```
This will create the directory `~/.config/StartTree` containing the default `config.yaml`, install `starttree.py` to your `$PATH`, as well as generate the html/css, which you can view by pointing your browser at `$HOME/.cache/StartTree/index.html`.
## Config
The config should be placed in `~/.config/StartTree/config.yaml`
## Updating the HTML
To re-generate the html/css after editing the config, execute `starttree.py` from any directory.
# Example Config
```yaml ```yaml
font_size: 15 font_size: 22 # specify font size
theme: void theme: void # specify the name of a theme in the themes/ directory, or use 'pywal'
tree_1: # each column should be named 'tree_X' where X is unique for each tree.
Tree_1: general: # Header name
General: github: "https://www.github.com/" # Link-text: url
Google: "https://www.google.com/" gmail: "https://mail.google.com/"
Youtube: "https://www.youtube.com/" reddit:
Reddit: # the following is an example of naming a link something with a space,
Homepage: "https://www.reddit.com/" # or containing characters that cannot be in a yaml variable name.
Unixporn: "https://www.reddit.com/r/unixporn/" frontpage:
- "https://www.reddit.com/"
- "front page"
unixporn: "https://www.reddit.com/r/unixporn/"
tree_2:
other:
archwiki:
- "https://archlinux.org/"
- "arch wiki"
hulu: "https://www.hulu.com/"
netflix: "https://www.netflix.com/"
youtube: "https://www.youtube.com/"
``` ```
# Themes # Themes
@ -32,3 +70,17 @@ Tree_1:
A variety of themes can be found in the `themes` directory. A variety of themes can be found in the `themes` directory.
If one wishes to dynamically theme from `pywal`, they may select `pywal` as their chosen theme in `config.yaml`. If one wishes to dynamically theme from `pywal`, they may select `pywal` as their chosen theme in `config.yaml`.
# Docker
In order to circumvent some restrictions on browsers for what is allowed as a "Home" and "New Tab" page, you can host StartTree as a lightweight `NGINX` server through `docker-compose`.
To set this up, one must have `docker` and `docker-compose` installed and configured. Then, go into the directory where you cloned `StartTree`, and run
```bash
cd docker
vim docker-compose.yaml # edit specifics to your liking
docker-compose -f docker-compose.yaml up -d
```
This will make the `NGINX` server persist across reboots. You can point your browser's new tab and home page to `localhost:<port#>` and you should see your startpage!

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 KiB

View File

@ -1,22 +1,15 @@
Tree_1: font_size: 22
theme: void
tree_1:
general: general:
nextcloud: "https://cloud.paulhouser.xyz/" github: "https://www.github.com/"
github: "https://www.github.com/Paul-Houser/"
wwu-gitlab: "https://gitlab.cs.wwu.edu/"
gmail: "https://mail.google.com/" gmail: "https://mail.google.com/"
reddit: reddit:
frontpage: frontpage:
- "https://www.reddit.com/" - "https://www.reddit.com/"
- "front page" - "front page"
profile: "https://www.reddit.com/u/P_swizzles/"
unixporn: "https://www.reddit.com/r/unixporn/" unixporn: "https://www.reddit.com/r/unixporn/"
archlinux: "https://www.reddit.com/r/archlinux/" tree_2:
Tree_2:
school:
canvas: "https://wwu.instructure.com/"
degreeworks: "https://dw.wwu.edu/Dashboard/dashboard"
outlook: "https://outlook.office.com"
web4u: "https://admin.wwu.edu/pls/wwis/twbkwbis.P_GenMenu?name=bmenu.P_MainMnu"
other: other:
archwiki: archwiki:
- "https://archlinux.org/" - "https://archlinux.org/"

BIN
docker/data/Hack.ttf Normal file

Binary file not shown.

46
docker/data/default.conf Normal file
View File

@ -0,0 +1,46 @@
server {
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
expires -1;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

View File

@ -0,0 +1,16 @@
version: '3'
services:
StartTree:
image: nginx
volumes:
- $HOME/.cache/StartTree/styles/colors.css:/usr/share/nginx/html/styles/colors.css # This needs to be changed depending on theme
- $HOME/.cache/StartTree/index.html:/usr/share/nginx/html/index.html
- $HOME/.cache/StartTree/styles/style.css:/usr/share/nginx/html/styles/style.css
- $HOME/.cache/StartTree/styles/Hack.ttf:/usr/share/nginx/html/styles/Hack.ttf
- $HOME/.cache/StartTree/default.conf:/etc/nginx/conf.d/default.conf # modified conf to disable page caching :)
ports:
- "9876:80"
environment:
- NGINX_PORT=80
restart: unless-stopped

View File

@ -1,7 +1,6 @@
#!/bin/python3 #!/bin/python3
import yaml import yaml
import os
from os.path import expanduser from os.path import expanduser
from shutil import copyfile from shutil import copyfile
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
@ -24,7 +23,6 @@ def prettifyHTML(html):
def parse_yaml(): def parse_yaml():
with open(config_path, mode='r') as file: with open(config_path, mode='r') as file:
file_dict = yaml.full_load(file) file_dict = yaml.full_load(file)
file.close()
return file_dict return file_dict
def print_keys(dictionary): def print_keys(dictionary):
@ -45,35 +43,36 @@ def gen_list_indices(html_file, file_dict):
def gen_col_headers(html_file, file_dict): def gen_col_headers(html_file, file_dict):
for key in file_dict: for key in file_dict:
html_file.write("<li>\n") html_file.write("<li>\n")
html_file.write(" <h1>" + key + "</h1>\n") html_file.write("<h1>" + key + "</h1>\n")
html_file.write(" <ul>\n") html_file.write("<ul>\n")
# generate list indices # generate list indices
gen_list_indices(html_file, file_dict[key]) gen_list_indices(html_file, file_dict[key])
html_file.write(" </ul>\n") html_file.write("</ul>\n")
html_file.write("</li>\n") html_file.write("</li>\n")
def gen_columns(html_file, file_dict): def gen_columns(html_file, file_dict):
for key in file_dict: for key in file_dict:
html_file.write("<div class=\"column\">\n") if key.split("_")[0] == "tree":
html_file.write(" <div class=\"tree\">\n") html_file.write("<div class=\"column\">\n")
html_file.write(" <h1>.</h1>\n") html_file.write("<div class=\"tree\">\n")
html_file.write(" <ul>\n") html_file.write("<h1>.</h1>\n")
html_file.write("<ul>\n")
# generate the column headers # generate the column headers
gen_col_headers(html_file, file_dict[key]) gen_col_headers(html_file, file_dict[key])
html_file.write(" </ul>\n") html_file.write("</ul>\n")
html_file.write(" </div>\n") html_file.write("</div>\n")
html_file.write("</div>\n") html_file.write("</div>\n")
def gen_html(file_dict): def gen_html(file_dict):
print("Generating index.html...") print("Generating index.html...")
# open files # open files
skeleton_html = open('./skeletons/index.html', 'r') skeleton_html = open(cache_dir + '/skeletons/index.html', 'r')
cache_html = open(cache_dir + '/index.html', 'w+') cache_html = open(cache_dir + '/index.html', 'w+')
# copy skeleton_html to cache_html until Column Start comment # copy skeleton_html to cache_html until Column Start comment
@ -98,13 +97,39 @@ def gen_html(file_dict):
print("Done!") print("Done!")
def gen_style(file_dict):
skeleton_style = open(cache_dir + '/skeletons/style.css', 'r')
cache_style = open(cache_dir + '/styles/style.css', 'w')
def gen_css(file_dict): # find style attributes in file_dict
font_size = 20
theme = "void"
for key in file_dict:
if key == "font_size":
font_size = file_dict[key]
if key == "theme":
theme = file_dict[key]
if theme == "pywal":
theme = home + '/.cache/wal/colors.css'
else:
theme = cache_dir + '/themes/' + theme + '.css'
copyfile(theme, home + '/.cache/StartTree/styles/colors.css')
cache_style.write("@import url('./colors.css');\n")
lines = skeleton_style.readlines()
for line in lines:
if line == "/* font-size */\n":
cache_style.write("font-size: " + str(font_size) + "px;\n")
else:
cache_style.write(line)
def main(): def main():
file_dict = parse_yaml() file_dict = parse_yaml()
gen_style(file_dict)
gen_html(file_dict) gen_html(file_dict)
gen_css(file_dict)
if __name__ == '__main__': if __name__ == '__main__':
main() main()

BIN
images/StartTree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 KiB

BIN
images/forest.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

BIN
images/void.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

74
init.py
View File

@ -1,74 +0,0 @@
#!/bin/python3
import yaml
import os
from os.path import expanduser
from shutil import copyfile
from bs4 import BeautifulSoup
import sys
import subprocess
# Install dependencies
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'bs4'])
# get home directory
home = expanduser("~")
# get config path
config_dir = home + '/.config/StartTree'
config_path = home + '/.config/StartTree/config.yaml'
# get cache path
cache_dir = home + '/.cache/StartTree'
def prettifyHTML(html):
soup = BeautifulSoup(html, 'html.parser')
prettyHTML = soup.prettify()
return prettyHTML
def setup():
# check if .config path exists
if not os.path.isdir(home + '/.config'):
print("The directory '~/.config' does not exist, or you do not have permissions to edit it.")
exit()
if not os.path.isdir(home + '/.cache'):
print("The directory '~/.cache' does not exist, or you do not have permissions to edit it.")
exit()
# check if .config/StartTree exists, create it and config if not
if not os.path.isdir(config_dir):
print("Creating '~/.config/StartTree'...")
os.mkdir(config_dir)
print("Copying config.yaml")
copyfile("./config.yaml", config_path)
print("")
# check if config.yaml exists
if not os.path.exists(config_path):
print("No config.yaml found in '~/.config/StartTree'")
print("Copy the example config with:")
print("\tcp ./config.yaml $HOME/.config/StartTree/config.yaml")
print("or create your own in that directory.")
exit()
# create directory structure in .cache
if not os.path.isdir(cache_dir):
print("Creating '" + cache_dir + "'...")
os.mkdir(cache_dir)
print("Creating '" + cache_dir + "/styles'")
os.mkdir(cache_dir + '/styles')
print("Creating style.css")
copyfile("./skeletons/style.css", cache_dir + '/styles/style.css')
print("Creating Hack.ttf")
copyfile("./skeletons/Hack.ttf", cache_dir + '/styles/Hack.ttf')
def main():
setup()
if __name__ == '__main__':
main()

71
init.sh Executable file
View File

@ -0,0 +1,71 @@
#!/bin/bash
config_dir=$HOME/.config/StartTree
config_path=$HOME/.config/StartTree/config.yaml
cache_dir=$HOME/.cache/StartTree
# check if .config path exists
if [ ! -d "$HOME/.config" ]; then
echo "The directory '~/.config' does not exist, or you do not have permissions to edit it."
exit
fi
# check if .cache path exists
if [ ! -d "$HOME/.cache" ]; then
echo "The directory '~/.cache' does not exist, or you do not have permissions to edit it."
exit
fi
# check if .local/bin exists
if [ ! -d "$HOME/.local/bin" ]; then
echo "The directory '~/.local/bin' does not exist, or you do not have permissions to edit it."
exit
fi
# check if .config/StartTree exists, create it and config if not
if [ ! -d "$config_dir" ]; then
echo "Creating '~/.config/StartTree'..."
mkdir $config_dir
echo "Copying config.yaml..."
cp ./config.yaml $config_path
echo
fi
# check if config.yaml exists
if [ ! -f "$config_path" ]; then
echo "No config.yaml found in '~/.config/StartTree'"
echo "Copy the example config with:"
echo "\tcp ./config.yaml $HOME/.config/StartTree/config.yaml"
echo "or create your own in that directory."
exit
fi
# create directory structure in .cache
if [ ! -d "$cache_dir" ]; then
echo "Creating '$cache_dir'..."
mkdir $cache_dir
echo "Symlinking themes..."
ln -s $(pwd)/themes $HOME/.cache/StartTree/themes
echo "Symlinking skeleton files..."
ln -s $(pwd)/skeletons $HOME/.cache/StartTree/skeletons
echo "Creating '$cache_dir/styles'..."
mkdir "$cache_dir/styles"
fi
echo "Creating style.css..."
cp "./skeletons/style.css" "$cache_dir/styles/style.css"
echo "Creating Hack.ttf..."
cp "./skeletons/Hack.ttf" "$cache_dir/styles/Hack.ttf"
# add to path
FILEPATH=$(readlink -f "generate.py")
ln -s $FILEPATH $HOME/.local/bin/starttree.py
echo "generate.py has been linked to $HOME/.local/bin/"
echo "Make sure this directory is in your \$PATH"
FILEPATH=$(readlink -f "docker/data/default.conf")
ln -s $FILEPATH $HOME/.cache/StartTree/default.conf

View File

@ -1,4 +1,3 @@
@import url('/home/paul/.cache/wal/colors.css');
@font-face { @font-face {
font-family: "Roboto Mono"; font-family: "Roboto Mono";
src: url("./Hack.ttf"); src: url("./Hack.ttf");
@ -16,7 +15,7 @@
} }
html { html {
font-size: 22px; /* font-size */
} }
body { body {
@ -60,6 +59,7 @@ h1 {
ul { ul {
list-style: none; list-style: none;
padding-left: 2.5rem; padding-left: 2.5rem;
white-space:nowrap;
} }
li { li {

24
themes/black-ice.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #9a9c9f;
--cursor: #9a9c9f;
/* Colors */
--color0: #000000;
--color1: #04294d;
--color2: #2d2d2d;
--color3: #094c57;
--color4: #176485;
--color5: #585a5a;
--color6: #62909b;
--color7: #9a9c9f;
--color8: #36393f;
--color9: #04294d;
--color10: #2d2d2d;
--color11: #094c57;
--color12: #176485;
--color13: #585a5a;
--color14: #62909b;
--color15: #9a9c9f;
}

24
themes/carnival.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #bfc7c7;
--cursor: #bfc7c7;
/* Colors */
--color0: #000000;
--color1: #0e9da8;
--color2: #82b4b9;
--color3: #1063aa;
--color4: #2e45aa;
--color5: #7e3ca9;
--color6: #b82589;
--color7: #bfc7c7;
--color8: #415758;
--color9: #0e9da8;
--color10: #82b4b9;
--color11: #1063aa;
--color12: #2e45aa;
--color13: #7e3ca9;
--color14: #b82589;
--color15: #bfc7c7;
}

24
themes/cotton-candy.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #8fc5c6;
--cursor: #8fc5c6;
/* Colors */
--color0: #000000;
--color1: #9E2A5E;
--color2: #D03C6E;
--color3: #9D596B;
--color4: #378B77;
--color5: #346D8A;
--color6: #CD6A8C;
--color7: #8fc5c6;
--color8: #64898a;
--color9: #9E2A5E;
--color10: #D03C6E;
--color11: #9D596B;
--color12: #378B77;
--color13: #346D8A;
--color14: #CD6A8C;
--color15: #8fc5c6;
}

24
themes/desert-sky.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #c8c4c2;
--cursor: #c8c4c2;
/* Colors */
--color0: #000000;
--color1: #b07247;
--color2: #a89e88;
--color3: #89c0c0;
--color4: #69a4b7;
--color5: #358ec0;
--color6: #1a6eae;
--color7: #c8c4c2;
--color8: #5a504a;
--color9: #b07247;
--color10: #a89e88;
--color11: #89c0c0;
--color12: #69a4b7;
--color13: #358ec0;
--color14: #1a6eae;
--color15: #c8c4c2;
}

24
themes/ferns.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #a1bfa2;
--cursor: #a1bfa2;
/* Colors */
--color0: #000000;
--color1: #264D33;
--color2: #316B37;
--color3: #255546;
--color4: #316E4A;
--color5: #3E6848;
--color6: #3F8648;
--color7: #a1bfa2;
--color8: #708571;
--color9: #264D33;
--color10: #316B37;
--color11: #255546;
--color12: #316E4A;
--color13: #3E6848;
--color14: #3F8648;
--color15: #a1bfa2;
}

24
themes/forest.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #020303;
--foreground: #9da0a0;
--cursor: #9da0a0;
/* Colors */
--color0: #020303;
--color1: #2b3d30;
--color2: #424a55;
--color3: #405642;
--color4: #5b6a55;
--color5: #7f8d76;
--color6: #82908c;
--color7: #9da0a0;
--color8: #3b4242;
--color9: #2b3d30;
--color10: #424a55;
--color11: #405642;
--color12: #5b6a55;
--color13: #7f8d76;
--color14: #82908c;
--color15: #9da0a0;
}

23
themes/gruvbox.css Normal file
View File

@ -0,0 +1,23 @@
/* gruv for starttree */
:root {
--background: #282828;
--foreground: #ebdbb2;
--cursor: #bfc7c7;
--color0: #282828;
--color1: #cc241d;
--color2: #98971a;
--color3: #d79921;
--color4: #458588;
--color5: #b16286;
--color6: #689d6a;
--color7: #a89984;
--color8: #928374;
--color9: #fb4934;
--color10: #b8bb26;
--color11: #fabd2f;
--color12: #83a598;
--color13: #d3869b;
--color14: #8ec07c;
--color15: #ebdbb2;
}

24
themes/intrigue.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #a6c1b8;
--cursor: #a6c1b8;
/* Colors */
--color0: #000000;
--color1: #554B41;
--color2: #962A30;
--color3: #F21B2B;
--color4: #DF4D49;
--color5: #2EA564;
--color6: #F7934A;
--color7: #a6c1b8;
--color8: #748780;
--color9: #554B41;
--color10: #962A30;
--color11: #F21B2B;
--color12: #DF4D49;
--color13: #2EA564;
--color14: #F7934A;
--color15: #a6c1b8;
}

24
themes/just-red.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #e58997;
--cursor: #e58997;
/* Colors */
--color0: #000000;
--color1: #BB243D;
--color2: #CC1B37;
--color3: #E11F3D;
--color4: #D8213E;
--color5: #E2203E;
--color6: #B42D44;
--color7: #e58997;
--color8: #a05f69;
--color9: #BB243D;
--color10: #CC1B37;
--color11: #E11F3D;
--color12: #D8213E;
--color13: #E2203E;
--color14: #B42D44;
--color15: #e58997;
}

24
themes/neon-pink-dark.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #9fc8e0;
--cursor: #9fc8e0;
/* Colors */
--color0: #000000;
--color1: #8B1374;
--color2: #2D3090;
--color3: #512F91;
--color4: #325AB7;
--color5: #4C5AA5;
--color6: #B91F9E;
--color7: #9fc8e0;
--color8: #6f8c9c;
--color9: #8B1374;
--color10: #2D3090;
--color11: #512F91;
--color12: #325AB7;
--color13: #4C5AA5;
--color14: #B91F9E;
--color15: #9fc8e0;
}

24
themes/neon.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #93d2d4;
--cursor: #93d2d4;
/* Colors */
--color0: #000000;
--color1: #205556;
--color2: #445142;
--color3: #B63632;
--color4: #9A9746;
--color5: #2E52C2;
--color6: #C610BE;
--color7: #93d2d4;
--color8: #669394;
--color9: #205556;
--color10: #445142;
--color11: #B63632;
--color12: #9A9746;
--color13: #2E52C2;
--color14: #C610BE;
--color15: #93d2d4;
}

24
themes/orange-dark.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #9f9f9f;
--cursor: #9f9f9f;
/* Colors */
--color0: #000000;
--color1: #2c3433;
--color2: #5e2711;
--color3: #303d44;
--color4: #9d350a;
--color5: #505c5b;
--color6: #5e7078;
--color7: #9f9f9f;
--color8: #3f3f3f;
--color9: #2c3433;
--color10: #5e2711;
--color11: #303d44;
--color12: #9d350a;
--color13: #505c5b;
--color14: #5e7078;
--color15: #9f9f9f;
}

24
themes/slick-red.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #c5c5c5;
--cursor: #c5c5c5;
/* Colors */
--color0: #000000;
--color1: #26292e;
--color2: #292c31;
--color3: #842133;
--color4: #c91a36;
--color5: #cf1f3b;
--color6: #c52c46;
--color7: #c5c5c5;
--color8: #515152;
--color9: #26292e;
--color10: #292c31;
--color11: #842133;
--color12: #c91a36;
--color13: #cf1f3b;
--color14: #c52c46;
--color15: #c5c5c5;
}

24
themes/this-ones-good.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #aba0cb;
--cursor: #aba0cb;
/* Colors */
--color0: #000000;
--color1: #8B2039;
--color2: #A5244B;
--color3: #E22A66;
--color4: #B55F40;
--color5: #EB9346;
--color6: #0A6389;
--color7: #aba0cb;
--color8: #77708e;
--color9: #8B2039;
--color10: #A5244B;
--color11: #E22A66;
--color12: #B55F40;
--color13: #EB9346;
--color14: #0A6389;
--color15: #aba0cb;
}

View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #2d2d2d;
--foreground: #cccccc;
--cursor: #cccccc;
/* Colors */
--color0: #2d2d2d;
--color1: #f2777a;
--color2: #99cc99;
--color3: #ffcc66;
--color4: #6699cc;
--color5: #cc99cc;
--color6: #66cccc;
--color7: #cccccc;
--color8: #999999;
--color9: #f2777a;
--color10: #99cc99;
--color11: #ffcc66;
--color12: #6699cc;
--color13: #cc99cc;
--color14: #66cccc;
--color15: #ffffff;
}

24
themes/water-fire.css Normal file
View File

@ -0,0 +1,24 @@
:root {
/* Special */
--background: #000000;
--foreground: #c0c6c7;
--cursor: #c0c6c7;
/* Colors */
--color0: #000000;
--color1: #128faa;
--color2: #558fa9;
--color3: #9790a6;
--color4: #b17379;
--color5: #b45255;
--color6: #bf3032;
--color7: #c0c6c7;
--color8: #425458;
--color9: #128faa;
--color10: #558fa9;
--color11: #9790a6;
--color12: #b17379;
--color13: #b45255;
--color14: #bf3032;
--color15: #c0c6c7;
}