sutty-liquid 0.11.0 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a57d48060de63b47e4d6f1f8dc2ad27f733ee725b7a55bf4d97a77f6be1db94
4
- data.tar.gz: dc74a6339cd2069f9f1ea796de1ee6965cc6955b19be601ad0b1d1da2187feea
3
+ metadata.gz: b85c3b8afb550ee71cfc8f66741b2359aa5555c6ffd1bb56a8c37b7d6fb7cb1a
4
+ data.tar.gz: 73e0cb289855212be762aaf241e407a871464cc719cdb223383b9d8fcc000058
5
5
  SHA512:
6
- metadata.gz: 8c64593338e53641d348e365496b7d800e34d987a16076e1829f25d76874fe7883c7ef3171839b0c4c424882ce5e5ee28fe425012775510d4f4c6173e6639b0a
7
- data.tar.gz: df1e86422ae685a43619b0586a2bf654b9b6697fddec9b8ce9c9c12d3d7b0a209c3c7bc27ea305156bfe489a53af3d22884bb74ef4ba3bf9838c8d61ae622757
6
+ metadata.gz: 34b14645893b8f886893fbb6ce88644681d78623cfb267c768742ef136ba57b2f203418e1bcfd974db8452101810cd4ece30fec7004624f5690e37ac1619a0cb
7
+ data.tar.gz: c5b5130bb38d45e645169a00e968ea0afff20954786f23007310c50c38522e715063432ccaf0eb9d1c064a429747dde9fc19040737870dd7e5021dd91d2d7ffb
@@ -7,23 +7,43 @@ module Jekyll
7
7
  # Converts a YAML object into SCSS. Only supports one level
8
8
  # values.
9
9
  #
10
- # @param :yaml [Hash]
10
+ # Optionally give it an schema to filter out keys.
11
+ #
12
+ # @param :yaml [Hash,Jekyll::Drops::DocumentDrop]
13
+ # @param :schema [Hash]
11
14
  # @return [String]
12
- def yaml_to_scss(yaml)
13
- yaml.map do |key, value|
15
+ def yaml_to_scss(yaml, schema = yaml)
16
+ yaml = yaml.to_h if yaml.is_a? Jekyll::Drops::DocumentDrop
17
+
18
+ unless yaml.is_a? Hash
19
+ raise Liquid::ArgumentError, "#{yaml.inspect} needs to be a Hash" if @context.strict_filters
20
+
21
+ return yaml
22
+ end
23
+
24
+ yaml.slice(*schema.keys).map do |key, value|
25
+ next if value.nil?
26
+
14
27
  key = key_to_scss key
15
28
 
16
29
  case value
17
30
  when Array
18
- "$#{key}: (#{value.join(',')},);"
31
+ values = value.compact.map(&:to_s).reject(:empty?)
32
+
33
+ "$#{key}: (#{values.join(',')},);"
19
34
  when Hash
20
35
  values =
21
36
  value.map do |k, v|
37
+ next if v.nil?
38
+ next if v.to_s.empty?
39
+
22
40
  "\"#{key_to_scss k}\": #{v}"
23
41
  end
24
42
 
25
43
  "$#{key}: (#{values.join(',')},);"
26
44
  else
45
+ next if value.to_s.empty?
46
+
27
47
  "$#{key}: #{value};"
28
48
  end
29
49
  end.join("\n")
data/lib/sutty-liquid.rb CHANGED
@@ -11,6 +11,7 @@ require_relative 'jekyll/filters/menu'
11
11
  require_relative 'jekyll/filters/number'
12
12
  require_relative 'jekyll/filters/strings'
13
13
  require_relative 'jekyll/filters/social_network'
14
+ require_relative 'jekyll/filters/yaml_to_scss'
14
15
 
15
16
  require_relative 'jekyll/filters/pry'
16
17
  require_relative 'jekyll/tags/pry'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sutty-liquid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - f