About
This is the source code that powers xcolors.net. Xcolors.net is a color theme directory for terminals that support color configuration through X resources. It provides a visual presentation of the themes and will hopefully grow over time with help from the community :).
How to use these themes
Download and use the #include
directive in your .Xdefaults
or .Xresources
files. Then load/reload
using the xrdb
utility. For more information see here.
E.g.:
#include "<path/to/theme>/rezza"
Contribute
-
Fork the xcolors repository.
-
Add your theme file(s) in the
themes
folder found in the project's root directory. -
Commit your changes.
-
If you make changes to the source code make sure the tests are green.
-
Make a pull request (make sure you are not on Master branch)
-
Changes will show at the xcolors site as soon as the PR is merged to the master branch.
-
You make it to the hall of fame.
Supported formats
Both files using rgb *color0: rgb:19/19/19
and hash *color0: #2e3436
notation are supported.
Lines starting with URxvt*
and URxvt.
are also supported.
Supported keywords
Keywords: *color
(from 0 to 15), *background
, and *foreground
are supported.
Everything else is ignored.
How this works
Xcolors.net is powered by Flask, the Python micro-framework and is hosted at Heroku. Only the master branch of this repository is deployed at heroku, so this branch should reflect the website contents/state.
With each push to heroku and before the Flask framework fires-up, a bit of python magic happens.
The files (themes) that reside in the themes
folder of the root directory are parsed. Then, for each
theme file, a corresponding html file is generated using the Jinja2 engine in
the templates/xcolors
folder. These files are imported later by the templates/index.html
template,
when the main page is requested.
Local install
Navigate in the project's root directory and create the python virtual environment using mkvirtualenv
:
$ mkvirtualenv -p /path/to/pyhon2 xcolors
Then activate it:
$ workon xcolors
Intall dependencies using pip:
$ pip install -r requirements.txt
Run using python xcolors.py
or better use heroku's foreman
which will honor the Procfile contents.
$ foreman start
Run the tests with:
$ python -m unittest discover
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License.
A copy of theGNU General Public License can be found in GNU Licence Page