jekyll-redirect-from 0.2.0 → 0.3.0

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
  SHA1:
3
- metadata.gz: aec13092a90f8e5d5e8c9b4484b2e78c7dccdd6b
4
- data.tar.gz: 18270a4f1c6667b89bda14064042cce909370686
3
+ metadata.gz: f48702f5b873fef8239a201f6a7dc3d759f605f2
4
+ data.tar.gz: b50321198ad8c462591127c64bb94484f97e7c56
5
5
  SHA512:
6
- metadata.gz: b108df3637aaf1355a1be30b15432816545fe29c905acc41607008c76b4a1fc9b2418c025eba1bd620315917284dcf2e7b88ea8f3cbb491dd60ede933126d4c2
7
- data.tar.gz: e9328c6da23831ac226d13266f0b01fe620c59c8c02c7a8df0dfc06856b0607e9b08599a06bc1cb991eefe37ef94b44f93d5c199de3c0b9ea5901242388e14cc
6
+ metadata.gz: cba68960c4460e460bd89aeaf21493fcaa8d2475953d9ac1650f21b8ecbc1d542c7c572b58937f0e8317e5ca754e6234b8e8736b9e35b9d63f014ca9ef61f615
7
+ data.tar.gz: 2a66c019939be98292d157227ed8d84f23192743fbd8e9bea94a61a7b659dc21d01c5dd071fd791b6919fb13f42cbc0d7562a63f25dce8b4d85d252a7126bed2
data/History.markdown CHANGED
@@ -8,6 +8,16 @@
8
8
 
9
9
  ### Development Fixes
10
10
 
11
+ ## 0.3.0 / 2014-01-15
12
+
13
+ ### Major Enhancements
14
+
15
+ * `redirect_from` items are now proper permalinks rooted in site source (#8)
16
+
17
+ ### Development Fixes
18
+
19
+ * Add forgotten `s` to `gems` in README.md (#7)
20
+
11
21
  ## 0.2.0 / 2014-01-04
12
22
 
13
23
  ### Minor Enhancements
data/README.md CHANGED
@@ -28,7 +28,7 @@ Or install it yourself as:
28
28
  Once it's installed into your evironment, add it to your `_config.yml`:
29
29
 
30
30
  ```yaml
31
- gem:
31
+ gems:
32
32
  - jekyll-redirect-from
33
33
  ```
34
34
 
@@ -49,14 +49,13 @@ redirect_from:
49
49
  This will generate the following pages in the destination:
50
50
 
51
51
  ```text
52
- /post/123456789/index.html
53
- /post/123456789/my-amazing-post/index.html
52
+ /post/123456789
53
+ /post/123456789/my-amazing-post
54
54
  ```
55
55
 
56
56
  These pages will contain an HTTP-REFRESH meta tag which redirect to your URL.
57
57
 
58
- You can also specify just one url like this:
59
-
58
+ You can also specify just **one url** like this:
60
59
 
61
60
  ```text
62
61
  title: My other awesome post
@@ -10,7 +10,8 @@ module JekyllRedirectFrom
10
10
  list.each do |item|
11
11
  if has_alt_urls?(item)
12
12
  alt_urls(item).flatten.each do |alt_url|
13
- redirect_page = RedirectPage.new(site, site.source, File.dirname(alt_url), File.basename(alt_url))
13
+ redirect_page = RedirectPage.new(site, site.source, "", "")
14
+ redirect_page.data['permalink'] = alt_url
14
15
  redirect_page.generate_redirect_content(item.url)
15
16
  site.pages << redirect_page
16
17
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllRedirectFrom
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/script/release ADDED
@@ -0,0 +1,3 @@
1
+ #! /bin/bash
2
+
3
+ bundle exec rake release
@@ -1,7 +1,8 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe JekyllRedirectFrom::RedirectPage do
4
- let(:redirect_page) { described_class.new(@site, @site.source, "posts/12435151125", "larry-had-a-little-lamb") }
4
+ let(:permalink) { "/posts/12435151125/larry-had-a-little-lamb" }
5
+ let(:redirect_page) { new_redirect_page(permalink) }
5
6
  let(:item_url) { File.join(@site.config["url"], "2014", "01", "03", "moving-to-jekyll.md") }
6
7
  let(:page_content) { redirect_page.generate_redirect_content(item_url) }
7
8
 
@@ -27,6 +28,23 @@ describe JekyllRedirectFrom::RedirectPage do
27
28
  end
28
29
  end
29
30
 
31
+ context "when determining the write destination" do
32
+ context "of a redirect page meant to be a dir" do
33
+ let(:permalink_dir) { "/posts/1914798137981389/larry-had-a-little-lamb/" }
34
+ let(:redirect_page) { new_redirect_page(permalink_dir) }
35
+
36
+ it "knows to add the index.html if it's a folder" do
37
+ expect(redirect_page.destination("/")).to eql("/posts/1914798137981389/larry-had-a-little-lamb/index.html")
38
+ end
39
+ end
40
+
41
+ context "of a redirect page meant to be a file" do
42
+ it "knows not to add the index.html if it's not a folder" do
43
+ expect(redirect_page.destination("/")).to eql("/posts/12435151125/larry-had-a-little-lamb")
44
+ end
45
+ end
46
+ end
47
+
30
48
  context "when writing to disk" do
31
49
  let(:redirect_page_full_path) { redirect_page.destination(@site.dest) }
32
50
 
@@ -36,7 +54,7 @@ describe JekyllRedirectFrom::RedirectPage do
36
54
  end
37
55
 
38
56
  it "fetches the path properly" do
39
- expect(redirect_page_full_path).to match /\/spec\/fixtures\/\_site\/posts\/12435151125\/larry-had-a-little-lamb/
57
+ expect(redirect_page_full_path).to match /\/spec\/fixtures\/\_site\/posts\/12435151125\/larry-had-a-little-lamb$/
40
58
  end
41
59
 
42
60
  it "is written to the proper location" do
@@ -47,4 +65,4 @@ describe JekyllRedirectFrom::RedirectPage do
47
65
  expect(File.read(redirect_page_full_path)).to eql(page_content)
48
66
  end
49
67
  end
50
- end
68
+ end
data/spec/spec_helper.rb CHANGED
@@ -45,4 +45,10 @@ RSpec.configure do |config|
45
45
  def destination_file_exists?(file)
46
46
  File.exists?(File.join(@dest.to_s, file))
47
47
  end
48
+
49
+ def new_redirect_page(permalink)
50
+ page = JekyllRedirectFrom::RedirectPage.new(@site, @site.source, "", "")
51
+ page.data['permalink'] = permalink
52
+ page
53
+ end
48
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-redirect-from
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Parker Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-05 00:00:00.000000000 Z
11
+ date: 2014-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -88,6 +88,7 @@ files:
88
88
  - lib/jekyll-redirect-from/version.rb
89
89
  - script/bootstrap
90
90
  - script/cibuild
91
+ - script/release
91
92
  - spec/fixtures/_config.yml
92
93
  - spec/fixtures/_posts/2014-01-03-redirect-me-plz.md
93
94
  - spec/fixtures/multiple_redirect_urls.md