aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio')
-rw-r--r--scripts/theme-studio/Makefile2
-rw-r--r--scripts/theme-studio/build-theme.el10
2 files changed, 7 insertions, 5 deletions
diff --git a/scripts/theme-studio/Makefile b/scripts/theme-studio/Makefile
index d98478aef..374c7fb1b 100644
--- a/scripts/theme-studio/Makefile
+++ b/scripts/theme-studio/Makefile
@@ -99,5 +99,5 @@ ifndef JSON
endif
@$(MAKE) theme JSON='$(JSON)' OUT='$(OUT)' EMACS='$(EMACS)'
@theme_name='$(THEME)'; \
- if [ -z "$$theme_name" ]; then theme_name="$$(python3 -c 'import json,sys; print(json.load(open(sys.argv[1]))["name"])' '$(JSON)')"; fi; \
+ if [ -z "$$theme_name" ]; then theme_name="$$(basename '$(JSON)' .json)"; fi; \
$(MAKE) theme-load THEME="$$theme_name" OUT='$(OUT)' EMACSCLIENT='$(EMACSCLIENT)'
diff --git a/scripts/theme-studio/build-theme.el b/scripts/theme-studio/build-theme.el
index 786a3d960..827129976 100644
--- a/scripts/theme-studio/build-theme.el
+++ b/scripts/theme-studio/build-theme.el
@@ -246,11 +246,13 @@ Signal a `file-missing' error when JSON-FILE does not exist."
(defun build-theme/convert-file (json-file &optional out-dir)
"Convert JSON-FILE (a theme.json export) into a deftheme file.
-Write themes/<name>-theme.el, where <name> is the JSON name field, into
-OUT-DIR (default: the themes/ directory of this repo). Return the written
-path."
+Write themes/<name>-theme.el, where <name> is JSON-FILE's basename, into
+OUT-DIR (default: the themes/ directory of this repo). The basename names the
+theme so each export lands under its own file (sterling.json -> sterling-theme.el),
+rather than colliding on whatever the JSON's internal name field happens to be.
+Return the written path."
(let* ((data (build-theme/--parse json-file))
- (name (build-theme/--obj-get data 'name))
+ (name (file-name-base json-file))
(specs (build-theme/--all-specs data))
(dir (or out-dir
(expand-file-name