middleman-redirects 0.1.2 → 0.2.0

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
  SHA1:
3
- metadata.gz: d16f76c21e23765461c5a7e31bad4e41c8626511
4
- data.tar.gz: 0171c5fad36f7fe91b11b95647fcc80cf4b5e908
3
+ metadata.gz: 6e6d8e9f845a8cc57f8f303557f82600e52f4ed8
4
+ data.tar.gz: aaa494ed37ee623e3fbe37e598453d0c67c95b4c
5
5
  SHA512:
6
- metadata.gz: ceca494da9c387cab64beb0e900910ef44ae8213b1dcfabce31276faeb38437364f44e24c01bb4c1c508e8cd594344237f7acd613987c5e2b99690d5b4cc7b56
7
- data.tar.gz: af1d51d1f7accad503d4eec1f04d9a747b3af3fd6b524cd6415f21d87eb967ecbbf1d17d7eb65123b2e5c553cc44da55d718c271f51d684e9ee4fdf17c72ae93
6
+ metadata.gz: be1178019d46ea3c9d65196686c9db76cd17c2cfdf7111bb509ec960a2ede0019259dee5ff3954ca155ad7ee29b42107e5296edb895b142ecc120d5e007c60ee
7
+ data.tar.gz: 375a9ef39314dbb9c7612467df2823a8f334a79a50a36eb74534fd5fdeaae5f6bfc5d774488a5e23c84f461831dcc6cd2db90216c480f78162cb61aae2916309
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module Redirects
3
- VERSION = "0.1.2"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -6,10 +6,13 @@ module Middleman
6
6
  BLANK_RE = /\A[[:space:]]*\z/
7
7
 
8
8
  class Extension < Middleman::Extension
9
+ option :match_trailing_slashes, true, 'match source URI even when requested with a trailing slash'
10
+
9
11
  def initialize(app, options_hash={}, &block)
12
+ super
10
13
  app.use ::Middleman::Redirects::Middleware
14
+ ::Middleman::Redirects.match_trailing_slashes = options.match_trailing_slashes
11
15
  ::Middleman::Redirects.redirects_file_path = Pathname.new(app.root).join("REDIRECTS").freeze
12
- super
13
16
  end
14
17
  end
15
18
 
@@ -28,6 +31,10 @@ module Middleman
28
31
  end
29
32
  end
30
33
 
34
+ class << self
35
+ attr_accessor :match_trailing_slashes
36
+ end
37
+
31
38
  def self.redirects_file_path=(v)
32
39
  @redirects_file_path = v
33
40
  end
@@ -60,6 +67,18 @@ module Middleman
60
67
 
61
68
  [source.to_s, destination.to_s]
62
69
  end.compact]
70
+
71
+ autogenerated_redirects = {}
72
+
73
+ # duplicate redirect so it also matches URIs with a trailing slash
74
+ if self.match_trailing_slashes
75
+ @redirects.each do |source, destination|
76
+ next if source[-1] == '/'
77
+ autogenerated_redirects["#{source}/"] = destination
78
+ end
79
+ end
80
+
81
+ @redirects.merge!(autogenerated_redirects)
63
82
  end
64
83
  end
65
84
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-redirects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Schurrer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-09 00:00:00.000000000 Z
11
+ date: 2017-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  version: '0'
77
77
  requirements: []
78
78
  rubyforge_project:
79
- rubygems_version: 2.4.8
79
+ rubygems_version: 2.6.12
80
80
  signing_key:
81
81
  specification_version: 4
82
82
  summary: Makes middleman support REDIRECT files in development