From 141138ebea9a7b691d3cdb967ce032926030dd10 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 23 Apr 2020 18:16:57 +0200 Subject: [PATCH] IntelliJ Themes Pack: added readme --- CHANGELOG.md | 7 +- README.md | 4 +- .../IJThemesClassGenerator.java | 12 +- flatlaf-intellij-themes/README.md | 108 ++++++++++++++++++ flatlaf-theme-editor/README.md | 4 + 5 files changed, 130 insertions(+), 5 deletions(-) create mode 100644 flatlaf-intellij-themes/README.md create mode 100644 flatlaf-theme-editor/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 703a5554..ad04f6b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,13 @@ FlatLaf Change Log ## 0.32 -- ToggleButton: Compute selected background color based on current component - background. (issue #32) +- New [IntelliJ Themes Pack](flatlaf-intellij-themes) addon bundles many popular + open-source 3rd party themes from JetBrains Plugins Repository into a JAR and + provides Java classes to use them. - IntelliJ Themes: Fixed button and toggle button colors. (issue #86) - Updated IntelliJ Themes in demo to the latest versions. +- ToggleButton: Compute selected background color based on current component + background. (issue #32) ## 0.31 diff --git a/README.md b/README.md index c1f0fe1c..07fd04fe 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,8 @@ IntelliJ IDEA 2019.2+ and uses almost the same colors and icons. IntelliJ Platform Themes ------------------------ -FlatLaf can use 3rd party themes created for IntelliJ Platform: +FlatLaf can use 3rd party themes created for IntelliJ Platform (see +[IntelliJ Themes Pack](flatlaf-intellij-themes)): ![Cyan Light Demo](images/CyanLightDemo.png) @@ -70,6 +71,7 @@ Addons - [SwingX](flatlaf-swingx) - [JIDE Common Layer](flatlaf-jide-oss) +- [IntelliJ Themes Pack](flatlaf-intellij-themes) Projects using FlatLaf diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java index e67c27fd..6a1e3ac6 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java @@ -37,20 +37,25 @@ public class IJThemesClassGenerator String toPath = "../flatlaf-intellij-themes/src/main/java" + IJThemesPanel.THEMES_PACKAGE + ".."; StringBuilder allInfos = new StringBuilder(); + StringBuilder markdownTable = new StringBuilder(); + markdownTable.append( "Name | Class\n" ); + markdownTable.append( "-----|------\n" ); for( IJThemeInfo ti : themesManager.bundledThemes ) { if( ti.sourceCodeUrl == null || ti.sourceCodePath == null ) continue; - generateClass( ti, toPath, allInfos ); + generateClass( ti, toPath, allInfos, markdownTable ); } Path out = new File( toPath, "FlatAllIJThemes.java" ).toPath(); String allThemes = CLASS_HEADER + ALL_THEMES_TEMPLATE.replace( "${allInfos}", allInfos ); writeFile( out, allThemes ); + + System.out.println( markdownTable ); } - private static void generateClass( IJThemeInfo ti, String toPath, StringBuilder allInfos ) { + private static void generateClass( IJThemeInfo ti, String toPath, StringBuilder allInfos, StringBuilder markdownTable ) { String resourceName = ti.resourceName; String resourcePath = null; int resSep = resourceName.indexOf( '/' ); @@ -97,6 +102,9 @@ public class IJThemesClassGenerator .replace( "${subPackage}", subPackage ) .replace( "${themeClass}", themeClass ) .replace( "${themeName}", name ) ); + + markdownTable.append( String.format( "[%s](%s) | `com.formdev.flatlaf.intellijthemes%s.%s`\n", + name, ti.sourceCodeUrl, subPackage, themeClass ) ); } private static void writeFile( Path out, String content ) { diff --git a/flatlaf-intellij-themes/README.md b/flatlaf-intellij-themes/README.md new file mode 100644 index 00000000..a5664d47 --- /dev/null +++ b/flatlaf-intellij-themes/README.md @@ -0,0 +1,108 @@ +FlatLaf IntelliJ Themes Pack +============================ + +This addon for FlatLaf bundles many popular open-source 3rd party themes from +JetBrains Plugins Repository into a JAR and provides Java classes to use them. + +Use [FlatLaf Demo](https://github.com/JFormDesigner/FlatLaf#demo) to try them +out. + + +Download +-------- + +FlatLaf IntelliJ Themes Pack binaries are available on **JCenter** and **Maven +Central**. + +If you use Maven or Gradle, add a dependency with following coordinates to your +build script: + + groupId: com.formdev + artifactId: flatlaf-intellij-themes + version: (see button below) + +Otherwise download `flatlaf-intellij-themes-.jar` here: + +[![Download](https://api.bintray.com/packages/jformdesigner/flatlaf/flatlaf-intellij-themes/images/download.svg)](https://bintray.com/jformdesigner/flatlaf/flatlaf-intellij-themes/_latestVersion) + +You also need `flatlaf-.jar`, which you can download here: + +[![Download](https://api.bintray.com/packages/jformdesigner/flatlaf/flatlaf/images/download.svg)](https://bintray.com/jformdesigner/flatlaf/flatlaf/_latestVersion) + + +How to use? +----------- + +Choose a theme (see list below) and invoke its `install` method. E.g.: + +~~~java +FlatArcOrangeIJTheme.install(); +~~~ + + +Themes +------ + +This addon contains following themes. + +Name | Class +-----|------ +[Arc](https://gitlab.com/zlamalp/arc-theme-idea) | `com.formdev.flatlaf.intellijthemes.FlatArcIJTheme` +[Arc - Orange](https://gitlab.com/zlamalp/arc-theme-idea) | `com.formdev.flatlaf.intellijthemes.FlatArcOrangeIJTheme` +[Cyan light](https://github.com/OlyaB/CyanTheme) | `com.formdev.flatlaf.intellijthemes.FlatCyanLightIJTheme` +[Dark Flat](https://github.com/nerzhulart/DarkFlatTheme) | `com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme` +[Dark purple](https://github.com/OlyaB/DarkPurpleTheme) | `com.formdev.flatlaf.intellijthemes.FlatDarkPurpleIJTheme` +[Dracula](https://github.com/dracula/jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatDraculaIJTheme` +[Gradianto Dark Fuchsia](https://github.com/thvardhan/Gradianto) | `com.formdev.flatlaf.intellijthemes.FlatGradiantoDarkFuchsiaIJTheme` +[Gradianto Deep Ocean](https://github.com/thvardhan/Gradianto) | `com.formdev.flatlaf.intellijthemes.FlatGradiantoDeepOceanIJTheme` +[Gradianto Midnight Blue](https://github.com/thvardhan/Gradianto) | `com.formdev.flatlaf.intellijthemes.FlatGradiantoMidnightBlueIJTheme` +[Gray](https://github.com/OlyaB/GreyTheme) | `com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme` +[Gruvbox Dark Hard](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme` +[Gruvbox Dark Medium](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme` +[Gruvbox Dark Soft](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme` +[Hiberbee Dark](https://github.com/Hiberbee/code-highlight-themes) | `com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme` +[High contrast](https://github.com/OlyaB/HighContrastTheme) | `com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme` +[Light Flat](https://github.com/nerzhulart/LightFlatTheme) | `com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme` +[Material Design Dark](https://github.com/xinkunZ/NotReallyMDTheme) | `com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme` +[Monocai](https://github.com/bmikaili/intellij-monocai-theme) | `com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme` +[Nord](https://github.com/arcticicestudio/nord-jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatNordIJTheme` +[One Dark](https://github.com/one-dark/jetbrains-one-dark-theme) | `com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme` +[Solarized Dark](https://github.com/snowe2010/solarized-jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme` +[Solarized Light](https://github.com/snowe2010/solarized-jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme` +[Spacegray](https://github.com/mturlo/intellij-spacegray) | `com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme` +[Vuesion](https://github.com/vuesion/intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme` + +Material Theme UI Lite: + +Name | Class +-----|------ +[Arc Dark](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme` +[Arc Dark Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkContrastIJTheme` +[Atom One Dark](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme` +[Atom One Dark Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkContrastIJTheme` +[Atom One Light](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme` +[Atom One Light Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightContrastIJTheme` +[Dracula](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme` +[Dracula Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaContrastIJTheme` +[GitHub](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme` +[GitHub Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubContrastIJTheme` +[Light Owl](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme` +[Light Owl Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlContrastIJTheme` +[Material Darker](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme` +[Material Darker Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerContrastIJTheme` +[Material Deep Ocean](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme` +[Material Deep Ocean Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanContrastIJTheme` +[Material Lighter](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme` +[Material Lighter Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterContrastIJTheme` +[Material Oceanic](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme` +[Material Oceanic Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicContrastIJTheme` +[Material Palenight](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme` +[Material Palenight Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightContrastIJTheme` +[Monokai Pro](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme` +[Monokai Pro Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProContrastIJTheme` +[Night Owl](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme` +[Night Owl Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlContrastIJTheme` +[Solarized Dark](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme` +[Solarized Dark Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkContrastIJTheme` +[Solarized Light](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme` +[Solarized Light Contrast](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightContrastIJTheme` diff --git a/flatlaf-theme-editor/README.md b/flatlaf-theme-editor/README.md new file mode 100644 index 00000000..049861c7 --- /dev/null +++ b/flatlaf-theme-editor/README.md @@ -0,0 +1,4 @@ +FlatLaf Theme Editor +==================== + +under development \ No newline at end of file