bridgetown-routes 1.3.0.beta1 → 1.3.0.beta2

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: 7680b47ada9e0bd8c8cc83fe466cad48c9cef456d8bcc35aaa834e9667ebc062
4
- data.tar.gz: ff02c996ca420933d0416b00cb3a6468dd258da0756524ab76395132c44134d4
3
+ metadata.gz: 63095e5a9aa30c225d1bb261d8084ba547268b8fbe008321259dcdde5a88cb8b
4
+ data.tar.gz: 689739c2c7bde0c94892655c507e580bf3cce83807a64507ddd3c05f41cc0d51
5
5
  SHA512:
6
- metadata.gz: 7cd30eb9153c26f7502e598788e5a1b9612103a22a9017bc2817f6477d6db2edb5fe68f11d542a2a3256be33b96b456b0f4ccb60c99d4c13f46d373d8e5bba52
7
- data.tar.gz: 76dbfd075066d08ff1a7779bb53bd8d1a9b107029251308ce82b8c44538d8decd404d0cb82be3911cd9a5d89cf93a8b0f08af508fd70b3599366299836b180fa
6
+ metadata.gz: b4d72eba92b2ca4c7df0932ee9e502eea7405679228a1f36ab6061451cfff5b744d63277e409280f2b33da7a95e5fba8931aa56ee8e4d22a8d3a922bb257f9d9
7
+ data.tar.gz: 2c8eefae612e4f07b935c3b7b063b186c637fb1f6de2c5970ea4db8d237454b19ce23af880d3ba9d2375b5890a9107971024d88cbcdc099f57d23bd10d0d72f3
@@ -4,7 +4,7 @@ module Bridgetown
4
4
  module Routes
5
5
  module Manifest
6
6
  class << self
7
- def generate_manifest(site) # rubocop:todo Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
7
+ def generate_manifest(site) # rubocop:todo Metrics/AbcSize, Metrics/CyclomaticComplexity
8
8
  return @route_manifest[site.label] if @route_manifest && Bridgetown.env.production?
9
9
 
10
10
  new_manifest = []
@@ -22,15 +22,7 @@ module Bridgetown
22
22
  next
23
23
  end
24
24
 
25
- # @type [String]
26
- file_slug = file.delete_prefix("#{routes_dir}/").then do |f|
27
- [File.dirname(f), File.basename(f, ".*")].join("/").delete_prefix("./")
28
- end.delete_suffix("/index")
29
- segment_keys = []
30
- file_slug.gsub!(%r{\[([^/]+)\]}) do |_segment|
31
- segment_keys << Regexp.last_match(1)
32
- ":#{Regexp.last_match(1)}"
33
- end
25
+ file_slug, segment_keys = file_slug_and_segments(site, routes_dir, file)
34
26
 
35
27
  # generate localized file slugs
36
28
  localized_file_slugs = generate_localized_file_slugs(site, file_slug)
@@ -74,6 +66,25 @@ module Bridgetown
74
66
 
75
67
  private
76
68
 
69
+ def file_slug_and_segments(site, routes_dir, file)
70
+ # @type [String]
71
+ file_slug = file.delete_prefix("#{routes_dir}/").then do |f|
72
+ if routes_dir.start_with?(
73
+ File.expand_path(site.config[:islands_dir], site.config.source)
74
+ )
75
+ f = "#{site.config[:islands_dir].delete_prefix("_")}/#{f}"
76
+ end
77
+ [File.dirname(f), File.basename(f, ".*")].join("/").delete_prefix("./")
78
+ end.delete_suffix("/index")
79
+ segment_keys = []
80
+ file_slug.gsub!(%r{\[([^/]+)\]}) do |_segment|
81
+ segment_keys << Regexp.last_match(1)
82
+ ":#{Regexp.last_match(1)}"
83
+ end
84
+
85
+ [file_slug, segment_keys]
86
+ end
87
+
77
88
  def generate_localized_file_slugs(site, file_slug)
78
89
  site.config.available_locales.map do |locale|
79
90
  if locale == site.config.default_locale && !site.config.prefix_default_locale
@@ -15,7 +15,7 @@ Bridgetown.initializer :"bridgetown-routes" do |config|
15
15
  config.init :ssr # ensure we already have touchdown!
16
16
 
17
17
  config.routes ||= {}
18
- config.routes.source_paths ||= ["_routes"]
18
+ config.routes.source_paths ||= ["_routes", "#{config.islands_dir}/routes"]
19
19
  config.routes.extensions ||= %w(rb md serb erb liquid)
20
20
 
21
21
  config.only :server do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown-routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.beta1
4
+ version: 1.3.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bridgetown Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-01 00:00:00.000000000 Z
11
+ date: 2023-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bridgetown-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.0.beta1
19
+ version: 1.3.0.beta2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.0.beta1
26
+ version: 1.3.0.beta2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: roda-route_list
29
29
  requirement: !ruby/object:Gem::Requirement