Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ The editor scheme is dark (parented on Darcula), so it inherits Darcula for any

#### IDE theme (Appearance) — installable plugin

The UI theme in `jetbrains/madeofcode.theme.json` recolors the whole IDE chrome to match, and references the editor scheme above so both stay in sync. JetBrains loads UI themes from plugins, so `jetbrains/plugin/` packages it as one you can install directly.
The UI theme in `jetbrains/madeofcode.theme.json` recolors the whole IDE chrome to match, and references the editor scheme above so both stay in sync. JetBrains loads UI themes from plugins, so `jetbrains/plugin/` packages it as one you can install directly. The plugin bundles all three variants — **madeofcode**, **madeofcode-protan**, and **madeofcode-tritan** — each with its matching editor scheme.

Build the plugin zip (no Gradle needed — a theme is pure resources, so it just needs a JDK on your `PATH` for `jar`):

Expand All @@ -83,15 +83,15 @@ cd jetbrains/plugin
./build.sh
```

This produces `jetbrains/plugin/dist/madeofcode-theme-1.0.0.zip`. To install it:
This produces `jetbrains/plugin/dist/madeofcode-theme-1.1.0.zip`. To install it:

1. **Settings → Plugins**
2. Click the gear icon → **Install Plugin from Disk…**
3. Select `jetbrains/plugin/dist/madeofcode-theme-1.0.0.zip`
3. Select `jetbrains/plugin/dist/madeofcode-theme-1.1.0.zip`
4. Restart the IDE when prompted.
5. Choose **madeofcode** under **Settings → Appearance & Behavior → Appearance → Theme**.
5. Choose **madeofcode** (or **madeofcode-protan** / **madeofcode-tritan**) under **Settings → Appearance & Behavior → Appearance → Theme**.

Selecting the theme automatically applies the matching editor color scheme (via the `editorScheme` field in the theme). The build script regenerates the theme resources from the source `madeofcode.theme.json` and `madeofcode.icls`, so those two files remain the single source of truth.
Selecting a theme automatically applies its matching editor color scheme (via the `editorScheme` field in the theme). The build script regenerates the theme resources from the source `*.theme.json` and `*.icls` files in `jetbrains/`, so those remain the single source of truth.

### VS Code

Expand Down
13 changes: 7 additions & 6 deletions jetbrains/plugin/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@ echo "Building ${PLUGIN_NAME} theme plugin v${VERSION}"
rm -rf "$BUILD" "$DIST"
mkdir -p "$RES/theme" "$BUILD/lib" "$DIST"

# Copy the editor color scheme verbatim.
cp "$SRC/madeofcode.icls" "$RES/theme/madeofcode.icls"

# Copy the UI theme, pointing editorScheme at the in-plugin resource path.
sed 's#"editorScheme": *"[^"]*"#"editorScheme": "/theme/madeofcode.icls"#' \
"$SRC/madeofcode.theme.json" > "$RES/theme/madeofcode.theme.json"
# For each variant: copy the editor color scheme verbatim, and copy the UI
# theme with editorScheme rewritten to the in-plugin resource path.
for variant in madeofcode madeofcode-protan madeofcode-tritan; do
cp "$SRC/${variant}.icls" "$RES/theme/${variant}.icls"
sed "s#\"editorScheme\": *\"[^\"]*\"#\"editorScheme\": \"/theme/${variant}.icls\"#" \
"$SRC/${variant}.theme.json" > "$RES/theme/${variant}.theme.json"
done

# Jar the resources (plugin.xml + theme files).
jar --create --file "$BUILD/lib/${PLUGIN_NAME}-theme.jar" -C "$RES" .
Expand Down
15 changes: 12 additions & 3 deletions jetbrains/plugin/src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
<idea-plugin>
<id>com.madeofcode.theme</id>
<name>madeofcode</name>
<version>1.0.0</version>
<version>1.1.0</version>
<vendor>madeofcode</vendor>

<description><![CDATA[
<p><b>madeofcode</b> — a dark theme on a deep indigo background with vivid,
high-contrast accents. Reproduces the TextMate theme madeofcode across
JetBrains IDEs, theming both the editor syntax and the full IDE UI.</p>
<p>After installing, select <b>madeofcode</b> under
<p>Ships three variants: <b>madeofcode</b>, plus colorblind-safe
<b>madeofcode-protan</b> and <b>madeofcode-tritan</b>.</p>
<p>After installing, select one under
<b>Settings &rarr; Appearance &amp; Behavior &rarr; Appearance &rarr; Theme</b>.</p>
]]></description>

<change-notes><![CDATA[
<ul><li>1.0.0 — Initial release: IDE theme + matching editor color scheme.</li></ul>
<ul>
<li>1.1.0 — Package the protan and tritan colorblind-safe variants.</li>
<li>1.0.0 — Initial release: IDE theme + matching editor color scheme.</li>
</ul>
]]></change-notes>

<!-- Themes are UI-only; compatible with all IntelliJ-platform IDEs. -->
Expand All @@ -24,5 +29,9 @@
<extensions defaultExtensionNs="com.intellij">
<themeProvider id="com.madeofcode.theme"
path="/theme/madeofcode.theme.json"/>
<themeProvider id="com.madeofcode.theme.protan"
path="/theme/madeofcode-protan.theme.json"/>
<themeProvider id="com.madeofcode.theme.tritan"
path="/theme/madeofcode-tritan.theme.json"/>
</extensions>
</idea-plugin>