Skip to content

Commit

Permalink
orange light theme 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
openmindculture committed Feb 19, 2024
1 parent cbab0ad commit d514636
Show file tree
Hide file tree
Showing 21 changed files with 295 additions and 1 deletion.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.gradle
.idea
.run
build/*
!build/distributions
!build/distributions/*
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<!-- Keep a Changelog guide -> https://keepachangelog.com -->

# intellij-orange-rain-light-theme Changelog

## 1.0.0 - 2024-02-19
- initial release
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 Ingo Steinke
Copyright (c) 2019 Johannes Werner

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
116 changes: 116 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Orange Rain Light Theme

<!-- Plugin description -->
[Orange Rain Light Theme](TODO) is a light IDE theme for JetBrains IDEs (PhpStorm, WebStorm, IntelliJ IDEA, etc.), version 2020.2 and above, tested up to 2024.1 (244) EAP and should also support later IDEA versions. Based on Cute Pink Light Theme and JetBrains default light editor scheme. There is also an Orange Rain Dark Theme.

If you like to support development, you can open a pull request on GitHub.

For JetBrains IDEs,
To install:
- Go to Settings (Preferences) | Plugins, find the theme plugin and install it
- (_or_ download [Orange Rain Light Theme from JetBrains Plugins page](TODO))
- Restart IDE
- Go to Settings (Preferences) | Appearance & Behavior | Appearance and see the Theme dropdown

## Support/Contribution

[Report an issue](https://github.com/openmindculture/intellij-orange-rain-light-theme/issues/new) on or create a pull request [on GitHub](https://github.com/openmindculture/intellij-orange-rain-light-theme/issues/new).

## Screenshots

Classic UI (PhpStorm 2023.3.3)

![screenshot 1](screenshot-orange-rain-light-theme.png)

![screenshot 2](screenshot-orange-rain-light-theme-classic-2.png)

New UI (WebStorm 2024.1 EAP)

![screenshot 1](screenshot-orange-rain-light-theme-new-ui.png)

![screenshot 2](screenshot-orange-rain-light-theme-new-ui-2.png)

<!-- Plugin description end -->

## Installation

If you only want to install the theme, you do not need this repository.
You can install the theme from JB marketplace (inside your IDE) or install zip file (see below).

### Local Installation

In `build/distributions` there is a zip file that I can manually import into my regular PhpStorm installation (Settings -> Plugins -> Gear Icon -> install plugin from disk).

### Development

The initial settings for the formerly recommended development environment, IntelliJ IDEA Ultimate, as described by JetBrains in the [custom UI theme workflow](https://plugins.jetbrains.com/docs/intellij/themes.html#custom-ui-theme-workflow), has been removed in favor of a simple build script since release 1.0.0. You can also create a zip file manually, see the instructions below.

For creating future theme plugins, you do not need a complex Gradle setup, as there is a new
wizard for creating a UI theme. See:
- https://blog.jetbrains.com/platform/2021/10/themes-in-intellij-based-ides/
- https://plugins.jetbrains.com/docs/intellij/theme-structure.html

> A plugin consisting of a single .jar file is placed in the /plugins directory.
Source: https://plugins.jetbrains.com/docs/intellij/plugin-content.html

To find out the internal names of UI elements, we can now use the [UI inspector](https://blog.jetbrains.com/platform/2021/10/themes-in-intellij-based-ides/#UI_Inspector%EF%BB%BF).

The `.palette-info.css` in the root directory can be used for a better editor preview, if the IDE does not show color previews in `.xml` and `.json` configuration files.

![screenshot](screenshot-palette.png)

Moodboard for this theme: [screenshot-moodboard.png](screenshot-moodboard.png)

### Development, Build and Export

- Edit colors in `src/main/META-INF/orange_rain_light_theme.json`.
- As a contributor:
- create a pull request on GitHub.
- As a maintainer:
- Edit theme version, supported IDE versions, and other data, in
- `src/main/resources/META-INF/plugin.xml`
- `src/main/resources/META-INF/MANIFEST.MF`
- `package.json`
- `gradle.properties` (only used for IntelliJ gradle build)
- `build.gradle.kts` (only used for IntelliJ gradle build)
- Build using one of the methods described below.
- Add a change log in `CHANGELOG.md`.
- Add a git tag, create a release, and add the theme zip.
- Upload the theme zip to JetBrains marketplace.

#### Shell Build

`npm run build`

- requires `bash`/`sh`!
- creates a `build/distributions/intellij-orange-rain-theme-x.y.z.zip`

#### Alternative Manual Export (without IntelliJ Build Process)

Create an archive `orange-rain-light-theme-x.y.z.zip` containing:
- `orange-rain-theme-light-theme/`
- `lib/`
- `intellij-orange-rain-theme-x.y.z.jar`
The `.jar` file is another zip archive containing the contents of `src/main/resources`
with **no additional folder in between, e.g.:
- `orange_rain.theme.json`
- `orange_rain.xml`
- `META-INF/`
- `plugin.xml`
- `pluginIcon.svg`
- `MANIFEST.MF`

A valid `MANIFEST.MF` example is included to simplify theme export and update.

You can use the build script `./build.sh $version` to build, e.g.
`./build.sh 2.9.0`

#### Upgrade Plugin for new IDEA versions

- bump plugin version
- add current IDEA version to supported targets
- rebuild artifacts as described above

### Author

I am Ingo Steinke ([@openmindculture](https://github.com/openmindculture) on GitHub) a creative web developer, creating sustainable software and websites. If you like my [talks](https://www.ingo-steinke.com/#talks-events) and articles, feel free to [support me on patreon](https://www.patreon.com/ingosteinke), [buy me a coffee](https://www.buymeacoffee.com/ingosteinke) or [hire me as a freelancer](https://www.ingo-steinke.com/#contact).
15 changes: 15 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
echo "build theme distribution $1 ..."
mkdir -pv build/intellij-orange-rain-light-theme
rm -rf build/intellij-orange-rain-light-theme/*
mkdir -pv build/intellij-orange-rain-light-theme/lib
mkdir -pv build/intellij-orange-rain-light-theme-$1
cp -rv src/main/resources/* build/intellij-orange-rain-light-theme-$1/
cd build
cd intellij-orange-rain-light-theme-$1
zip -rv ../intellij-orange-rain-light-theme/lib/intellij-orange-rain-light-theme-$1.jar ./*
cd ..
mkdir -pv distributions
zip -rv distributions/intellij-orange-rain-light-theme-$1.zip.tmp intellij-orange-rain-light-theme
rm -f distributions/intellij-orange-rain-light-theme-$1.zip
mv distributions/intellij-orange-rain-light-theme-$1.zip.tmp distributions/intellij-orange-rain-light-theme-$1.zip
echo "done"
Binary file not shown.
8 changes: 8 additions & 0 deletions detekt-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Default detekt configuration:
# https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml

formatting:
Indentation:
continuationIndentSize: 8
ParameterListWrapping:
indentSize: 8
13 changes: 13 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "intellij-orange-rain-light-theme",
"version": "1.0.0",
"description": "theme for JetBrains IDE editors like PhpStorm or IntelliJ IDEA",
"scripts": {
"build": "./build.sh $npm_package_version"
},
"repository": {
"type": "git",
"url": "git+https://github.com/openmindculture/intellij-orange-rain-light-theme.git"
},
"author": "Ingo Steinke"
}
26 changes: 26 additions & 0 deletions palette-info.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
.orange_rain {
--white: #ffffff;
--sepiaLight: #F9F5D5;
--foxYellowOrange: #E49000;
--deepYellowOrange: #E49d41;
--lightWood: #E3CA98;
--lighterWood: #f7deb6;
--sepiaOrangeLight: #ffe8b7;
--sepiaOrangeDeep: #ffb37a;
--orangeSalmon: #F29463;
--orangeLight: #FD9649;
--deepOrange: #F38300;
--deepWood: #783d00;
--reddishWood: #A95424;
--midnightBlackVinyl: #040A19;
--vinylBlueGray: #3A5477;
--midnightBlue: #223255;
--neonBlueDark: #6061FF;
--neonBlueLight: #3581FF;
--neonBlueBeff: #49BEFF;
--pinkPurleShirt: #E0D1E3;
--GUTTER_BACKGROUND: #FD9649;
--GUTTER_FOREGROUND: #800E34;
}


Binary file added screenshot-moodboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot-orange-rain-light-theme-classic-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot-orange-rain-light-theme-new-ui-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot-orange-rain-light-theme-new-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot-orange-rain-light-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot-palette.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rootProject.name = "intellij-orange-rain-theme"
9 changes: 9 additions & 0 deletions src/main/resources/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Manifest-Version: 1.0
Created-By: Gradle 7.5.0
Build-JVM: 17.0.4.1 (JetBrains s.r.o. 17.0.4.1+7-b469.62)
Version: 1.0.0
Build-Plugin: Gradle IntelliJ Plugin
Build-Plugin-Version: 1.10.0
Build-OS: Linux 6.5.0-10022-tuxedo amd64
Build-SDK: 2022.2-IC

21 changes: 21 additions & 0 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<idea-plugin url="https://github.com/openmindculture/intellij-cute-pink-light-theme">
<name>Orange Rain Light Theme</name>
<id>com.github.openmindculture.intellijorangerainlighttheme</id>
<description>Orange Rain Light Theme for IntelliJ Platform</description>
<change-notes>Stable theme release tested with 2024.1</change-notes>
<version>1.0.0</version>
<vendor url="https://github.com/openmindculture/">Ingo Steinke (openmindculture)</vendor>

<!-- Compatible with the following versions of IntelliJ Platform:
version 2020.2 and newer. -->
<idea-version since-build="202" />

<!-- Product and plugin compatibility requirements -->
<!-- https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html -->
<!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. -->
<depends>com.intellij.modules.platform</depends>

<extensions defaultExtensionNs="com.intellij">
<themeProvider id="org.jetbrains.plugins.orange_rain_lighttheme" path="/orange_rain_light.theme.json"/>
</extensions>
</idea-plugin>
10 changes: 10 additions & 0 deletions src/main/resources/META-INF/pluginIcon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions src/main/resources/orange_rain_light.theme.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"name": "Orange Rain Light",
"dark": false,
"author": "Ingo Steinke (openmindculture)",
"editorScheme": "/orange_rain_light.xml",
"colors": {
"white": "#ffffff",
"sepiaLight": "#F9F5D5",
"foxYellowOrange": "#E49000",
"deepYellowOrange": "#E49d41",
"lightWood": "#E3CA98",
"lighterWood": "#f7deb6",
"sepiaOrangeLight": "#ffe8b7",
"sepiaOrangeDeep": "#ffb37a",
"orangeSalmon": "#F29463",
"orangeLight": "#FD9649",
"deepOrange": "#F38300",
"deepWood": "#783d00",
"reddishWood": "#A95424",
"midnightBlackVinyl": "#040A19",
"vinylBlueGray": "#3A5477",
"midnightBlue": "#223255",
"neonBlueDark": "#6061FF",
"neonBlueLight": "#3581FF",
"neonBlueBeff": "#49BEFF",
"pinkPurleShirt": "#E0D1E3"
},
"ui": {
"*": {
"background": "sepiaOrangeLight",
"selectedBackground": "sepiaOrangeDeep",
"hoverBackground": "lighterWood",
"foreground": "reddishWood",
"disabledText": "deepYellowOrange",
"selectionBackground": "deepOrange",
"selectionForeground": "sepiaLight",
"underlineColor": "deepYellowOrange",
"errorFocusColor": "deepOrange"
},
"Editor.background": "sepiaOrangeLight",
"Button.default.foreground": "sepiaLight",
"Borders": {
"color": "neonBlueBeff",
"ContrastBorderColor": "neonBlueLight"
},
"Panel.foreground": "vinylBlueGray",
"Panel.foreground.hover": "midnightBlackVinyl",
"Panel.hoverForeground": "midnightBlackVinyl",
"ScrollPane.background": "orangeLight",
"ScrollPane.foreground": "midnightBlackVinyl",
"TextArea.foreground": "midnightBlackVinyl",
"TextField.background": "sepiaOrangeDeep",
"TextField.foreground": "midnightBlackVinyl",
"TextField.inactiveForeground": "midnightBlackVinyl",
"Viewport.foreground": "midnightBlackVinyl"
}
}
6 changes: 6 additions & 0 deletions src/main/resources/orange_rain_light.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<scheme name="orange_rain_light" version="142" parent_scheme="Default">
<colors>
<option name="GUTTER_BACKGROUND" value="FD9649" />
<option name="GUTTER_FOREGROUND" value="800E34" />
</colors>
</scheme>

0 comments on commit d514636

Please sign in to comment.