nanoc-dart-sass 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71ddac060520e3149a4caa4bdb0a605e1f123f281255d0e1691600b0eedfe440
4
- data.tar.gz: 2429ebae5cfead56edd001349c4493cbe696fe9b3662c793aa3003ac49ca50dc
3
+ metadata.gz: 00b8a5410aedb44c77a639f2607d9769df7d5fac58f331d576980b3958f362c5
4
+ data.tar.gz: 85e761f9c95f6c3f5cea82e438a7f7b1b3b7b92b4def0ad0beca8f5c96bade4d
5
5
  SHA512:
6
- metadata.gz: 4ee86ca61d395df8599e4effbf19b5cec3876a8c07f6cd07f48be1b9e2ca3e229c36d9ed2c3428407eef0f080757c24e0c75383468f6496d958813c17977ca57
7
- data.tar.gz: 8a9688ddf9f4faf94578d52eeedb18bcbb87d2efa3ce23433ace33b07ce37e70f528fc6561f5781f754827331de47882d5e9cfe145dd9491a273ed7ade8f0261
6
+ metadata.gz: 634b5c0a938d24fee988c2dd17de69ae97d0333da032ee48c3b99c4fb165693b4047353665838edd28976bb1cdd33012eb7df4a3b10a3650574a98e597ab6b7e
7
+ data.tar.gz: 6cf0ceccc71587928aecaa1322a23a40baaf15e4511f5085b40a00384805f2d7e00f093f878b1023804652f11916be82556fb07d258dedd313127ffce5761421
data/NEWS.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # nanoc-dart-sass news
2
2
 
3
+ ## 1.0.4 (2024-11-04)
4
+
5
+ Fixes:
6
+
7
+ - Fixed imports on Windows, by stripping drive identifier (#1703, #1716)
8
+
9
+ ## 1.0.3 (2024-04-19)
10
+
11
+ Enhancements:
12
+
13
+ - Added support for importing partials and directories (#1690, #1699)
14
+
3
15
  ## 1.0.2 (2023-09-30)
4
16
 
5
17
  - Fix dart-sass compatibility (#1664)
@@ -20,7 +20,7 @@ module Nanoc
20
20
  content,
21
21
  importer: NanocImporter.new(@items, item),
22
22
  **params,
23
- syntax: syntax,
23
+ syntax:,
24
24
  )
25
25
  result.css
26
26
  end
@@ -54,10 +54,7 @@ module Nanoc
54
54
  def find_item_for_url(url)
55
55
  pat = url.sub(/\Ananoc:/, '')
56
56
 
57
- # If URL has no extension, add `.*` at the end
58
- if pat.match?(%r{(/|^)[^.]+$})
59
- pat += '.*'
60
- end
57
+ is_extension_given = !pat.match?(%r{(/|^)[^.]+$})
61
58
 
62
59
  # Convert to absolute pattern
63
60
  pat =
@@ -65,16 +62,51 @@ module Nanoc
65
62
  pat
66
63
  else
67
64
  dirname = File.dirname(@source_item.identifier.to_s)
68
- File.expand_path(pat, dirname)
65
+ Nanoc::Core::Utils.expand_path_without_drive_identifier(pat, dirname)
69
66
  end
70
67
 
71
- item = @items[pat]
68
+ items = collect_items(pat, is_extension_given)
72
69
 
73
- unless item
70
+ # Get the single matching item, or error if there isn’t exactly one
71
+ items = items.compact
72
+ case items.size
73
+ when 0
74
74
  raise "Could not find an item matching pattern `#{pat}`"
75
+ when 1
76
+ items.first
77
+ else
78
+ raise "It is not clear which item to import. Multiple items match `#{pat}`: #{items.map { _1.identifier.to_s }.sort.join(', ')}"
79
+ end
80
+ end
81
+
82
+ # Given a pattern, return a collection of items that match this pattern.
83
+ # This goes beyond what Nanoc patterns typically support by e.g.
84
+ # supporting partials and index imports.
85
+ def collect_items(pat, is_extension_given)
86
+ items = []
87
+
88
+ # Try as a regular path
89
+ items.concat(try_pat(pat, is_extension_given))
90
+
91
+ # Try as a partial
92
+ partial_pat = File.join(File.dirname(pat), "_#{File.basename(pat)}")
93
+ items.concat(try_pat(partial_pat, is_extension_given))
94
+
95
+ # Try as index
96
+ unless is_extension_given
97
+ items.concat(@items.find_all(File.join(pat, '/index.*')))
98
+ items.concat(@items.find_all(File.join(pat, '/_index.*')))
75
99
  end
76
100
 
77
- item
101
+ items
102
+ end
103
+
104
+ def try_pat(pat, is_extension_given)
105
+ if is_extension_given
106
+ @items.find_all(pat)
107
+ else
108
+ @items.find_all("#{pat}.*")
109
+ end
78
110
  end
79
111
  end
80
112
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Nanoc
4
4
  module DartSass
5
- VERSION = '1.0.2'
5
+ VERSION = '1.0.4'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc-dart-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-30 00:00:00.000000000 Z
11
+ date: 2024-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nanoc-core
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.12'
19
+ version: '4.13'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.13.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '4.12'
29
+ version: '4.13'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.13.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: sass-embedded
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -51,11 +57,12 @@ files:
51
57
  - lib/nanoc/dart_sass.rb
52
58
  - lib/nanoc/dart_sass/filter.rb
53
59
  - lib/nanoc/dart_sass/version.rb
54
- homepage: https://nanoc.ws/
60
+ homepage: https://nanoc.app/
55
61
  licenses:
56
62
  - MIT
57
63
  metadata:
58
64
  rubygems_mfa_required: 'true'
65
+ source_code_uri: https://github.com/nanoc/nanoc/tree/nanoc-dart-sass-v1.0.4/nanoc-dart-sass
59
66
  post_install_message:
60
67
  rdoc_options: []
61
68
  require_paths:
@@ -64,14 +71,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
71
  requirements:
65
72
  - - ">="
66
73
  - !ruby/object:Gem::Version
67
- version: '2.7'
74
+ version: '3.1'
68
75
  required_rubygems_version: !ruby/object:Gem::Requirement
69
76
  requirements:
70
77
  - - ">="
71
78
  - !ruby/object:Gem::Version
72
79
  version: '0'
73
80
  requirements: []
74
- rubygems_version: 3.4.20
81
+ rubygems_version: 3.5.21
75
82
  signing_key:
76
83
  specification_version: 4
77
84
  summary: Dart Sass filter for Nanoc