GithubHelp home page GithubHelp logo

mswift42 / themecreator Goto Github PK

View Code? Open in Web Editor NEW
397.0 7.0 33.0 12.38 MB

https://mswift42.github.io/themecreator/ create themes for intellij, textmate, textadept, atom, emacs, vim and gnome terminal.

License: GNU General Public License v3.0

Clojure 69.53% HTML 4.52% CSS 10.36% Shell 7.03% Emacs Lisp 0.30% Less 7.98% Dockerfile 0.28%
themes theme-development intellij vim emacs textmate atom-themes atom sublime visual-studio-code

themecreator's Introduction

Screenshot

Create Color Themes for IntelliJ Editors, Atom, Emacs, TextAdept, Textmate, Vim and Gnome Terminal.

Installation Instructions:

No installation necessary. ThemeCreator is hosted on gh-pages. ThemeCreator supports Firefox, Chrome, Edge and Opera, as these are so far the only ones to support input-color.

Usage:

Add themename and themeauthor, pick or enter the desired colors, then download the theme for the editor of your choice.

JetBrains Editors:

Download Intellij theme and go to File > Settings > Editor > Color Scheme click on the Gear Icon and Import the downloaded icls file.

To create an UI Theme plugin for jetbrains editors >= 191, go to iui to generate one with your newly generated theme.

Textmate:

Download the textmate theme, then follow your editors instructions. For Visual Studio Code you can use the yeoman code generator.

Atom:

Generate a new color theme from within atom. Then Download the atom theme you made with ThemeCreator, and download base.less and syntax-variables.less. Now copy the 3 files, colors.less, base.less and syntax-variables.less into the styles/ folder of the Atom generated theme.

Emacs:

Download the emacs file. Add a fitting package description to the first line. You can try your new theme by visiting your new theme with C-x C-f <filename.el>. You can install your new theme with: M-x package-install-file <filename.el>.

TextAdept:

Download the TextAdept file. Copy it into your ~/.textadept/themes directory, edit your preferences to use it and restart TextAdept.

Vim:

Download the vim theme and copy it to your colors folder. For Vim that's usually ~/.vim/colors, for Neovim it's ~/.config/nvim/colors .

Make sure termguicolors is enabled by adding

set termguicolors

to your .vimrc / init.vim.

Gnome Terminal:

Download the gnome terminal file. Make the script executable with chmod +x <file>. Run the script: </folder/to/script/themefile.sh> .

Random Colors:

ThemeCreator supports random colors from 4 different color palettes, or you can generate random colors from a custom color palette by providing CIE Lch Lightness and Saturation values for your theme colors. Hue values will be assigned randomly. Lightness values range from 0 (black) to 100 (white), Saturation from 0 (grey) to 100 (full saturation).

The used values for the warm, soft, pop and muted palettes can be found in colors.cljs. For example the soft palette uses 57.292 and 25.738 Lightness and saturation values for a dark background, and 44.921 and 25.738 for a light background.

Storage:

By pressing the store theme button, you can store your theme and custom Lightness and Saturation values to local Storage.

Contributing:

All contributions are welcome.

To run themecreator locally:

clone or download this repo.

install clojure und the clojure cli tools.

go into the app.core directory and run clj -M:fig:build.

Extras:

Dockerfile and the companion scripts build-run.sh and kill-clean.sh allow you to deploy ThemeCreator in a Docker container. You will need the Docker CLI tools to use them.

build-sh.run will expose the container port 9500 to the host/VM where you are running ThemeCreator. If you are running ThemeCreator inside Dockeer inside a VM, you may also need to add a port translation for your virtual machine to access ThemeCreator from you host.

This has been tested on a Ubuntu 20.04 server VM running on VirtualBox and on KVM directly.

Screenshots:

Custom Palette (Chrome): Screenshot

Light Theme (Firefox): Screenshot

Download Theme (Firefox): Screenshot

Editor Comparisons:

You can find screenshots of the same theme with different Editors in the Wiki.

Implementation:

ThemeCreator is a Clojurescript app, in particular it uses the wonderful reagent framework. The themetemplates are compiled and rendered using mustache, goog.net.XhrIo is used to load the templates, and goog.color was helpful for some color conversions.

Thanks:

ThemeCreator's maintenance has been made a lot easier with the support of

JetBrains

Thank you JetBrains.

themecreator's People

Contributors

arnie97 avatar chaussebenjamin avatar d4v3y5c0n3s avatar erikboesen avatar mswift42 avatar paaguti avatar samuelbanya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

themecreator's Issues

Issues WIth MELPA Submission

I am in pending status for the 'morrowind-emacs-theme' related theme I created with 'themecreator' on MELPA aka the Emacs based package site itself:
melpa/melpa#8095

These are the issues that were generated as a result of the 'themecreator' itself, but I'm not sure how I can fix this because this is as a result of 'themecreator' itself:

8 issues found:
1:0: error: Package should have a Homepage or URL header.
1:0: warning: The word "emacs" is redundant in Emacs package names.
26:0: error: Package should have a non-empty ;;; Commentary section.
250:8: warning: Closing parens should not be wrapped onto new lines.
266:3: warning: Closing parens should not be wrapped onto new lines.

Including this here in case anyone like myself wants to use this tool to make themes for MELPA, and wants to get approved.

Please let me know if there is anything within the 'themecreator' code base that could be revised accordingly, thanks.

"Textadept" theme download option produces errors upon using the theme

(I'm using Textadept version 11.4 on Linux)
I've used this tool in the past to make themes for Textadept without issue, but there appears to be an issue at the moment where the "Textadept" theme option is not working correctly. I've provided a screenshot showing the errors being produced when I try to use a theme. I still have themes that I've made using this tool in the past which continue to work for me.
I'll look further into this, and please feel free to ask me any questions you may have.
textadept_error_messages

Terminal mode colors using neovim

So neovim doesn't use the colorscheme colors while in terminal mode.
There is a fix which I have seen being used by the nova-vim colorscheme where they assing neovim terminal colors.

I managed to make the fix work with the current scheme in a way I think is acceptable:

" Neovim Terminal Mode
let g:terminal_color_0 = s:bg
let g:terminal_color_1 = s:warning
let g:terminal_color_2 = s:keyword
let g:terminal_color_3 = s:bg4
let g:terminal_color_4 = s:func
let g:terminal_color_5 = s:builtin
let g:terminal_color_6 = s:fg3
let g:terminal_color_7 = s:str
let g:terminal_color_8 = s:bg2
let g:terminal_color_9 = s:warning2
let g:terminal_color_10 = s:fg2
let g:terminal_color_11 = s:var
let g:terminal_color_12 = s:type
let g:terminal_color_13 = s:const
let g:terminal_color_14 = s:fg4
let g:terminal_color_15 = s:comment

Would you rather have me make a pull request for the current vim template or would you rather make a separate neovim.txt template to fix this?

Coloring Errors

image
the numbers in the for loop like 0 and 2 are constants but they don't take the correct color, instead I believe they use the color of the mainfg
and similarly the .length dont take the color of the builtins either (im not entirely sure if thats right or wrong though)

Account for half-length grey hex colors

It's possible to specify some grey colors (such as #ccc) as synonyms for six-character greys (#cccccc). (You can also append an alpha value to the end.) In ThemeCreator, this works without issue. However, this causes issues with (at least) vim, which fails to resolve these colors.

I actually prefer to write color hexes this way sometimes. I think it would be nice if ThemeCreator could detect if the user has used half-length greys and simply expand it to the standard for editors like vim, which, unlike editors like Atom, don't render colors through web technologies.

I'd love to help resolve this issue if there's anything I can do to assist you.

Program not showing up

Hi,

I have tried using your app for customizing emacs (26), I have moved your whole project folder to xampp and then navigated to "http://localhost/themecreator-master/app/resources/" with my browser. The upper frame loaded up along with the footer but nothing else showed up making the app unusable. Is this an issue or am I using your software wrong? It is hard to tell, because your installation instructions are barebones.

Request/food for thought...

Include selection background as part of the customisable colours.
I've created a theme with bg1 #dfdfef and have found that #deefef is a nice choice for the selection background, Much more that any of the bg2, bg3 or bg4.
This new selectionbg field can be set initially to bg3 or bg4 (which can work with some themes)
The point is to make it user configurable

Thanks

Make Ruby integers color as Constants rather than mainfg

A small, subtle thing, but I think it be nicer if you gave integers in Ruby a different color than mainfg to separate them from variables and methods more. I'd suggest using the color set as constant.

Here's how it looks now-- lot of mainfg in there I'd say.
screen shot 2016-01-16 at 11 53 59 am

Allow naming for Terminal Profile color profile settings

First off, great job putting this together.

Is there a way to get a reference map added to the interface that shows which filed matches what option in the Terminal Profile settings if even in the documentation?

For example: mainbg = pallet color 0

I tried to see if I could map things out but it just got even weirder...

Here is the example theme metalheart from your site:

FIELD VALUE
mainbg #1d272a
mainfg #8693ae
builtin #9a91b8
keyword #6e94ad
string #ba899c
functionname #937aba
variable #638f81
type #7a9f81
constant #5980a3
comment #727272
warning #ff0000
warning2 #ff8800

This is how it generated in the terminal profile:

IN TERMINAL METALHEART ON THEME CREATOR
palette color 0 #1D272A mainbg
palette color 1 #7B87A0  
palette color 2 #95A0B8  
palette color 3 #717B92  
palette color 4 #667084  
palette color 5 #937ABA  
palette color 6 #7A9F81  
palette color 7 #6E94AD keyword
palette color 8 #5980A3 constant
palette color 9 #638F81 variable
palette color 10 #7A9F81 type
palette color 11 #FF0000 warning
palette color 12 #937ABA functionname
palette color 13 #667084  
palette color 14 #7B87A0  
palette color 15 #8693AE mainfg
Text #8693AE mainfg
Background #1D272A mainbg
Cursor Foreground #1D272A mainbg
Cursor Background #8693AE mainfg
Highlight Foreground #2E3440  
Highlight Background #88C0D0

Notice that some of the colors in the theme generator did not even get used and some random colors were used instead.

Have you considered using coloration to generate vim themes?

Hi, nice project! Have you considered the coloration ruby gem? It allows converting textmate themes to vim themes. I see you don't have a ruby runtime right now (on github pages, I mean), but this could be an interesting solution to batch-add vim themes for preset themes, at least.

HTH :)

Unable to download themes

I've just discovered this tool and decided to try it out. Created a theme, saved it (although I can't find it anywhere), but on clicking the download button followed by any of the available formats, nothing happens. No download prompt or any such thing. I'm on a slightly patchy network if that means anything. Any help?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.