Added Sublime UI themes.

This commit is contained in:
Dayle Rees 2014-02-12 00:43:17 +00:00
parent 8f4a1b9dd5
commit 6bb4d7a2ca
91 changed files with 92651 additions and 1 deletions

@ -1,4 +1,4 @@
# Colour Schemes by Dayle Rees.
§# Colour Schemes by Dayle Rees.
[![Support via Gittip](https://rawgithub.com/twolfson/gittip-badge/0.1.0/dist/gittip.png)](https://www.gittip.com/daylerees)
@ -93,6 +93,24 @@ Save and re-launch vim to use, enjoy!
See the documentation for your editor, this varies between each one!
### Sublime UI Themes
**WARNING**: These are work in progress. Light themes will not work. Some themes may look strange.
The Sublime UI themes are based on [Space Gray](http://kkga.github.io/spacegray/) by [kkga_](http://twitter.com/kkga_).
The above theme **MUST** be installed before enabling my UI themes, since it uses its assets. You must also install this colour schemes package as per usual.
Once `Space Gray` is installed (does not need to be active), add the following line to your user configuration file.
"theme": "<themename>.sublime-theme",
Where `<themename>` is the lowercase filename of the theme located in the `/sublimeui` directory. Choose whichever theme you like, it doesn't need to match the colourscheme. For example:
"theme": "piggy.sublime-theme",
Enjoy!
## Requests
- **Hyrule** - Requested by Taylor Otwell of Laravel, a Zelda theme!

@ -10,6 +10,7 @@
<delete dir="${basedir}/jetbrains"/>
<delete dir="${basedir}/bootstrap"/>
<delete dir="${basedir}/screenshots"/>
<delete dir="${basedir}/sublimeui"/>
</target>
<!-- Generate themes. -->

@ -0,0 +1,5 @@
{
"type": "Sublime Text UI",
"folder": "sublimeui",
"extension": ".sublime-theme"
}

File diff suppressed because it is too large Load Diff

@ -7,6 +7,9 @@ Copyright (c) 2014 Dayle Rees.
===============================
*/
// Global theme array. Time to OO this me thinks.
$theme = array();
// Include composer autoloader.
require __DIR__.'/vendor/autoload.php';
@ -36,6 +39,39 @@ $patternDirs = array(
*/
$outputDir = __DIR__.'/../';
/**
* Get an RGB value with a modifier.
*
* @param string $key
* @param integer $modifier
* @return string
*/
function uiHelper($key, $modifier = 0)
{
global $theme;
$r = minMax($theme[$key.'_r'] + $modifier);
$g = minMax($theme[$key.'_g'] + $modifier);
$b = minMax($theme[$key.'_b'] + $modifier);
return "[{$r}, {$g}, {$b}]";
}
/**
* Ensure a value is between 0 and 255.
*
* @param int $val
* @return int
*/
function minMax($val)
{
if ($val > 255) {
return 255;
} elseif ($val < 0) {
return 0;
} else {
return $val;
}
}
/**
* Glob an array of directories into a single result.
*
@ -91,6 +127,18 @@ function hashLessify(array $theme)
if (!is_array($value) && substr($value, 0, 1) === '#') {
$without = ltrim($value, '#');
$theme[$key.'_h'] = $without;
$hex = $without;
if(strlen($hex) == 3) {
$theme[$key.'_r'] = hexdec(substr($hex,0,1).substr($hex,0,1));
$theme[$key.'_g'] = hexdec(substr($hex,1,1).substr($hex,1,1));
$theme[$key.'_b'] = hexdec(substr($hex,2,1).substr($hex,2,1));
} else {
$theme[$key.'_r'] = hexdec(substr($hex,0,2));
$theme[$key.'_g'] = hexdec(substr($hex,2,2));
$theme[$key.'_b'] = hexdec(substr($hex,4,2));
}
}
}
return $theme;
@ -108,6 +156,10 @@ function renderTwig($source, array $data = array())
$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);
$function = new Twig_SimpleFunction('ui', 'uiHelper');
$twig->addFunction($function);
return $twig->render($source, $data);
}
@ -116,6 +168,8 @@ function renderTwig($source, array $data = array())
// Iterate theme directories.
foreach (globArray($themeDirs) as $themePath) {
global $theme;
// Load theme configuration.
$theme = readJson($themePath);
@ -125,6 +179,10 @@ foreach (globArray($themeDirs) as $themePath) {
// Add UUID for sublime themes.
$theme['uuid'] = generateUuid($theme['theme']['name']);
if (! isset($theme['ui_bg'])) {
$theme['ui_bg'] = $theme['background'];
}
// Include non-hashed colours.
$theme = hashLessify($theme);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/bold.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/keen.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

1064
sublimeui/kiwi.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/mud.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/peel.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/tron.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1064
sublimeui/yule.sublime-theme Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff