habaki 0.5.5 → 0.5.8

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: 9308e4a60c00b0a7fa4eefd07b3d90a10c31d4331d0b6d30f4ddfbbb50f956bb
4
- data.tar.gz: 4ae3a2400c1c6a76dffe30f69e548bf518d8a6d1997951261ec4f99be9494c59
3
+ metadata.gz: 53fe14ebdd6dd692db34dc3a59a3dbe2fc9761d085cd1bcd756080e06483e4c0
4
+ data.tar.gz: 6481a5a4591a6e6ebbea3eb6e241eac1baa48ca9812541d8cef184e10f2800a4
5
5
  SHA512:
6
- metadata.gz: c197ef464e17297a07070d620fd934948f315a75e1047b3cc620f6e9b74a880758bdaa185dd61c2b1c6b60f7d527b42e61830d6d91bfeef000ab6fbdd8909c4f
7
- data.tar.gz: a800968b456fb15162cfa1d1180b2b063cd5821bcc59d14206869484ea633b0d305731bbc976143fa4069f5aa47488859de80a0b8e2ec48124da81090b80bdeb
6
+ metadata.gz: ce923e584db6917510237761e67f3bdc9ac3153f220ace405a2a9ab2eb7940321239e844d9f7ded97290961780e79aa005cbd7c3962bf68c6f294651d514b73e
7
+ data.tar.gz: d3befa18c61f461d0f568a859e93d465248990938d9ecf7bd13109887debeb1b3a753a7fe8ee5ad5cdc9ea9dba3062f1d6dd3ab01b2c7181c9b3f906b8f3111e
@@ -281,8 +281,7 @@ VALUE rb_value_value(VALUE self)
281
281
  case KATANA_VALUE_VH:
282
282
  case KATANA_VALUE_VMIN:
283
283
  case KATANA_VALUE_VMAX:
284
- // printf("KATANA: %s %d %f\n", c_val->raw, c_val->iValue, c_val->fValue);
285
- // val = rb_str_new2(c_val->raw);
284
+ case KATANA_VALUE_FR:
286
285
  val = rb_float_new(c_val->fValue);
287
286
  break;
288
287
  case KATANA_VALUE_IDENT:
@@ -742,14 +742,14 @@ static const yytype_int16 yyrline[] =
742
742
  1548, 1549, 1555, 1556, 1558, 1559, 1560, 1561, 1562, 1563,
743
743
  1569, 1570, 1571, 1575, 1579, 1580, 1581, 1582, 1583, 1584,
744
744
  1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594,
745
- 1595, 1596, 1597, 1598, 1599, 1602, 1603, 1604, 1605, 1606,
746
- 1607, 1608, 1609, 1610, 1614, 1617, 1620, 1626, 1627, 1631,
747
- 1634, 1637, 1640, 1645, 1647, 1651, 1657, 1663, 1667, 1672,
748
- 1677, 1681, 1684, 1691, 1692, 1696, 1700, 1706, 1707, 1711,
749
- 1712, 1713, 1714, 1715, 1719, 1722, 1723, 1724, 1731, 1734,
750
- 1735, 1736, 1740, 1743, 1744, 1748, 1754, 1760, 1764, 1767,
751
- 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1770, 1775, 1780,
752
- 1782, 1783, 1784, 1785, 1788, 1790, 1791, 1792
745
+ 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604,
746
+ 1605, 1606, 1607, 1608, 1612, 1615, 1618, 1624, 1625, 1629,
747
+ 1632, 1635, 1638, 1643, 1645, 1649, 1655, 1661, 1665, 1670,
748
+ 1675, 1679, 1682, 1689, 1690, 1694, 1698, 1704, 1705, 1709,
749
+ 1710, 1711, 1712, 1713, 1717, 1720, 1721, 1722, 1729, 1732,
750
+ 1733, 1734, 1738, 1741, 1742, 1746, 1752, 1758, 1762, 1765,
751
+ 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1768, 1773, 1778,
752
+ 1780, 1781, 1782, 1783, 1786, 1788, 1789, 1790
753
753
  };
754
754
  #endif
755
755
 
@@ -3982,9 +3982,7 @@ yyreduce:
3982
3982
  break;
3983
3983
 
3984
3984
  case 304:
3985
- {
3986
- (yyval.value) = katana_new_dimension_value(parser, &(yyvsp[0].number), KATANA_VALUE_REMS);
3987
- }
3985
+ { (yyval.value) = katana_new_dimension_value(parser, &(yyvsp[0].number), KATANA_VALUE_REMS); }
3988
3986
  break;
3989
3987
 
3990
3988
  case 305:
@@ -1516,6 +1516,7 @@ static const char* katana_stringify_value(KatanaParser* parser, KatanaValue* val
1516
1516
  case KATANA_VALUE_VH:
1517
1517
  case KATANA_VALUE_VMIN:
1518
1518
  case KATANA_VALUE_VMAX:
1519
+ case KATANA_VALUE_FR:
1519
1520
  snprintf(str, sizeof(str), "%s", value->raw);
1520
1521
  break;
1521
1522
  case KATANA_VALUE_IDENT:
@@ -146,6 +146,7 @@ int katana_tokenize(KATANASTYPE* lval , KATANALTYPE* loc, yyscan_t scanner, Kata
146
146
  case KATANA_CSS_VH:
147
147
  case KATANA_CSS_VMIN:
148
148
  case KATANA_CSS_VMAX:
149
+ case KATANA_CSS_FR:
149
150
  length--;
150
151
  case KATANA_CSS_SECS:
151
152
  case KATANA_CSS_PERCENTAGE:
@@ -46,7 +46,8 @@ module Habaki
46
46
  when 4
47
47
  values = declaration.values
48
48
  else
49
- raise ArgumentError, "Cannot parse #{declaration.values}"
49
+ # "Habaki error: Cannot parse #{property}: #{declaration.values} (#{declaration.values.length} values)"
50
+ next
50
51
  end
51
52
 
52
53
  replacement = [top, right, bottom, left].zip(values).to_h
data/lib/habaki/rules.rb CHANGED
@@ -34,20 +34,25 @@ module Habaki
34
34
  end
35
35
 
36
36
  def lookup_rules(args, tag_name, class_name, id_name, &block)
37
- class_or_id = nil
38
- class_or_id = ".#{class_name}" if class_name
39
- class_or_id = "##{id_name}" if id_name
40
-
41
37
  @hash_tree[args].dig(tag_name, nil)&.each do |rule|
42
38
  block.call rule
43
39
  end
44
40
 
45
- @hash_tree[args].dig("*", class_or_id)&.each do |rule|
46
- block.call rule
47
- end
41
+ classes_names = [nil]
42
+ classes_names = class_name.split(" ") if class_name
48
43
 
49
- @hash_tree[args].dig(tag_name, class_or_id)&.each do |rule|
50
- block.call rule
44
+ classes_names.each do |p_class_name|
45
+ class_or_id = nil
46
+ class_or_id = ".#{p_class_name}" if p_class_name
47
+ class_or_id = "##{id_name}" if id_name
48
+
49
+ @hash_tree[args].dig("*", class_or_id)&.each do |rule|
50
+ block.call rule
51
+ end
52
+
53
+ @hash_tree[args].dig(tag_name, class_or_id)&.each do |rule|
54
+ block.call rule
55
+ end
51
56
  end
52
57
  end
53
58
 
@@ -44,7 +44,8 @@ module Habaki
44
44
  when :tag
45
45
  tag_match?(element.tag_name, specificity)
46
46
  when :class
47
- class_match?(element.class_name, specificity)
47
+ classes_names = element.class_name ? element.class_name.split(" ") : [nil]
48
+ classes_names.map{|p_class_name| class_match?(p_class_name, specificity)}.any?
48
49
  when :id
49
50
  id_match?(element.id_name, specificity)
50
51
  when :pseudo_class
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: habaki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Boulnois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-17 00:00:00.000000000 Z
11
+ date: 2022-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri