vstheme2scss 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vstheme2scss/converter.rb +21 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ff129b4d9e8a742c168c2a5531167a0170736c4082610dcb7b8b37fd085ecff
4
- data.tar.gz: b8b5042a3b6e743399abb17f330af9d4ecc59b4da6be5f716412483f013df669
3
+ metadata.gz: 55516761c0e823c6aea0fdb0142bf8d4ccaeb0a2c9001e6350df6c66c6256aa9
4
+ data.tar.gz: 74685ac3d99dccbe0e594dffb3e42470196a8386b902ffb7ffefaefdf873845d
5
5
  SHA512:
6
- metadata.gz: 7053e70a6512c44d48c2cecff9487d638e3cfc17df2fb244e88284d229eba2f2bafee507d91114977a2a5510c690552da599f8af4817a9c50f4603553b680eb8
7
- data.tar.gz: 8bdc2b4572e3207adaf598a71d3fa390e2297d0fc223695cc17d9eaf95013032418a30f0b05a845de7a5c0fc56994147e75985e4d19759e49835c72e923f4b20
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
- themify_file = Pathname.new(File.join(File.dirname(__FILE__), "themify.scss"))
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])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vstheme2scss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Kruhlmann