bridgetown-routes 1.3.0.beta1 → 1.3.0.beta3

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: 06ddba03f7d6ba8e04a847739ff7f74c21f1beab3959809dcc8e14b8946f8696
4
+ data.tar.gz: b887fb1ef0bfce76a3d38c43070406b7f07901ae0f9dc9e3c679ac9385844653
5
5
  SHA512:
6
- metadata.gz: 7cd30eb9153c26f7502e598788e5a1b9612103a22a9017bc2817f6477d6db2edb5fe68f11d542a2a3256be33b96b456b0f4ccb60c99d4c13f46d373d8e5bba52
7
- data.tar.gz: 76dbfd075066d08ff1a7779bb53bd8d1a9b107029251308ce82b8c44538d8decd404d0cb82be3911cd9a5d89cf93a8b0f08af508fd70b3599366299836b180fa
6
+ metadata.gz: 257f408408efe0dade29d2be113cf0c290ddfbcf741592fb64991396ea8acdf1f57d9d46bf3b73542d285cf544480a466b94d7b655453c4df33a9836ba487dd6
7
+ data.tar.gz: d9e489a84391de73f637f691ee74f858aa614ec113e926a0d291914f72b1ab0152ea0139a578ec1a7ba1c2fa33083a5644b0d00431823a581468472c0d5945c0
@@ -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.beta3
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-19 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.beta3
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.beta3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: roda-route_list
29
29
  requirement: !ruby/object:Gem::Requirement