vstheme2scss 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vstheme2scss/converter.rb +21 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55516761c0e823c6aea0fdb0142bf8d4ccaeb0a2c9001e6350df6c66c6256aa9
|
4
|
+
data.tar.gz: 74685ac3d99dccbe0e594dffb3e42470196a8386b902ffb7ffefaefdf873845d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 132bfbd800793de519a622dfd6cc5bc2a185b738cd5774cdb2b94fc75b81761c72dad932a9ebd3c48cc7b4c5b22ab1b666764c0d8dc783ea4ebf30ded38873b5
|
7
|
+
data.tar.gz: eb642872a5cd5859018447d6e0df28eb755e8fd3bc7d08e688b15cb8a525faaa5f606549974c78d1fe9203aa480dd86d1744af8b8bb3b772744f33ebf96eaa9d
|
@@ -1,7 +1,9 @@
|
|
1
1
|
require "json"
|
2
2
|
require "pathname"
|
3
3
|
|
4
|
+
|
4
5
|
module Converter
|
6
|
+
|
5
7
|
def build_tokens_scss(tokens)
|
6
8
|
tokens.select{ |token|
|
7
9
|
token.key?("name")
|
@@ -46,11 +48,28 @@ module Converter
|
|
46
48
|
exit
|
47
49
|
end
|
48
50
|
|
51
|
+
theme_logic = "\n" + '@mixin themify($themes) {' + "\n"\
|
52
|
+
' @each $theme, $map in $themes {' + "\n"\
|
53
|
+
' .theme-#{$theme} & {' + "\n"\
|
54
|
+
' $theme-map: () !global;' + "\n"\
|
55
|
+
' @each $key, $submap in $map {' + "\n"\
|
56
|
+
' $value: map-get(map-get($themes, $theme), "#{$key}");' + "\n"\
|
57
|
+
' $theme-map: map-merge($theme-map, ($key: $value)) !global;' + "\n"\
|
58
|
+
' }' + "\n"\
|
59
|
+
' @content;' + "\n"\
|
60
|
+
' $theme-map: null !global;' + "\n"\
|
61
|
+
' }' + "\n"\
|
62
|
+
' }' + "\n"\
|
63
|
+
'}' + "\n"\
|
64
|
+
'' + "\n"\
|
65
|
+
'@function themed($key) {' + "\n"\
|
66
|
+
' @return map-get($theme-map, $key);' + "\n"\
|
67
|
+
'}'
|
68
|
+
|
49
69
|
out_path = Pathname.new(options[:out_file])
|
50
70
|
json_res = theme_files_to_hash(themes)
|
51
71
|
out_res = json_res.map{ |theme| build_scss_theme(theme) }.join("\n")
|
52
|
-
|
53
|
-
out_path.write("$themes: (\n#{out_res}\n);\n#{themify_file.read}")
|
72
|
+
out_path.write("$themes: (\n#{out_res}\n);\n#{theme_logic}")
|
54
73
|
|
55
74
|
if options[:json_list]
|
56
75
|
json_out_path = Pathname.new(options[:json_list])
|